You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nextcloud/dist/3738-3738.js.map

1 line
311 KiB
XML

{"version":3,"file":"3738-3738.js?v=2ec6edc7c87381e8b24c","mappings":";8mHAiHkB,IACK,IACJ,IACC,IACH,IACD,IACC,IACC,IACG,IACL,IACQ,IACX,IACG,IACO,IACH,IACD,IACO,IACG,IACN,IACD,IACI,IACC,IACF,IACF,IACC,IACR,IACG,IACK,wBACZ,IACI,IACC,IACL,IACa,IACR,IACJ,IACM,IACE,IACI,IACX,IACM,IACM,IACd,IACM,IACD,IACC,IACA,IACF,IACD,IACK,IACN,KACI,KACD,GAAAA,EACE,KACR,KACG,KACK,KACN,KACI,KACU,KACF,WACX,KACW,KACb,KACI,KACO,KACF,KACI,KACX,KACC,KACK,KACJ,KACbC,OAAOC,YA8CD,KACE,KACA,YACRD,OAAOC,wCCzBV,SAASC,GAAQC,GACf,MAAoB,mBAANA,EAAmBA,KAAM,IAAAC,OAAMD,EAC/C,CA8NA,SAASE,GAAoBC,GAC3B,MAAMC,EAAwBC,OAAOC,OAAO,MAC5C,OAAQC,GACMH,EAAMG,KACHH,EAAMG,GAAOJ,EAAGI,GAEnC,CChbW,UAAIC,KAAKC,cDyR0B,oBAAtBC,oBAAqCC,WAAsBD,mBAOlEL,OAAOO,UAAUC,SAiJlC,MAAMC,GAAc,aAEdC,IADYb,IAAqBK,GAAQA,EAAIS,QAAQF,GAAa,OAAOG,gBAC5D,UACFf,IAAqBK,GAC7BA,EAAIS,QAAQD,IAAY,CAACG,EAAGC,IAAMA,EAAIA,EAAEC,cAAgB,+CE/ajE,SAASC,GAAEC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGV,GAC9B,IAEIW,EAFA7B,EAAgB,mBAALsB,EAAkBA,EAAEQ,QAAUR,EAG7C,GAFAC,IAAMvB,EAAE+B,OAASR,EAAGvB,EAAEgC,gBAAkBR,EAAGxB,EAAEiC,WAAY,GAAKR,IAAMzB,EAAEkC,YAAa,GAAKP,IAAM3B,EAAEmC,SAAW,UAAYR,GAEnHC,GAAKC,EAAI,SAASO,KACpBA,EAAIA,GACJC,KAAKC,QAAUD,KAAKC,OAAOC,YAC3BF,KAAKG,QAAUH,KAAKG,OAAOF,QAAUD,KAAKG,OAAOF,OAAOC,oBAAyBE,oBAAsB,MAAQL,EAAIK,qBAAsBf,GAAKA,EAAEgB,KAAKL,KAAMD,GAAIA,GAAKA,EAAEO,uBAAyBP,EAAEO,sBAAsBC,IAAIhB,EAC7N,EAAG5B,EAAE6C,aAAehB,GAAKH,IAAMG,EAAIX,EAAI,WACrCQ,EAAEgB,KACAL,MACCrC,EAAEkC,WAAaG,KAAKG,OAASH,MAAMS,MAAMC,SAASC,WAEvD,EAAItB,GAAIG,EACN,GAAI7B,EAAEkC,WAAY,CAChBlC,EAAEiD,cAAgBpB,EAClB,IAAIqB,EAAIlD,EAAE+B,OACV/B,EAAE+B,OAAS,SAASoB,EAAGC,GACrB,OAAOvB,EAAEa,KAAKU,GAAIF,EAAEC,EAAGC,EACzB,CACF,KAAO,CACL,IAAIC,EAAIrD,EAAEsD,aACVtD,EAAEsD,aAAeD,EAAI,GAAGE,OAAOF,EAAGxB,GAAK,CAACA,EAC1C,CACF,MAAO,CACL2B,QAASlC,EACTQ,QAAS9B,EAEb,CAiCA,MAAMyD,GAV2BpC,GAtBtB,CACTqC,KAAM,WACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,iCAAkCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACnK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,0FAA6F,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UAClV,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEY5B,QAqBR6B,GAAK,KACT,IAAI/D,EAAGC,EAAGC,EACV,MAAMC,GAAI,QAAG,QAAS,SAAU,MAAOC,GAAI,SAA8C,OAA3CJ,EAAS,MAALG,OAAY,EAASA,EAAE6D,cAAuBhE,GAASK,GAAI,SAAuD,OAApDJ,EAAS,MAALE,OAAY,EAASA,EAAE8D,uBAAgChE,GAASK,GAAI,SAAsD,OAAnDJ,EAAS,MAALC,OAAY,EAASA,EAAE+D,sBAA+BhE,GACrP,OAAO,gBAAE,KACP,KAAGiE,KAAI,kBAAE,+BAA+BC,MAAMxE,IAC5C,IAAIlB,EAAG6B,EAAGqB,EAAGG,EAAGjB,EAAGe,EAAGC,EAAGuC,EAAGC,EAC5BlE,EAAEmE,MAA+F,OAAtF3C,EAAoD,OAA/CrB,EAAoB,OAAf7B,EAAIkB,EAAE4E,WAAgB,EAAS9F,EAAE8F,WAAgB,EAASjE,EAAEyD,cAAuBpC,EAAQvB,EAAEkE,MAAwG,OAA/F1C,EAAoD,OAA/Cf,EAAoB,OAAfiB,EAAInC,EAAE4E,WAAgB,EAASzC,EAAEyC,WAAgB,EAAS1D,EAAEmD,uBAAgCpC,EAAQvB,EAAEiE,MAAuG,OAA9FD,EAAoD,OAA/CD,EAAoB,OAAfvC,EAAIlC,EAAE4E,WAAgB,EAAS1C,EAAE0C,WAAgB,EAASH,EAAEH,sBAA+BI,CAAM,GAC/V,IACA,CACFG,gBAAiBrE,EACjBsE,mBAAoBrE,EACpBsE,kBAAmBrE,EACpB,EAqEGsE,GAV2B7E,GAtBzB,CACNqC,KAAM,aACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,oCAAqCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACtK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,yBAA4B,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UACjR,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEY5B,QAgCR2C,GAV2B9E,GAtBL,CAC1BqC,KAAM,eACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,sCAAuCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACxK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,yBAA4B,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UACjR,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEY5B,QAAS4C,GAAK,CAC1B,yBAA0B,mCA6BtBC,GAVmBhF,IAlBD,qBAAE,CACxBiF,OAAQ,kBACR1C,MAAO,CACL2C,aAAc,CAAEzC,KAAM0C,UAExBC,MAAMnF,IACG,CAAEoF,OAAO,EAAIC,mBAAoBP,QAGnC,WACP,IAAI7E,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAAI5C,EAAIF,EAAE6C,MAAMwC,YAC1C,OAAOpF,EAAE,KAAM,CAAE+C,YAAa,+BAAgCC,MAAO,CAAE,cAAe,SAAY,CAACjD,EAAEgF,aAAe/E,EAAE,KAAM,CAAE+C,YAAa,gBAAkB,CAAC/C,EAAE,UAAYD,EAAE6D,KAAM5D,EAAE,KAAM,CAAE+C,YAAa,YAAc,CAAC/C,EAAE,MAAO,CAAE+C,YAAa,eAAiB,CAAC/C,EAAE,OAAQ,CAAEqF,MAAOpF,EAAEkF,mBAAmB,4BAA8BnF,EAAE,YAAaD,EAAEuF,GAAG,GAAIvF,EAAEuF,GAAG,IACzW,GAAQ,CAAC,WACP,IAAcvF,EAANc,KAAY+B,MAAMC,GAC1B,OADQhC,KACC+B,MAAMwC,YAAarF,EAAE,KAAM,CAAEgD,YAAa,YAAc,CAAChD,EAAE,SACtE,EAAG,WACD,IAAcA,EAANc,KAAY+B,MAAMC,GAC1B,OADQhC,KACC+B,MAAMwC,YAAarF,EAAE,KAAM,CAAEgD,YAAa,gBAAkB,CAAChD,EAAE,SAC1E,IAIE,EACA,KACA,WACA,KACA,MAEYiC,QAuERuD,GAV2B1F,GAtBtB,CACTqC,KAAM,aACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,mCAAoCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACrK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,kGAAqG,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UAC1V,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEW5B,QAiCPwD,GAV2B3F,IArBT,qBAAE,CADxBqC,KAAM,cAGNE,MAAO,CACLqD,KAAM,KACNhB,kBAAmB,MAErB,KAAAQ,CAAMnF,GACJ,MAAMC,EAAID,EAAGE,GAAI,SAAE4E,IAAK3E,GAAI,eAAE,IA3DlC,SAAYH,EAAGC,EAAI,CAAC,GAClB,IAAIC,EACJD,EAAI,CAAE2C,KAAM,GAAIgD,aAAa,EAAIC,cAAc,KAAO5F,GACtD,IACE,MAAME,GAA2B,OAArBD,EAAIF,EAAE8F,iBAAsB,EAAS5F,EAAE6F,cAAe,kBAAE,gCAAiC,CACnGC,OAAQhG,EAAEgG,SAEZ,IAAI5F,EACJ,IACEA,EAAI,IAAI6F,IAAI9F,EACd,CAAE,MACAC,EAAI,IAAI6F,IAAI9F,EAAG+F,OAAOC,SAASC,OACjC,CACA,OAAOhG,EAAEiG,aAAaC,IAAI,IAAK,GAAGrE,OAAOhC,EAAE2C,OAAQxC,EAAEiG,aAAaC,IAAI,IAAK,GAAGrE,OAAOhC,EAAE2C,OAAQxC,EAAEiG,aAAaC,IAAI,eAAgB,GAAGrE,OAAOhC,EAAE4F,eAAgBzF,EAAEiG,aAAaC,IAAI,KAAuB,IAAlBrG,EAAE2F,YAAqB,IAAM,KAAMxF,EAAEiG,aAAaC,IAAI,IAAK,GAAGrE,OAAOjC,EAAE8F,WAAWS,OAAQnG,CAClR,CAAE,MACA,OAAO,IACT,CACF,CA0CwCoG,CAAGvG,EAAE0F,KAAM,CAAEC,YAAajB,kBAAkBJ,UAAWnE,GAAI,eAAE,IAAMH,EAAE0F,KAAKnD,OAAS,KAAEiE,OAAOpG,GAAI,UAAE,GACtI,OAAO,WAAGF,GAAG,KACX,GAAIE,EAAEkE,OAAQ,EAAIpE,EAAEoE,MAAO,CACzB,MAAMjE,EAAIoG,SAASC,cAAc,OACjCrG,EAAEsG,IAAMzG,EAAEoE,MAAMsC,KAAMvG,EAAEwG,QAAU,IAAMxG,EAAEyG,SAAUzG,EAAE0G,OAAS,KAC7D3G,EAAEkE,OAAQ,EAAIjE,EAAEyG,QAAQ,EACvBL,SAASO,KAAKC,YAAY5G,EAC/B,IACC,CAAE6G,WAAW,IAAO,CAAE/B,OAAO,EAAIC,mBAAoBnF,EAAGoC,MAAOrC,EAAGmH,WAAYjH,EAAGkH,OAAQjH,EAAGkH,eAAgBjH,EAAGF,EAAG,KAAGoH,SAAUpF,GAAIqF,WAAY/B,GACpJ,KAEO,WACP,IAAIxF,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAAI5C,EAAIF,EAAE6C,MAAMwC,YAC1C,OAAOpF,EAAE,MAAO,CAAEqF,MAAOpF,EAAEkF,mBAAmB,0BAA2BoC,MAAOtH,EAAEmH,eAAiB,CAAEI,gBAAiB,OAAOzF,OAAO9B,EAAEiH,WAAY,WAAS,EAAQlE,MAAO,CAAE,aAAc/C,EAAEA,EAAE,mBAAoB,CAAEwH,KAAM1H,EAAE0F,KAAKgC,MAAQxH,EAAEA,EAAE,eAAmB,CAACA,EAAEmH,eAAiBrH,EAAE6D,KAAO,CAAC3D,EAAEkH,OAASnH,EAAEC,EAAEoH,SAAU,CAAErE,MAAO,CAAEN,KAAM,MAAU1C,EAAEC,EAAEqH,WAAY,CAAEtE,MAAO,CAAEN,KAAM,QAAW,EAChY,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEYV,QAiDR0F,GAV2B7H,IAvCW,qBAAE,CAC5CiF,OAAQ,cACR1C,MAAO,CACLuF,mBAAoB,CAAErF,KAAM0C,SAC5B4C,SAAU,CAAEtF,KAAM0C,SAClBD,aAAc,CAAEzC,KAAM0C,SACtB6C,QAAS,CAAEvF,KAAM0C,SACjBS,KAAM,KACNhB,kBAAmB,MAErBtC,MAAO,CAAC,kBAAmB,mBAC3B,KAAA8C,CAAMnF,GAAKgI,KAAM/H,IACf,MAAMC,EAAIF,EAAGG,GAAI,eAAE,KACjB,IAAIyB,EACJ,OAAmC,OAA1BA,EAAI1B,EAAEyF,KAAKG,iBAAsB,EAASlE,EAAEqG,cAAgB/H,EAAEyF,KAAKuC,SAASC,MAAM,EAAGjI,EAAEyF,KAAKyC,WAAalI,EAAEyF,KAAKyC,UAAUC,YAAS,EAAO,IACjJjI,GAAI,eAAE,IAAMF,EAAEyF,KAAKyC,YAAY/H,GAAI,eAAE,IAAMH,EAAEyF,KAAKnD,OAAS,KAAE8F,SAAShI,GAAI,eAAE,IAAMJ,EAAE6H,UAAY7H,EAAE2H,qBAAuBxH,EAAEkE,SAC/H,SAAS3E,IACPK,EAAE,mBAAoBC,EAAE4H,SAC1B,CACA,SAASpJ,IACP2B,EAAEkE,MAAQtE,EAAE,kBAAmBC,EAAEyF,MAAQ/F,GAC3C,CAIA,MAAO,CAAEwF,OAAO,EAAI9C,MAAOpC,EAAG8H,KAAM/H,EAAGgI,YAAa9H,EAAGoI,cAAenI,EAAGoI,YAAanI,EAAGoI,WAAYnI,EAAGoI,eAAgB9I,EAAG+I,YAAajK,EAAGkK,cAH3I,SAAWhH,GACC,UAAVA,EAAEiH,KAAmBnK,GACvB,EAC6JoK,eAAgB,KAAIC,sBAAuB,IAAIC,WAAY,IAAI7I,EAAG,KAAG8I,YAAavD,GACjP,KAEO,WACP,IAAIzF,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAAI5C,EAAIF,EAAE6C,MAAMwC,YAC1C,OAAOpF,EAAE,KAAMD,EAAEiJ,GACf,CAAE3D,MAAO,CAAC,mBAAoB,CAC5B,6BAA8BtF,EAAE6H,WAAa7H,EAAEgF,eAC7C/B,MAAO,CAAEiG,SAAUlJ,EAAEgF,eAAiB9E,EAAEqI,iBAAc,EAAS,EAAG,gBAAiBrI,EAAEsI,WAAaxI,EAAE6H,cAAW,EAAQ,gBAAiB7H,EAAE0F,KAAKuC,SAAU,cAAe,iBAAmB9E,GAAI,CAAEC,MAAOlD,EAAEwI,eAE7M1I,EAAEgF,cAAgB9E,EAAEqI,YAAc,CAAEY,QAASjJ,EAAEyI,eAAkB,CAAC,GAClE,CAAC3I,EAAEgF,aAAe/E,EAAE,KAAM,CAAE+C,YAAa,gBAAkB,CAAC/C,EAAEC,EAAE4I,sBAAuB,CAAE7F,MAAO,CAAEmG,UAAWlJ,EAAEsI,WAAYa,QAASrJ,EAAE6H,SAAU,aAAc3H,EAAEA,EAAE,gCAAiC,CAAEoJ,SAAUpJ,EAAE8H,cAAgB,cAAe,gBAAkB7E,GAAI,CAAEC,MAAO,SAASjD,GACzRA,EAAEoJ,iBACJ,EAAG,iBAAkBrJ,EAAEuI,mBAAsB,GAAKzI,EAAE6D,KAAM5D,EAAE,KAAM,CAAE+C,YAAa,YAAc,CAAC/C,EAAE,MAAO,CAAE+C,YAAa,8BAA+BC,MAAO,CAAE,cAAe,aAAgB,CAAChD,EAAEC,EAAE8I,YAAa,CAAE/F,MAAO,CAAEyC,KAAM1F,EAAE0F,KAAM,sBAAuB1F,EAAE0E,qBAAwBzE,EAAE,MAAO,CAAE+C,YAAa,yBAA0BC,MAAO,CAAEX,MAAOpC,EAAE8H,aAAewB,SAAU,CAAEC,YAAazJ,EAAE4D,GAAG1D,EAAE8H,gBAAmB/H,EAAE,MAAO,CAAE+C,YAAa,8BAA+BwG,SAAU,CAAEC,YAAazJ,EAAE4D,GAAG1D,EAAEoI,mBAAsB,KAAMrI,EAAE,KAAM,CAAE+C,YAAa,YAAc,CAAChD,EAAE2D,GAAG,IAAM3D,EAAE4D,GAAG1D,EAAE2I,eAAe7I,EAAE0F,KAAK/C,MAAQ,IAAM,OAAQ1C,EAAE,KAAM,CAAE+C,YAAa,gBAAkB,CAAC/C,EAAEC,EAAE6I,WAAY,CAAE9F,MAAO,CAAEyG,UAAW1J,EAAE0F,KAAKiE,MAAO,kBAAkB,MAAU,IACpvB,GAAQ,IAIN,EACA,KACA,WACA,KACA,MAEY1H,QAwGR2H,GAV2B9J,IA9FW,qBAAE,CAC5CiF,OAAQ,WACR1C,MAAO,CACLwH,YAAa,KACbC,YAAa,CAAEvH,KAAM0C,SACrB2C,mBAAoB,CAAErF,KAAM0C,SAC5B8E,QAAS,CAAExH,KAAM0C,SACjB+E,MAAO,KACPC,cAAe,KACfC,KAAM,MAER9H,MAAO,CAAC,cAAe,wBACvB,KAAA8C,CAAMnF,GAAKgI,KAAM/H,IACf,MAAMC,EAAIF,EAAGG,GAAI,YAAOiK,cAAehK,GAxSnC,CAACJ,IACP,IAAIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGV,EAAGlB,EAAG6B,EAAGqB,EAAGG,EAAGjB,EACrC,MAAMe,EAAKwI,GAAY,QAANA,EAAc,YAAoB,SAANA,EAAe,aAAe,OAAQvI,GAAI,QAAG,QAAS,cAAe,MAAOuC,GAAI,SAAE,CAC7HiG,OAAsF,OAA7EpK,EAA0C,OAArCD,EAAS,MAAL6B,OAAY,EAASA,EAAEmI,YAAiB,EAAShK,EAAEsK,cAAwBrK,EAAI,WACjGsK,MAAO3I,EAAqF,OAAlFzB,EAA0C,OAArCD,EAAS,MAAL2B,OAAY,EAASA,EAAEmI,YAAiB,EAAS9J,EAAEsK,mBAA6BrK,EAAI,SACrGkE,GAAI,SAAE,CACRgG,OAAuF,OAA9EhK,EAA2C,OAAtCD,EAAS,MAALyB,OAAY,EAASA,EAAE4I,aAAkB,EAASrK,EAAEkK,cAAwBjK,EAAI,WAClGkK,MAAO3I,EAAsF,OAAnFnD,EAA2C,OAAtCkB,EAAS,MAALkC,OAAY,EAASA,EAAE4I,aAAkB,EAAS9K,EAAE6K,mBAA6B/L,EAAI,SACtGiM,GAAI,SAAE,CACRL,OAA0F,OAAjF1I,EAA8C,OAAzCrB,EAAS,MAALuB,OAAY,EAASA,EAAE8I,gBAAqB,EAASrK,EAAEgK,cAAwB3I,EAAI,WACrG4I,MAAO3I,EAAyF,OAAtFf,EAA8C,OAAzCiB,EAAS,MAALD,OAAY,EAASA,EAAE8I,gBAAqB,EAAS7I,EAAE0I,mBAA6B3J,EAAI,UAE7G,gBAAE,KACA,KAAGqD,KAAI,kBAAE,6BAA6BC,MAAMiG,IAC1C,IAAIQ,EAAGC,EAAGjL,EAAGkL,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAG/M,EAAGgN,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAChE1H,EAAEE,MAAQ,CACR+F,OAAiI,OAAxHS,EAAqF,OAAhFlL,EAAoD,OAA/CiL,EAAoB,OAAfD,EAAIR,EAAE7F,WAAgB,EAASqG,EAAErG,WAAgB,EAASsG,EAAEb,YAAiB,EAASpK,EAAE0K,cAAwBQ,EAAI,WAC5IP,MAAO3I,EAAmF,OAAhFqJ,EAAoD,OAA/CD,EAAoB,OAAfD,EAAIX,EAAE7F,WAAgB,EAASwG,EAAExG,WAAgB,EAASyG,EAAEhB,YAAiB,EAASiB,EAAET,oBAC3GE,EAAEpG,MAAQ,CACX+F,OAAqI,OAA5HhM,EAAyF,OAApF+M,EAAoD,OAA/CD,EAAoB,OAAfD,EAAId,EAAE7F,WAAgB,EAAS2G,EAAE3G,WAAgB,EAAS4G,EAAER,gBAAqB,EAASS,EAAEd,cAAwBjM,EAAI,WAChJkM,MAAO3I,EAAuF,OAApF2J,EAAoD,OAA/CD,EAAoB,OAAfD,EAAIjB,EAAE7F,WAAgB,EAAS8G,EAAE9G,WAAgB,EAAS+G,EAAEX,gBAAqB,EAASY,EAAEf,oBAC/GnG,EAAEC,MAAQ,CACX+F,OAAkI,OAAzHsB,EAAsF,OAAjFD,EAAoD,OAA/CD,EAAoB,OAAfD,EAAIpB,EAAE7F,WAAgB,EAASiH,EAAEjH,WAAgB,EAASkH,EAAEhB,aAAkB,EAASiB,EAAEpB,cAAwBqB,EAAI,WAC7IpB,MAAO3I,EAAoF,OAAjFkK,EAAoD,OAA/CD,EAAoB,OAAfD,EAAIxB,EAAE7F,WAAgB,EAASqH,EAAErH,WAAgB,EAASsH,EAAEpB,aAAkB,EAASqB,EAAEtB,mBAC9G,GACD,IAEJ,MAAMuB,GAAI,eAAE,IAA2B,UAArB,GAAGhM,GAAK,SAAuBqE,EAAEE,MAAkB,WAAV,GAAGvE,GAAkBsE,EAAEC,MAAQoG,EAAEpG,QAAQ0H,GAAI,eAAE,IAAMD,EAAEzH,MAAM+F,SAAS4B,GAAI,eAAE,IAAMF,EAAEzH,MAAMiG,QACrJ,MAAO,CACL2B,gBAAiB9H,EACjB+H,oBAAqBzB,EACrB0B,iBAAkB/H,EAClB8F,cAAe4B,EACf1B,OAAQ2B,EACRzB,MAAO0B,EACR,EAqQ8CI,CAAGpM,EAAE4J,aAAczJ,GAAI,eAAE,KACpE,IAAI6L,EACJ,OAAwB,OAAhBA,EAAI/L,EAAEoE,OAAiB2H,EAAI9L,EAAEmE,KAAK,IACxCjE,GAAI,eAAE,IAAyB,aAAnBD,EAAEkE,MAAM+F,OAA0C,SAAlBjK,EAAEkE,MAAMiG,WAAmB,EAASnK,EAAEkE,MAAMiG,WAAQ,IAAS5K,GAAI,eAAE,IAAyB,SAAnBS,EAAEkE,MAAM+F,OAAsC,SAAlBjK,EAAEkE,MAAMiG,WAAmB,EAASnK,EAAEkE,MAAMiG,WAAQ,IAAS9L,GAAI,eAAE,IAAyB,UAAnB2B,EAAEkE,MAAM+F,OAAuC,SAAlBjK,EAAEkE,MAAMiG,WAAmB,EAASnK,EAAEkE,MAAMiG,WAAQ,KAE1S9F,mBAAoB9C,EAAG+C,kBAAmB5C,GAAMgC,KAAMjD,GAAI,eAC7D,KACE,MAAMoL,EAAI,CACRK,UAAW,CAAC1B,EAAGC,EAAGjL,IAAMA,EAAEgL,EAAGC,GAC7B0B,WAAY,CAAC3B,EAAGC,EAAGjL,IAAMA,EAAEiL,EAAGD,GAE9B4B,KAAM,CAAC5B,EAAGC,EAAGjL,IAAM,GAClBwK,EAAI,CACLnC,SAAU,CAAC2C,EAAGC,KACZ,IAAIjL,EAAGkL,EACP,QAA+B,OAArBlL,EAAIgL,EAAE/E,iBAAsB,EAASjG,EAAEoI,cAAgB4C,EAAE3C,UAAUwE,eAAqC,OAArB3B,EAAID,EAAEhF,iBAAsB,EAASiF,EAAE9C,cAAgB6C,EAAE5C,UAAU,UAAK,EAEvKtF,KAAM,CAACiI,EAAGC,KAAOD,EAAEjI,MAAQ,IAAMkI,EAAElI,MAAQ,GAE3CgH,MAAO,CAACiB,EAAGC,KACT,IAAIjL,EAAGkL,EAAGC,EAAGC,EACb,QAA6D,OAAnDF,EAAqB,OAAhBlL,EAAIiL,EAAElB,YAAiB,EAAS/J,EAAE8M,cAAmB,EAAS5B,EAAE3J,KAAKvB,KAAO,KAA2D,OAAnDoL,EAAqB,OAAhBD,EAAIH,EAAEjB,YAAiB,EAASoB,EAAE2B,cAAmB,EAAS1B,EAAE7J,KAAK4J,KAAO,EAAE,GAG1L,MAAO,IAAI9K,EAAE+J,OAAO2C,MAClB,CAAC/B,EAAGC,KAEDA,EAAEtI,OAAS,KAAE8F,OAAS,EAAI,IAAMuC,EAAErI,OAAS,KAAE8F,OAAS,EAAI,KAAO1G,GAAKkJ,EAAEhF,WAAW+G,SAAW,EAAI,IAAMhC,EAAE/E,WAAW+G,SAAW,EAAI,GAAK,IAAMX,EAAE7L,EAAEkE,MAAMiG,OAAOK,EAAGC,EAAGT,EAAEhK,EAAEkE,MAAM+F,UAEpL,IAEFzI,GAAI,eAAE,IAAM3B,EAAE+J,MAAM6C,QAAQZ,GAAMhM,EAAE2H,oBAAsBqE,EAAE1J,OAAS,KAAE8F,WAAUxG,GAAI,eAAE,KAAO5B,EAAE8J,SAAW9J,EAAEgK,cAAc7B,OAAS,GAAKnI,EAAEgK,cAAc7B,QAAUxG,EAAE0C,MAAM8D,SAUxK2D,GAAI,SAAE,GAAIC,GAAI,WACpB,CACE,MAAMC,EAAI,KAAM,eAAG,KACjB,IAAI7B,EAAGQ,EAAGC,EAAGjL,EAAGkL,EAChB,MAAMC,GAA+D,OAAzDH,EAAqB,OAAhBR,EAAI4B,EAAE1H,YAAiB,EAAS8F,EAAE0C,oBAAyB,EAASlC,EAAEmC,WAAa,GACpG,IAAI/B,GAA+D,OAAzDpL,EAAqB,OAAhBiL,EAAImB,EAAE1H,YAAiB,EAASuG,EAAEiC,oBAAyB,EAASlN,EAAEoN,eAAiB,IACtG,IAAK,IAAI/B,EAAI,EAAGA,EAAIF,EAAE3C,OAAQ6C,IACX,OAAhBH,EAAIkB,EAAE1H,QAAkBwG,EAAEmC,WAAWlC,EAAEE,MAAQD,GAAKD,EAAEE,GAAG+B,cAC5DjB,EAAEzH,MAAQ4I,KAAKC,OAAOnC,EAAI,IAAM,GAAG,KAErC,gBAAE,KACA/E,OAAOmH,iBAAiB,SAAUnB,GAAIA,GAAG,KACvC,kBAAG,KACLhG,OAAOoH,oBAAoB,SAAUpB,EAAE,GAE3C,CACA,MAAO,CAAE9G,OAAO,EAAI9C,MAAOpC,EAAG8H,KAAM/H,EAAGsN,oBAAqBpN,EAAGqN,gBAAiBpN,EAAGqN,cAAepN,EAAGqN,WAAYpN,EAAGqN,WAAY/N,EAAGgO,eAAgBlP,EAAGmP,cAtDuK3B,IAC3T7L,EAAEkE,MAAM+F,SAAW4B,EAAsB,cAAlB7L,EAAEkE,MAAMiG,MAAwBrK,EAAEoE,MAAQ,CAAE+F,OAAQjK,EAAEkE,MAAM+F,OAAQE,MAAO,cAAiBrK,EAAEoE,MAAQ,CAAE+F,OAAQjK,EAAEkE,MAAM+F,OAAQE,MAAO,aAAgBrK,EAAEoE,MAAQ,CAAE+F,OAAQ4B,EAAG1B,MAAO,YAAa,EAqDnD9F,mBAAoB9C,EAAG+C,kBAAmB5C,EAAG+L,YAAahN,EAAGiN,gBAAiBlM,EAAGmM,YAAalM,EAAGmM,YAzBzQ,WACE/N,EAAEgK,cAAc7B,OAASxG,EAAE0C,MAAM8D,OAASpI,EAAE,uBAAwB4B,EAAE0C,OAAStE,EAAE,uBAAwB,GAC3G,EAuByRiO,eAtBzR,SAAWhC,GACThM,EAAEgK,cAAciE,SAASjC,GAAKjM,EAAE,uBAAwBC,EAAEgK,cAAc4C,QAAQzC,GAAMA,EAAEF,OAAS+B,EAAE/B,QAASjK,EAAE6J,YAAc9J,EAAE,uBAAwB,IAAIC,EAAEgK,cAAegC,IAAMjM,EAAE,uBAAwB,CAACiM,GAC9M,EAoB4SkC,kBAnB5S,SAAWlC,GACTjM,EAAE,eAAe,WAAGC,EAAEiK,KAAM+B,EAAEhE,UAChC,EAiBkUmG,eAAgBrC,EAAGsC,cAAerC,EAAGsC,SAAU,IAAIxF,sBAAuB,IAAI5I,EAAG,KAAGqO,kBAAmB5J,GAAI6J,mBAAoB5J,GAAI6J,gBAAiB3J,GAAI4J,YAAa/G,GACze,KAEO,WACP,IAAI3H,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAAI5C,EAAIF,EAAE6C,MAAMwC,YAC1C,OAAOpF,EAAE,MAAO,CAAE0O,IAAK,gBAAiB3L,YAAa,sBAAwB,CAAC/C,EAAE,QAAS,CAACA,EAAE,QAAS,CAACA,EAAE,KAAM,CAACD,EAAE8J,YAAc7J,EAAE,KAAM,CAAE+C,YAAa,gBAAkB,CAAC/C,EAAE,OAAQ,CAAE+C,YAAa,mBAAqB,CAAChD,EAAE2D,GAAG,IAAM3D,EAAE4D,GAAG1D,EAAEA,EAAE,iBAAmB,OAAQF,EAAE8J,YAAc7J,EAAEC,EAAE4I,sBAAuB,CAAE7F,MAAO,CAAE,aAAc/C,EAAEA,EAAE,sBAAuBmJ,QAASnJ,EAAE6N,YAAa,cAAe,uBAAyB5K,GAAI,CAAE,iBAAkBjD,EAAE8N,eAAmBhO,EAAE6D,MAAO,GAAK7D,EAAE6D,KAAM5D,EAAE,KAAM,CAAE+C,YAAa,WAAYC,MAAO,CAAE,YAAa/C,EAAEuN,aAAgB,CAACxN,EAAE,MAAO,CAAE+C,YAAa,kBAAoB,CAAC/C,EAAE,OAAQ,CAAE+C,YAAa,gCAAkC/C,EAAEC,EAAEoO,SAAU,CAAErL,MAAO,CAAE2L,MAAM,EAAIrM,KAAM,WAAY,YAAa,yBAA2BY,GAAI,CAAEC,MAAO,SAASjD,GAC9wB,OAAOD,EAAE0N,cAAc,WACzB,GAAKiB,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,OAAQhK,GAAI,WACzC,MAAO,CAAkB,cAAjBsB,EAAEuN,WAA6BxN,EAAEC,EAAEqO,kBAAmB,CAAEtL,MAAO,CAAEN,KAAM,MAA2B,eAAjBzC,EAAEuN,WAA8BxN,EAAEC,EAAEsO,mBAAoB,CAAEvL,MAAO,CAAEN,KAAM,MAAU1C,EAAE,OAAQ,CAAE8O,YAAa,CAAEvL,MAAO,UAChN,EAAGwL,OAAO,MAAU,CAAChP,EAAE2D,GAAG,IAAM3D,EAAE4D,GAAG1D,EAAEA,EAAE,SAAW,QAAS,KAAMD,EAAE,KAAM,CAAE+C,YAAa,WAAYC,MAAO,CAAE,YAAa/C,EAAEwN,aAAgB,CAACzN,EAAEC,EAAEoO,SAAU,CAAErL,MAAO,CAAE2L,MAAM,EAAIrM,KAAM,YAAcY,GAAI,CAAEC,MAAO,SAASjD,GAC1N,OAAOD,EAAE0N,cAAc,OACzB,GAAKiB,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,OAAQhK,GAAI,WACzC,MAAO,CAAkB,cAAjBsB,EAAEwN,WAA6BzN,EAAEC,EAAEqO,kBAAmB,CAAEtL,MAAO,CAAEN,KAAM,MAA2B,eAAjBzC,EAAEwN,WAA8BzN,EAAEC,EAAEsO,mBAAoB,CAAEvL,MAAO,CAAEN,KAAM,MAAU1C,EAAE,OAAQ,CAAE8O,YAAa,CAAEvL,MAAO,UAChN,EAAGwL,OAAO,MAAU,CAAChP,EAAE2D,GAAG,IAAM3D,EAAE4D,GAAG1D,EAAEA,EAAE,SAAW,QAAS,GAAID,EAAE,KAAM,CAAE+C,YAAa,eAAgBC,MAAO,CAAE,YAAa/C,EAAEyN,iBAAoB,CAAC1N,EAAEC,EAAEoO,SAAU,CAAErL,MAAO,CAAE2L,MAAM,EAAIrM,KAAM,YAAcY,GAAI,CAAEC,MAAO,SAASjD,GAChO,OAAOD,EAAE0N,cAAc,QACzB,GAAKiB,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,OAAQhK,GAAI,WACzC,MAAO,CAAsB,cAArBsB,EAAEyN,eAAiC1N,EAAEC,EAAEqO,kBAAmB,CAAEtL,MAAO,CAAEN,KAAM,MAA+B,eAArBzC,EAAEyN,eAAkC1N,EAAEC,EAAEsO,mBAAoB,CAAEvL,MAAO,CAAEN,KAAM,MAAU1C,EAAE,OAAQ,CAAE8O,YAAa,CAAEvL,MAAO,UACxN,EAAGwL,OAAO,MAAU,CAAChP,EAAE2D,GAAG,IAAM3D,EAAE4D,GAAG1D,EAAEA,EAAE,aAAe,QAAS,OAAQD,EAAE,QAAS,CAACD,EAAE+J,QAAU/J,EAAEiP,GAAG/O,EAAEkO,gBAAgB,SAASjO,GAC/H,OAAOF,EAAEC,EAAEuO,gBAAiB,CAAE7F,IAAKzI,EAAG8C,MAAO,CAAE,gBAAiBjD,EAAE8J,cACpE,IAAK9J,EAAEiP,GAAG/O,EAAE2N,aAAa,SAAS1N,GAChC,OAAOF,EAAEC,EAAEwO,YAAa,CAAE9F,IAAKzI,EAAE4F,QAAU5F,EAAE+J,KAAMjH,MAAO,CAAE,uBAAwBjD,EAAE4H,mBAAoB,gBAAiB5H,EAAE8J,YAAa,WAAY9J,EAAE8J,aAA0C,IAA3B9J,EAAEiK,cAAc7B,QAAgBpI,EAAEiK,cAAciE,SAAS/N,GAAI0H,SAAU7H,EAAEiK,cAAciE,SAAS/N,GAAIuF,KAAMvF,EAAG,sBAAuBD,EAAEwE,mBAAqBvB,GAAI,CAAE,kBAAmB,SAAS/C,GAClW,OAAOF,EAAE+N,eAAe9N,EAC1B,EAAG,kBAAmBD,EAAEiO,oBAC1B,KAAK,MACP,GAAQ,IAIN,EACA,KACA,WACA,KACA,MAEYlM,QAgCRiN,GAV2BpP,GAtBL,CAC1BqC,KAAM,WACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,iCAAkCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACnK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,gDAAmD,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UACxS,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEY5B,QAgCRkN,GAV2BrP,GAtBL,CAC1BqC,KAAM,WACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,iCAAkCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACnK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,8CAAiD,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UACtS,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEY5B,QA4DRmN,GAV2BtP,IAlDW,qBAAE,CAC5CiF,OAAQ,wBACR1C,MAAO,CACL6H,KAAM,KACNmF,SAAU,CAAE9M,KAAM0C,UAEpB7C,MAAO,CAAC,cAAe,eACvB,KAAA8C,CAAMnF,GAAKgI,KAAM/H,IACf,MAAMC,EAAIF,EAAGG,GAAI,SAAE,IAAKC,GAAI,WAC5B,SAASC,IACP,IAAI3B,EAAG6B,EAAGqB,EAAGG,EACb,MAAMjB,EAAIX,EAAEoE,MAAMgL,OAAQ1N,EAAoD,OAA/CtB,EAAqB,OAAhB7B,EAAI0B,EAAEmE,YAAiB,EAAS7F,EAAE8Q,UAAe,EAASjP,EAAEkP,cAAc,SAC9G,IAAI3N,EAAI,GACR,OAAoB,IAAbhB,EAAEuH,OAAevG,GAAI,QAAE,gCAAkChB,EAAEqN,SAAS,KAAOrM,GAAI,QAAE,4CAA8C,CAAC,KAAM,KAAKqM,SAASrN,GAAKgB,GAAI,QAAE,sCAAuC,CAAEM,KAAMtB,IAAiC,OAAzBc,EAAIsE,OAAOwJ,GAAGC,SAAmB/N,EAAEgO,uBAAyB9O,EAAE+O,MAAgC,OAAzB9N,EAAImE,OAAOwJ,GAAGC,aAAkB,EAAS5N,EAAE6N,yBAA2B9N,GAAI,QAAE,yCAA0C,CAAEM,KAAMtB,KAAOe,GAAKA,EAAEiO,kBAAkBhO,GAAU,KAANA,CACtc,CACA,MAGGlC,GAAI,eACL,IAAMM,EAAEiK,KAAK4F,MAAM,KAAKjD,QAAQpO,GAAY,KAANA,IAAUsR,KAAI,CAACtR,EAAG6B,EAAGqB,KAAM,CAC/DQ,KAAM1D,EACNyL,KAAM,IAAMvI,EAAEuG,MAAM,EAAG5H,EAAI,GAAG0P,KAAK,WAGvC,MAAO,CAAE7K,OAAO,EAAI9C,MAAOpC,EAAG8H,KAAM/H,EAAGiQ,YAAa/P,EAAGgQ,UAAW/P,EAAGgQ,cAAe/P,EAAGgQ,SAT7E,WACR,MAAM3R,EAAIyB,EAAEoE,MAAMgL,OAClBlP,MAAQJ,EAAE,cAAevB,GAAIyB,EAAEoE,MAAQ,GACzC,EAMoG+L,aAAc1Q,EAAG4H,WAAY/B,GAAG8K,SAAUpB,GAAIqB,SAAUpB,GAAIqB,UAAW,IAAIC,cAAe,IAAIC,cAAe,IAAIC,aAAc,IAAIzQ,EAAG,KAC5O,KAEO,WACP,IAAIF,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAAI5C,EAAIF,EAAE6C,MAAMwC,YAC1C,OAAOpF,EAAEC,EAAEwQ,cAAe,CAAE1N,YAAa,2BAA4B6L,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,UAAWhK,GAAI,WAC5G,MAAO,CAACqB,EAAEC,EAAEyQ,aAAc,CAAE1N,MAAO,CAAEd,KAAMjC,EAAEA,EAAE,QAASoC,MAAOpC,EAAEA,EAAE,SAAWiD,GAAI,CAAEC,MAAO,SAASjD,GAClG,OAAOD,EAAE6H,KAAK,cAAe,IAC/B,GAAK8G,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,OAAQhK,GAAI,WACzC,MAAO,CAACqB,EAAEC,EAAEoQ,SAAU,CAAErN,MAAO,CAAEN,KAAM,MACzC,EAAGqM,OAAO,OAAWhP,EAAEiP,GAAG/O,EAAEmQ,cAAc,SAASlQ,GACjD,OAAOF,EAAEC,EAAEyQ,aAAc,CAAE/H,IAAKzI,EAAE+J,KAAMjH,MAAO,CAAEd,KAAMhC,EAAEgC,KAAMG,MAAOnC,EAAE+J,MAAQ/G,GAAI,CAAEC,MAAO,SAAShD,GACpG,OAAOF,EAAE6H,KAAK,cAAe5H,EAAE+J,KACjC,IACF,IACF,EAAG8E,OAAO,GAAMhP,EAAEqP,SAAW,CAAEzG,IAAK,UAAWhK,GAAI,WACjD,MAAO,CAACqB,EAAEC,EAAEsQ,UAAW,CAAEvN,MAAO,CAAE,aAAc/C,EAAEA,EAAE,oBAAqB,cAAc,EAAI,cAAc,EAAI,YAAaA,EAAEA,EAAE,OAAQqC,KAAM,aAAeY,GAAI,CAAEyN,MAAO,SAASzQ,GAC/KD,EAAE+P,YAAc,EAClB,GAAKpB,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,OAAQhK,GAAI,WACzC,MAAO,CAACqB,EAAEC,EAAEqQ,SAAU,CAAEtN,MAAO,CAAEN,KAAM,MACzC,EAAGqM,OAAO,IAAO,MAAM,EAAI,aAAe,CAAC/O,EAAEC,EAAEuQ,cAAe,CAAE9B,IAAK,YAAa1L,MAAO,CAAEqB,MAAOpE,EAAE+P,YAAaY,MAAO3Q,EAAEA,EAAE,cAAe4Q,YAAa5Q,EAAEA,EAAE,oBAAsBiD,GAAI,CAAE,eAAgB,SAAShD,GAC/MD,EAAE+P,YAAc9P,CAClB,EAAG4Q,OAAQ7Q,EAAEkQ,SAAUY,MAAO9Q,EAAEiQ,eAAiBtB,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,OAAQhK,GAAI,WACrF,MAAO,CAACqB,EAAEC,EAAEqH,WAAY,CAAEtE,MAAO,CAAEN,KAAM,MAC3C,EAAGqM,OAAO,IAAO,MAAM,EAAI,eAAiB,GAC9C,EAAGA,OAAO,GAAO,MAAO,MAAM,IAChC,GAAQ,IAIN,EACA,KACA,WACA,KACA,MAEY/M,QAgCRgP,GAV2BnR,GAtBL,CAC1BqC,KAAM,YACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,kCAAmCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACpK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,+HAAkI,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UACvX,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEY5B,QAgCRiP,GAV2BpR,GAtBL,CAC1BqC,KAAM,YACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,kCAAmCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACpK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,kHAAqH,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UAC1W,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEY5B,QAgCRkP,GAV2BrR,GAtBL,CAC1BqC,KAAM,cACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,oCAAqCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACtK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,sQAAyQ,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UAC9f,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEY5B,QAgCRmP,GAV2BtR,GAtBL,CAC1BqC,KAAM,WACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,OAIN,WACP,IAAI1C,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAC1B,OAAO7C,EAAE,OAAQD,EAAE+C,GAAG,CAAEC,YAAa,iCAAkCC,MAAO,CAAE,eAAgBjD,EAAEsC,MAAO,aAActC,EAAEsC,MAAOY,KAAM,OAASC,GAAI,CAAEC,MAAO,SAASlD,GACnK,OAAOF,EAAEqD,MAAM,QAASnD,EAC1B,IAAO,OAAQF,EAAEsD,QAAQ,GAAK,CAACrD,EAAE,MAAO,CAAE+C,YAAa,4BAA6BC,MAAO,CAAEM,KAAMvD,EAAEyC,UAAWe,MAAOxD,EAAE2C,KAAMc,OAAQzD,EAAE2C,KAAMe,QAAS,cAAiB,CAACzD,EAAE,OAAQ,CAAEgD,MAAO,CAAEpB,EAAG,yGAA4G,CAAC7B,EAAEsC,MAAQrC,EAAE,QAAS,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG5D,EAAEsC,UAAYtC,EAAE6D,UACjW,GAAQ,IAIN,EACA,KACA,KACA,KACA,MAEY5B,QAgDRoP,GAV2BvR,IAtCW,qBAAE,CAC5CiF,OAAQ,uBACR1C,MAAO,CACLwH,YAAa,KACbyH,aAAc,KACdC,YAAa,CAAEhP,KAAM0C,UAEvB7C,MAAO,CAAC,qBAAsB,uBAC9B,KAAA8C,CAAMnF,GAAKgI,KAAM/H,IACf,MAAMC,EAAIF,EAAGG,EAAI,CAAC,CAChBsR,GAAI,QACJX,OAAO,QAAE,aACTY,KAAMjM,IACL,CACDgM,GAAI,SACJX,OAAO,QAAE,UACTY,KAAMR,IACL,CACDO,GAAI,YACJX,OAAO,QAAE,aACTY,KAAML,KACJjR,GAAI,eAAE,IAAMD,EAAE2M,QAAQxM,GAAMA,EAAEmR,KAAOvR,EAAE4J,cAAa,KACxD,MAAO,CAAE1E,OAAO,EAAIuM,SAAUxR,EAAGmC,MAAOpC,EAAG8H,KAAM/H,EAAG2R,kBAAmBxR,EAAGyR,kBAAoBvR,GAAML,EAAE,sBAAuBK,GAAIwR,UAAWX,GAAIY,YAAaX,GAAI7C,SAAU,IAAIyD,SAAU,KAAIC,YAAa,KAAI9R,EAAG,KAAG+R,SAAU,YAChO,KAEO,WACP,IAAIjS,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAAI5C,EAAIF,EAAE6C,MAAMwC,YAC1C,OAAOpF,EAAEC,EAAE+R,SAAU,CAAChS,EAAEC,EAAE8R,YAAa,CAAEhP,YAAa,4BAA6BC,MAAO,CAAEqB,MAAOtE,EAAEsR,aAAcT,MAAO3Q,EAAEA,EAAE,oBAAqB,yBAA0BF,EAAEsR,cAAgBnO,GAAI,CAAE,eAAgBjD,EAAE0R,kBAAmB,wBAAyB,SAASzR,GAC1Q,OAAOD,EAAE0R,kBAAkB,GAC7B,GAAK/C,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,uBAAwBhK,GAAI,WACzD,MAAO,CAACqB,EAAEC,EAAE2R,UAAW,CAAE5O,MAAO,CAAEN,KAAM,MAC1C,EAAGqM,OAAO,MAAU,CAAC/O,EAAEC,EAAE4R,YAAa,CAAE7O,MAAO,CAAEN,KAAM,OAAU,GAAI3C,EAAEuR,YAActR,EAAEC,EAAE6R,SAAU,CAAE9O,MAAO,CAAE,aAAc/C,EAAEA,EAAE,yBAA0BgS,WAAW,EAAIC,YAAY,EAAI5R,QAASL,EAAEwR,SAAUpN,MAAOpE,EAAEyR,mBAAqBxO,GAAI,CAAE6N,MAAQ7Q,GAAMD,EAAE6H,KAAK,qBAAsB5H,EAAEqR,OAAWvR,EAAE,KAAM,CAAE+C,YAAa,oBAAqBC,MAAO,CAAEC,KAAM,UAAW,aAAchD,EAAEA,EAAE,yBAA4BF,EAAEiP,GAAG/O,EAAEwR,UAAU,SAASvR,GACtb,OAAOF,EAAE,KAAM,CAAE2I,IAAKzI,EAAEqR,IAAM,CAACvR,EAAEC,EAAEoO,SAAU,CAAErL,MAAO,CAAE,gBAAiBjD,EAAE6J,cAAgB1J,EAAEqR,GAAIjP,KAAMvC,EAAE6J,cAAgB1J,EAAEqR,GAAK,UAAY,WAAY5C,MAAM,EAAI1L,KAAM,OAASC,GAAI,CAAEC,MAAO,SAAShD,GACrM,OAAOJ,EAAEqD,MAAM,qBAAsBlD,EAAEqR,GACzC,GAAK3C,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,OAAQhK,GAAI,WACzC,MAAO,CAACqB,EAAEE,EAAEsR,KAAM,CAAEW,IAAK,YAAanP,MAAO,CAAEN,KAAM,MACvD,EAAGqM,OAAO,IAAO,MAAM,IAAO,CAAChP,EAAE2D,GAAG,IAAM3D,EAAE4D,GAAGzD,EAAE0Q,OAAS,QAAS,EACrE,IAAI,IAAK,EACX,GAAQ,IAIN,EACA,KACA,WACA,KACA,MAEY5O,QAyLRoQ,GAV2BvS,IAnFT,qBAAE,CADxBqC,KAAM,aAGNE,MAAO,CACLiQ,QAAS,KACTnQ,KAAM,KACNyF,mBAAoB,CAAErF,KAAM0C,QAASvC,SAAS,GAC9C6P,UAAW,CAAE7P,QAAS,QACtB8P,SAAU,CAAE9P,aAAS,GACrB+P,eAAgB,CAAE/P,QAAS,IAAM,IACjCoH,YAAa,CAAEvH,KAAM0C,QAASvC,SAAS,GACvCwH,KAAM,CAAExH,QAAS,MAEnBN,MAAO,CAAC,SACR,KAAA8C,CAAMnF,GAAKgI,KAAM/H,IACf,MAAMC,EAAIF,EAAGG,GAAI,eAAE,KAAM,CACvBqS,UAAWtS,EAAEsS,UACbpQ,KAAMlC,EAAEkC,KACRmQ,QAASnS,EAAEmE,MACX3B,KAAM,QACN+P,eAAgB,CAAC,wBACjBC,cAAe,CAAC,eAChBC,kBAAmB,CAAC,+BACjBzS,GAAI,eAAE,KAA2B,mBAAbF,EAAEqS,QAAwBrS,EAAEqS,QAAQ3S,EAAE2E,MAAO3C,EAAE2C,MAAOlE,EAAEkE,OAASrE,EAAEqS,SAASvC,KAAKnQ,IAAM,IAC3GA,EACHiT,SAAUC,UACR,MAAMhI,EAAuB,IAAnBnL,EAAE2E,MAAM8D,QAAgBnI,EAAE2H,mBAAqB,OAAOvD,EAAE1C,EAAE2C,QAAU3E,EAAE2E,MAChF1E,EAAEiT,SAAS/H,GAAI9K,EAAE,QAASL,EAAE2E,MAAM,QAEhClE,GAAI,SAAE,SAAUC,GAAI,eAAE,IAAkB,cAAZD,EAAEkE,OAAwB,QAAE,aAA2B,WAAZlE,EAAEkE,OAAqB,QAAE,UAAY,KAAK3E,GAAI,SAAE,IAAKlB,GAAI,UAAa,MAAVwH,YAAiB,EAASA,OAAO8M,eAAeC,QAAQ,4BAA8B,KAAM1S,GAAI,WAAKqB,GAAI,cAAE,CAElPuC,IAAK,IAAkB,UAAZ9D,EAAEkE,MAAoBhE,EAAEgE,OAASrE,EAAEiK,MAAQzL,EAAE6F,MAAQ,IAMhE+B,IAAMwE,SACO,IAAX5K,EAAEiK,MAAmBjE,OAAO8M,eAAeE,QAAQ,yBAA0BpI,GAAIvK,EAAEgE,MAAQuG,EAAGlL,EAAE2E,MAAQ,EAAE,IAE1GxC,GAAI,SAAE,KAAOoR,oBAAqBrS,GAtD/B,SAASd,GAClB,MAAMC,GAAI,eAAE,IAAMD,EAAEuE,MAAMyL,KAAK7P,GAAMA,EAAE4P,MAAM,SAC7C,MAAO,CACLoD,oBAAsBhT,IACpB,MAAMC,EAAID,EAAE4P,MAAM,KAClB,OAAO9P,EAAEsE,MAAM6O,MACb,EAAE/S,EAAGC,OAEFF,EAAE,KAAOC,GAAW,MAANA,GAAeD,EAAE,KAAOE,GAAW,MAANA,IAE/C,EAGP,CAyCgD+S,EAAG,WAAGnT,EAAG,oBAAsB+J,MAAOpI,EAAGyR,UAAWxR,EAAGyR,UAAWlP,EAAGmP,QAASlP,EAAGmP,OAAQ9I,GA7G9H,SAAS3K,EAAGC,GACrB,MAAMC,GAAI,UAAMC,GAAI,SAAE,IAAKC,GAAI,UAAE,GAOjC2S,eAAezS,IACb,GAAIF,EAAEmE,OAAQ,EAAgB,cAAZvE,EAAEuE,MAClBpE,EAAEoE,YAAc,QAAGrE,EAAGD,EAAEsE,YACrB,GAAgB,WAAZvE,EAAEuE,MAAoB,CAC7B,MAAM3E,EAAIuN,KAAKuG,MAAMC,KAAKC,MAAQ,KAAO,SAAWpP,KAAM9F,SAAYwB,EAAE2T,OAAO,IAAK,CAClFC,SAAS,EACTtP,MAAM,QAAG5E,KAEXO,EAAEoE,MAAQ7F,EAAEqV,QAAQ/D,KAAKzP,IAAM,QAAEA,IACnC,KAAO,CACL,MAAMX,QAAUM,EAAE8T,qBAAqB,GAAG/R,OAAO,MAAGA,OAAOhC,EAAEsE,OAAQ,CACnEuP,SAAS,EACTtP,MAAM,YAERrE,EAAEoE,MAAQ3E,EAAE4E,KAAKwL,KAAKtR,IAAM,QAAEA,IAChC,CACA0B,EAAEmE,OAAQ,CACZ,CACA,OAAO,WAAG,CAACvE,EAAGC,IAAI,IAAMK,OAAM,gBAAE,IAAMA,MAAM,CAC1CgT,UAAWlT,EACX6J,MAAO9J,EACPoT,UAAWjT,EACXkT,QA5BFT,eAAiBnT,EAAGlB,EAAI,MACtB,MAAM6B,QAAUL,EAAE+T,KAAK,GAAGhS,OAAOvD,GAAGuD,OAAOrC,GAAI,CAC7CkU,SAAS,IAEX,OAAO,QAAEvT,EAAEiE,KACb,EAwBEiP,OAAQvT,EAEZ,CA4E+IgU,CAAG7T,EAAGuB,IACjJ,gBAAE,IAAMyC,MACR,MAAQI,gBAAiBuH,GAAMjI,KAAMkI,GAAI,eAAE,KACzC,IAAInB,EAAIjJ,EAAE0C,MACV,OAAOyH,EAAEzH,QAAUuG,EAAIA,EAAEgC,QAAQjN,IAAOA,EAAEqI,SAASiM,WAAW,QAAQjU,EAAEwS,eAAerK,OAAS,IAAMyC,EAAIA,EAAEgC,QAAQjN,GAAiB,WAAXA,EAAE2C,MAAqB3C,EAAE8H,MAAQ7G,EAAEjB,EAAE8H,SAAS5F,EAAEwC,QAAUuG,EAAIA,EAAEgC,QAAQjN,GAAMA,EAAEqI,SAASvI,cAAcwO,SAASpM,EAAEwC,MAAM5E,kBAAkBO,EAAEuS,WAAa3H,EAAIA,EAAEgC,QAAQjN,GAAMK,EAAEuS,SAAS5S,MAAMiL,CAAC,IACvToB,GAAI,eAAE,IAAkB,UAAZ7L,EAAEkE,OAAoB,QAAE,kDAAgE,WAAZlE,EAAEkE,OAAqB,QAAE,+DAAgE,QAAE,+DACvL,MAAO,CAAEa,OAAO,EAAI9C,MAAOpC,EAAG8H,KAAM/H,EAAGmU,YAAajU,EAAGkU,cAAejU,EAAG0J,YAAazJ,EAAGiU,aAAchU,EAAG4J,cAAetK,EAAG2U,UAAW7V,EAAG8V,cAAejU,EAAGkU,YAAa7S,EAAG2P,aAAcxP,EAAGoR,oBAAqBrS,EAAGmJ,MAAOpI,EAAGyR,UAAWxR,EAAGyR,UAAWlP,EAAGmP,QAASlP,EAAGmP,OAAQ9I,EAAGlG,gBAAiBuH,EAAG0I,cAAezI,EAAG0I,mBAAoBzI,EAAG0I,eAAgB7B,MAAOjI,IACpW,UACQH,EAAEkK,iBAAgB,WAAG,KAAGjT,EAAE2C,MAAOuG,UAAWzG,KAAK,SAAG,qBAAsBxC,EAAE0C,MAAMuI,QAAQjN,GAAMA,EAAEqI,WAAa4C,IAAG,GAC1H,CAAE,MAAOjL,GACP,GAAQV,KAAK,8BAA+B,CAAEiD,KAAM0I,EAAGgK,MAAOjV,KAAM,SAAG,QAAE,mCAC3E,GACCkV,YAAcjK,IACfA,GAAK7K,EAAE,QAAQ,EACdsH,SAAUpF,GAAI6S,SAAUnL,GAAIoL,sBAAuB5F,GAAI6F,qBAAsB5D,GAAI6D,SAAU,IAAIC,eAAgB,IAAIjV,EAAG,KAC3H,KAEO,WACP,IAAIF,EAAIc,KAAMb,EAAID,EAAE6C,MAAMC,GAAI5C,EAAIF,EAAE6C,MAAMwC,YAC1C,OAAOpF,EAAEC,EAAEgV,SAAUlV,EAAE+C,GAAG,CAAEI,GAAI,CAAE,cAAejD,EAAE4U,aAAejG,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,aAAchK,GAAI,UAAW2S,YAAapR,IACpI,MAAO,CAACF,EAAEC,EAAE+U,qBAAsB,CAAEhS,MAAO,CAAE,eAAgB9C,EAAG,eAAgBD,EAAE2J,YAAa,gBAAiB3J,EAAEoR,cAAgBnO,GAAI,CAAE,qBAAsB,SAAS/C,GACrKF,EAAE2J,YAAczJ,CAClB,EAAG,sBAAuB,SAASA,GACjCF,EAAE2J,YAAczJ,CAClB,EAAG,sBAAuB,SAASA,GACjCF,EAAEoR,aAAelR,CACnB,EAAG,uBAAwB,SAASA,GAClCF,EAAEoR,aAAelR,CACnB,KACF,MAAS,WAAYF,EAAEiU,aAAa,GAAK,CAAClU,EAAE,MAAO,CAAE+C,YAAa,qBAAuB,CAAmB,UAAlB9C,EAAE2J,YAA0B5J,EAAEC,EAAE8U,sBAAuB,CAAE/R,MAAO,CAAEiH,KAAMhK,EAAEsU,YAAa,YAAaxU,EAAE4H,oBAAsBzE,GAAI,CAAE,cAAe,SAAShD,GAClPD,EAAEsU,YAAcrU,CAClB,EAAG,cAAeD,EAAEyU,kBAAsB1U,EAAE,MAAO,CAAE+C,YAAa,qBAAuB,CAAC/C,EAAE,KAAM,CAACD,EAAE2D,GAAG3D,EAAE4D,GAAG1D,EAAEmU,mBAAoBnU,EAAEmT,WAAanT,EAAEuU,cAAcrM,OAAS,EAAInI,EAAEC,EAAE6U,SAAU,CAAE9R,MAAO,CAAE,uBAAwBjD,EAAE4H,mBAAoB,eAAgB1H,EAAE2J,YAAaG,MAAO9J,EAAEuU,cAAe3K,YAAa9J,EAAE8J,YAAaC,QAAS7J,EAAEmT,UAAWnJ,KAAMhK,EAAEsU,YAAa,iBAAkBtU,EAAE+J,cAAe9H,KAAMjC,EAAEmU,cAAgBlR,GAAI,CAAE,cAAe,CAAC,SAAShD,GAC5cD,EAAEsU,YAAcrU,CAClB,EAAG,SAASA,GACVD,EAAE2J,YAAc,OAClB,GAAI,uBAAwB,SAAS1J,GACnCD,EAAE+J,cAAgB9J,CACpB,EAAG,wBAAyB,SAASA,GACnCD,EAAE+J,cAAgB9J,CACpB,KAASD,EAAEoR,aAAerR,EAAEC,EAAEiV,eAAgB,CAAElS,MAAO,CAAEd,KAAMjC,EAAEA,EAAE,qBAAsBkV,YAAalV,EAAEA,EAAE,8CAAgD2O,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,OAAQhK,GAAI,WAC9L,MAAO,CAACqB,EAAEC,EAAEoH,UACd,EAAG0H,OAAO,OAAY/O,EAAEC,EAAEiV,eAAgB,CAAElS,MAAO,CAAEd,KAAMjC,EAAEA,EAAE,oBAAqBkV,YAAalV,EAAEwU,oBAAsB7F,YAAa7O,EAAE8O,GAAG,CAAC,CAAElG,IAAK,OAAQhK,GAAI,WAC7J,MAAO,CAACqB,EAAEC,EAAEoH,UACd,EAAG0H,OAAO,QAAY,IACxB,GAAQ,IAIN,EACA,KACA,WACA,KACA,MAEY/M,kXCv7Bd,MAAwGgK,EAAhF,QAAZjM,GAAmG,YAAhF,UAAIqV,OAAO,SAASC,SAAU,UAAID,OAAO,SAASE,OAAOvV,EAAEwV,KAAKF,QAApF,IAACtV,EAsBZ,MAAMyV,EACJC,SAAW,GACX,aAAAC,CAAczV,GACZY,KAAK8U,cAAc1V,GAAIY,KAAK4U,SAASG,KAAK3V,EAC5C,CACA,eAAA4V,CAAgB5V,GACd,MAAMzB,EAAgB,iBAALyB,EAAgBY,KAAKiV,cAAc7V,GAAKY,KAAKiV,cAAc7V,EAAEsR,KACnE,IAAP/S,EAIJqC,KAAK4U,SAASM,OAAOvX,EAAG,GAHtBwN,EAAE/M,KAAK,mCAAoC,CAAE+W,MAAO/V,EAAGgW,QAASpV,KAAKqV,cAIzE,CAMA,UAAAA,CAAWjW,GACT,OAAOA,EAAIY,KAAK4U,SAAS7I,QAAQpO,GAA0B,mBAAbA,EAAE2X,SAAwB3X,EAAE2X,QAAQlW,KAAWY,KAAK4U,QACpG,CACA,aAAAK,CAAc7V,GACZ,OAAOY,KAAK4U,SAASW,WAAW5X,GAAMA,EAAE+S,KAAOtR,GACjD,CACA,aAAA0V,CAAc1V,GACZ,IAAKA,EAAEsR,KAAOtR,EAAE8H,cAAiB9H,EAAEoW,gBAAiBpW,EAAEqW,YAAerW,EAAEsW,QACrE,MAAM,IAAIC,MAAM,iBAClB,GAAmB,iBAARvW,EAAEsR,IAA0C,iBAAjBtR,EAAE8H,YACtC,MAAM,IAAIyO,MAAM,sCAClB,GAAIvW,EAAEqW,WAAmC,iBAAfrW,EAAEqW,WAAyBrW,EAAEoW,eAA2C,iBAAnBpW,EAAEoW,cAC/E,MAAM,IAAIG,MAAM,yBAClB,QAAkB,IAAdvW,EAAEkW,SAA0C,mBAAblW,EAAEkW,QACnC,MAAM,IAAIK,MAAM,4BAClB,GAAwB,mBAAbvW,EAAEsW,QACX,MAAM,IAAIC,MAAM,4BAClB,GAAI,UAAWvW,GAAuB,iBAAXA,EAAEqK,MAC3B,MAAM,IAAIkM,MAAM,0BAClB,IAAkC,IAA9B3V,KAAKiV,cAAc7V,EAAEsR,IACvB,MAAM,IAAIiF,MAAM,kBACpB,EAEF,MAAM3L,EAAI,WACR,cAAc7E,OAAOyQ,gBAAkB,MAAQzQ,OAAOyQ,gBAAkB,IAAIjB,EAAMxJ,EAAE0K,MAAM,4BAA6B1Q,OAAOyQ,eAChI,EAuBMtM,EAAI,CAAC,IAAK,KAAM,KAAM,KAAM,KAAM,MAAOM,EAAI,CAAC,IAAK,MAAO,MAAO,MAAO,MAAO,OACrF,SAASkM,EAAG5W,EAAGE,GAAI,EAAIzB,GAAI,EAAIsB,GAAI,GACjCtB,EAAIA,IAAMsB,EAAe,iBAALC,IAAkBA,EAAI4C,OAAO5C,IACjD,IAAIG,EAAIH,EAAI,EAAIkN,KAAKC,MAAMD,KAAK2J,IAAI7W,GAAKkN,KAAK2J,IAAI9W,EAAI,IAAM,OAAS,EACrEI,EAAI+M,KAAK4J,KAAKrY,EAAIiM,EAAEtC,OAASgC,EAAEhC,QAAU,EAAGjI,GAC5C,MAAMF,EAAIxB,EAAIiM,EAAEvK,GAAKiK,EAAEjK,GACvB,IAAI0B,GAAK7B,EAAIkN,KAAK6J,IAAIhX,EAAI,IAAM,KAAMI,IAAI6W,QAAQ,GAClD,OAAa,IAAN9W,GAAkB,IAANC,GAAiB,QAAN0B,EAAc,OAAS,OAASpD,EAAIiM,EAAE,GAAKN,EAAE,KAAevI,EAAR1B,EAAI,EAAQ8W,WAAWpV,GAAGmV,QAAQ,GAASC,WAAWpV,GAAGqV,gBAAe,WAAOrV,EAAI,IAAM5B,EAC7K,CA0CA,IAAI5B,EAAoB,CAAE2B,IAAOA,EAAEmX,QAAU,UAAWnX,EAAEoX,OAAS,SAAUpX,GAArD,CAAyD3B,GAAK,CAAC,GACvF,MAAM+S,EACJiG,QACA,WAAAC,CAAYpX,GACVY,KAAKyW,eAAerX,GAAIY,KAAKuW,QAAUnX,CACzC,CACA,MAAIsR,GACF,OAAO1Q,KAAKuW,QAAQ7F,EACtB,CACA,eAAIxJ,GACF,OAAOlH,KAAKuW,QAAQrP,WACtB,CACA,SAAI1F,GACF,OAAOxB,KAAKuW,QAAQ/U,KACtB,CACA,iBAAIgU,GACF,OAAOxV,KAAKuW,QAAQf,aACtB,CACA,WAAIF,GACF,OAAOtV,KAAKuW,QAAQjB,OACtB,CACA,QAAIoB,GACF,OAAO1W,KAAKuW,QAAQG,IACtB,CACA,aAAIC,GACF,OAAO3W,KAAKuW,QAAQI,SACtB,CACA,SAAIlN,GACF,OAAOzJ,KAAKuW,QAAQ9M,KACtB,CACA,UAAItJ,GACF,OAAOH,KAAKuW,QAAQpW,MACtB,CACA,WAAI,GACF,OAAOH,KAAKuW,QAAQ3U,OACtB,CACA,UAAIgV,GACF,OAAO5W,KAAKuW,QAAQK,MACtB,CACA,gBAAIC,GACF,OAAO7W,KAAKuW,QAAQM,YACtB,CACA,cAAAJ,CAAerX,GACb,IAAKA,EAAEsR,IAAqB,iBAARtR,EAAEsR,GACpB,MAAM,IAAIiF,MAAM,cAClB,IAAKvW,EAAE8H,aAAuC,mBAAjB9H,EAAE8H,YAC7B,MAAM,IAAIyO,MAAM,gCAClB,GAAI,UAAWvW,GAAuB,mBAAXA,EAAEoC,MAC3B,MAAM,IAAImU,MAAM,0BAClB,IAAKvW,EAAEoW,eAA2C,mBAAnBpW,EAAEoW,cAC/B,MAAM,IAAIG,MAAM,kCAClB,IAAKvW,EAAEsX,MAAyB,mBAAVtX,EAAEsX,KACtB,MAAM,IAAIf,MAAM,yBAClB,GAAI,YAAavW,GAAyB,mBAAbA,EAAEkW,QAC7B,MAAM,IAAIK,MAAM,4BAClB,GAAI,cAAevW,GAA2B,mBAAfA,EAAEuX,UAC/B,MAAM,IAAIhB,MAAM,8BAClB,GAAI,UAAWvW,GAAuB,iBAAXA,EAAEqK,MAC3B,MAAM,IAAIkM,MAAM,iBAClB,GAAI,WAAYvW,GAAwB,iBAAZA,EAAEe,OAC5B,MAAM,IAAIwV,MAAM,kBAClB,GAAIvW,EAAEwC,UAAY5D,OAAO8Y,OAAOvZ,GAAG6P,SAAShO,EAAEwC,SAC5C,MAAM,IAAI+T,MAAM,mBAClB,GAAI,WAAYvW,GAAwB,mBAAZA,EAAEwX,OAC5B,MAAM,IAAIjB,MAAM,2BAClB,GAAI,iBAAkBvW,GAA8B,mBAAlBA,EAAEyX,aAClC,MAAM,IAAIlB,MAAM,gCACpB,EAEF,MAAMxF,EAAK,SAASjR,UACPiG,OAAO4R,gBAAkB,MAAQ5R,OAAO4R,gBAAkB,GAAI5L,EAAE0K,MAAM,4BAA6B1Q,OAAO4R,gBAAgBC,MAAM5X,GAAMA,EAAEsR,KAAOxR,EAAEwR,KAC1JvF,EAAE4I,MAAM,cAAc7U,EAAEwR,wBAAyB,CAAEuG,OAAQ/X,IAG7DiG,OAAO4R,gBAAgBhC,KAAK7V,EAC9B,EAAGgY,EAAK,WACN,cAAc/R,OAAO4R,gBAAkB,MAAQ5R,OAAO4R,gBAAkB,GAAI5L,EAAE0K,MAAM,4BAA6B1Q,OAAO4R,eAC1H,EA6DGI,EAAK,WACN,cAAchS,OAAOiS,mBAAqB,MAAQjS,OAAOiS,mBAAqB,GAAIjM,EAAE0K,MAAM,gCAAiC1Q,OAAOiS,kBACpI,EAsBA,IAAInM,EAAoB,CAAE/L,IAAOA,EAAEA,EAAEmY,KAAO,GAAK,OAAQnY,EAAEA,EAAEoY,OAAS,GAAK,SAAUpY,EAAEA,EAAEqY,KAAO,GAAK,OAAQrY,EAAEA,EAAEsY,OAAS,GAAK,SAAUtY,EAAEA,EAAEuY,OAAS,GAAK,SAAUvY,EAAEA,EAAEwY,MAAQ,IAAM,QAASxY,EAAEA,EAAEyY,IAAM,IAAM,MAAOzY,GAA/L,CAAmM+L,GAAK,CAAC,GAuBjO,MAAMT,EAAI,CACR,qBACA,mBACA,YACA,oBACA,0BACA,iBACA,iBACA,kBACA,gBACA,sBACA,qBACA,cACA,YACA,wBACA,cACA,iBACA,iBACA,UACA,yBACCQ,EAAI,CACLjK,EAAG,OACH6W,GAAI,0BACJC,GAAI,yBACJC,IAAK,6CACJC,EAAK,SAAS7Y,EAAGE,EAAI,CAAEwY,GAAI,mCACrBzS,OAAO6S,mBAAqB,MAAQ7S,OAAO6S,mBAAqB,IAAIxN,GAAIrF,OAAO8S,mBAAqB,IAAKjN,IAChH,MAAMrN,EAAI,IAAKwH,OAAO8S,sBAAuB7Y,GAC7C,OAAI+F,OAAO6S,mBAAmBhB,MAAM3X,GAAMA,IAAMH,KACvCiM,EAAE4I,MAAM,GAAG7U,uBAAwB,CAAEgZ,KAAMhZ,KAAM,GACtDA,EAAEkU,WAAW,MAAgC,IAAxBlU,EAAE8P,MAAM,KAAK1H,QAC7B6D,EAAE4I,MAAM,GAAG7U,2CAA4C,CAAEgZ,KAAMhZ,KAAM,GAEvEvB,EADGuB,EAAE8P,MAAM,KAAK,KACR7J,OAAO6S,mBAAmBjD,KAAK7V,GAAIiG,OAAO8S,mBAAqBta,GAAG,IAAOwN,EAAE4I,MAAM,GAAG7U,sBAAuB,CAAEgZ,KAAMhZ,EAAGiZ,WAAYxa,KAAM,EACzJ,EAAGya,EAAI,WACL,cAAcjT,OAAO6S,mBAAqB,MAAQ7S,OAAO6S,mBAAqB,IAAIxN,IAAKrF,OAAO6S,mBAAmB/I,KAAK/P,GAAM,IAAIA,SAAQgQ,KAAK,IAC/I,EAAGhE,EAAI,WACL,cAAc/F,OAAO8S,mBAAqB,MAAQ9S,OAAO8S,mBAAqB,IAAKjN,IAAMhN,OAAOqa,KAAKlT,OAAO8S,oBAAoBhJ,KAAK/P,GAAM,SAASA,MAAMiG,OAAO8S,qBAAqB/Y,QAAOgQ,KAAK,IACpM,EAAGoJ,EAAK,WACN,MAAO,0CACOpN,iCAEVkN,yCAGN,EAUGG,EAAK,SAASrZ,GACf,MAAO,4DACUgM,8HAKbkN,iGAKe,WAAK1D,0nBA0BRxV,yXAkBlB,EAuBMsZ,EAAK,SAAStZ,EAAI,IACtB,IAAIE,EAAI6L,EAAEoM,KACV,OAAOnY,KAAOA,EAAEkO,SAAS,MAAQlO,EAAEkO,SAAS,QAAUhO,GAAK6L,EAAEqM,QAASpY,EAAEkO,SAAS,OAAShO,GAAK6L,EAAEsM,OAAQrY,EAAEkO,SAAS,MAAQlO,EAAEkO,SAAS,MAAQlO,EAAEkO,SAAS,QAAUhO,GAAK6L,EAAEuM,QAAStY,EAAEkO,SAAS,OAAShO,GAAK6L,EAAEwM,QAASvY,EAAEkO,SAAS,OAAShO,GAAK6L,EAAEyM,QAAStY,CAC9P,EAsBA,IAAIqZ,EAAoB,CAAEvZ,IAAOA,EAAEqI,OAAS,SAAUrI,EAAEwG,KAAO,OAAQxG,GAA/C,CAAmDuZ,GAAK,CAAC,GAsBjF,MAAM3N,EAAI,SAAS5L,EAAGE,GACpB,OAAsB,OAAfF,EAAE4P,MAAM1P,EACjB,EAAGyL,EAAI,CAAC3L,EAAGE,KACT,GAAIF,EAAEwR,IAAqB,iBAARxR,EAAEwR,GACnB,MAAM,IAAIiF,MAAM,4BAClB,IAAKzW,EAAEwZ,OACL,MAAM,IAAI/C,MAAM,4BAClB,IACE,IAAIzQ,IAAIhG,EAAEwZ,OACZ,CAAE,MACA,MAAM,IAAI/C,MAAM,oDAClB,CACA,IAAKzW,EAAEwZ,OAAOtF,WAAW,QACvB,MAAM,IAAIuC,MAAM,oDAClB,GAAIzW,EAAE2J,SAAW3J,EAAE2J,iBAAiB+J,MAClC,MAAM,IAAI+C,MAAM,sBAClB,GAAIzW,EAAEyZ,UAAYzZ,EAAEyZ,kBAAkB/F,MACpC,MAAM,IAAI+C,MAAM,uBAClB,IAAKzW,EAAE0H,MAAyB,iBAAV1H,EAAE0H,OAAqB1H,EAAE0H,KAAKkI,MAAM,yBACxD,MAAM,IAAI6G,MAAM,qCAClB,GAAI,SAAUzW,GAAsB,iBAAVA,EAAE2C,WAA+B,IAAX3C,EAAE2C,KAChD,MAAM,IAAI8T,MAAM,qBAClB,GAAI,gBAAiBzW,QAAuB,IAAlBA,EAAE0Z,eAAoD,iBAAjB1Z,EAAE0Z,aAA2B1Z,EAAE0Z,aAAe3N,EAAEoM,MAAQnY,EAAE0Z,aAAe3N,EAAE0M,KACxI,MAAM,IAAIhC,MAAM,uBAClB,GAAIzW,EAAE2Z,OAAqB,OAAZ3Z,EAAE2Z,OAAoC,iBAAX3Z,EAAE2Z,MAC1C,MAAM,IAAIlD,MAAM,sBAClB,GAAIzW,EAAE6F,YAAqC,iBAAhB7F,EAAE6F,WAC3B,MAAM,IAAI4Q,MAAM,2BAClB,GAAIzW,EAAE4Z,MAAyB,iBAAV5Z,EAAE4Z,KACrB,MAAM,IAAInD,MAAM,qBAClB,GAAIzW,EAAE4Z,OAAS5Z,EAAE4Z,KAAK1F,WAAW,KAC/B,MAAM,IAAIuC,MAAM,wCAClB,GAAIzW,EAAE4Z,OAAS5Z,EAAEwZ,OAAOtL,SAASlO,EAAE4Z,MACjC,MAAM,IAAInD,MAAM,mCAClB,GAAIzW,EAAE4Z,MAAQhO,EAAE5L,EAAEwZ,OAAQtZ,GAAI,CAC5B,MAAMzB,EAAIuB,EAAEwZ,OAAO5J,MAAM1P,GAAG,GAC5B,IAAKF,EAAEwZ,OAAOtL,UAAS,UAAGzP,EAAGuB,EAAE4Z,OAC7B,MAAM,IAAInD,MAAM,4DACpB,CACA,GAAIzW,EAAE6Z,SAAW/a,OAAO8Y,OAAO/L,GAAGqC,SAASlO,EAAE6Z,QAC3C,MAAM,IAAIpD,MAAM,oCAAoC,EAuBxD,IAAI5K,EAAoB,CAAE7L,IAAOA,EAAE8Z,IAAM,MAAO9Z,EAAE+Z,OAAS,SAAU/Z,EAAEga,QAAU,UAAWha,EAAEia,OAAS,SAAUja,GAAzF,CAA6F6L,GAAK,CAAC,GAC3H,MAAMqO,EACJC,MACAC,YACAC,iBAAmB,mCACnB,WAAA/C,CAAYpX,EAAGzB,GACbkN,EAAEzL,EAAGzB,GAAKqC,KAAKuZ,kBAAmBvZ,KAAKqZ,MAAQja,EAC/C,MAAMH,EAAI,CAERsG,IAAK,CAAClG,EAAGF,EAAG4B,KAAOf,KAAKwZ,cAAeC,QAAQlU,IAAIlG,EAAGF,EAAG4B,IACzD2Y,eAAgB,CAACra,EAAGF,KAAOa,KAAKwZ,cAAeC,QAAQC,eAAera,EAAGF,KAG3Ea,KAAKsZ,YAAc,IAAIK,MAAMva,EAAE2F,YAAc,CAAC,EAAG9F,UAAWe,KAAKqZ,MAAMtU,WAAYpH,IAAMqC,KAAKuZ,iBAAmB5b,EACnH,CAIA,UAAI+a,GACF,OAAO1Y,KAAKqZ,MAAMX,OAAO/Z,QAAQ,OAAQ,GAC3C,CAIA,iBAAIib,GACF,MAAQvU,OAAQjG,GAAM,IAAI8F,IAAIlF,KAAK0Y,QACnC,OAAOtZ,GAAI,QAAGY,KAAK0Y,OAAOtR,MAAMhI,EAAEkI,QACpC,CAIA,YAAIH,GACF,OAAO,cAAGnH,KAAK0Y,OACjB,CAIA,aAAIrR,GACF,OAAO,aAAGrH,KAAK0Y,OACjB,CAKA,WAAImB,GACF,GAAI7Z,KAAK8Y,KAAM,CACb,MAAMnb,EAAIqC,KAAK0Y,OAAOoB,QAAQ9Z,KAAK8Y,MACnC,OAAO,aAAE9Y,KAAK0Y,OAAOtR,MAAMzJ,EAAIqC,KAAK8Y,KAAKxR,SAAW,IACtD,CACA,MAAMlI,EAAI,IAAI8F,IAAIlF,KAAK0Y,QACvB,OAAO,aAAEtZ,EAAE2a,SACb,CAIA,QAAInT,GACF,OAAO5G,KAAKqZ,MAAMzS,IACpB,CAIA,SAAIiC,GACF,OAAO7I,KAAKqZ,MAAMxQ,KACpB,CAIA,UAAI8P,GACF,OAAO3Y,KAAKqZ,MAAMV,MACpB,CAIA,QAAI9W,GACF,OAAO7B,KAAKqZ,MAAMxX,IACpB,CAIA,cAAIkD,GACF,OAAO/E,KAAKsZ,WACd,CAIA,eAAIV,GACF,OAAsB,OAAf5Y,KAAK6Y,OAAmB7Y,KAAKga,oBAAqD,IAA3Bha,KAAKqZ,MAAMT,YAAyB5Y,KAAKqZ,MAAMT,YAAc3N,EAAEoM,KAAxEpM,EAAEsM,IACzD,CAIA,SAAIsB,GACF,OAAO7Y,KAAKga,eAAiBha,KAAKqZ,MAAMR,MAAQ,IAClD,CAIA,kBAAImB,GACF,OAAOlP,EAAE9K,KAAK0Y,OAAQ1Y,KAAKuZ,iBAC7B,CAIA,QAAIT,GACF,OAAO9Y,KAAKqZ,MAAMP,KAAO9Y,KAAKqZ,MAAMP,KAAKna,QAAQ,WAAY,MAAQqB,KAAKga,iBAAkB,aAAEha,KAAK0Y,QAAQ1J,MAAMhP,KAAKuZ,kBAAkBU,OAAS,IACnJ,CAIA,QAAI7Q,GACF,GAAIpJ,KAAK8Y,KAAM,CACb,MAAM1Z,EAAIY,KAAK0Y,OAAOoB,QAAQ9Z,KAAK8Y,MACnC,OAAO9Y,KAAK0Y,OAAOtR,MAAMhI,EAAIY,KAAK8Y,KAAKxR,SAAW,GACpD,CACA,OAAQtH,KAAK6Z,QAAU,IAAM7Z,KAAKmH,UAAUxI,QAAQ,QAAS,IAC/D,CAKA,UAAIsG,GACF,OAAOjF,KAAKqZ,OAAO3I,IAAM1Q,KAAK+E,YAAYE,MAC5C,CAIA,UAAI8T,GACF,OAAO/Y,KAAKqZ,OAAON,MACrB,CAIA,UAAIA,CAAO3Z,GACTY,KAAKqZ,MAAMN,OAAS3Z,CACtB,CAOA,IAAA8a,CAAK9a,GACHyL,EAAE,IAAK7K,KAAKqZ,MAAOX,OAAQtZ,GAAKY,KAAKuZ,kBAAmBvZ,KAAKqZ,MAAMX,OAAStZ,EAAGY,KAAKwZ,aACtF,CAOA,MAAAW,CAAO/a,GACL,GAAIA,EAAEgO,SAAS,KACb,MAAM,IAAIuI,MAAM,oBAClB3V,KAAKka,MAAK,aAAEla,KAAK0Y,QAAU,IAAMtZ,EACnC,CAIA,WAAAoa,GACExZ,KAAKqZ,MAAMxQ,QAAU7I,KAAKqZ,MAAMxQ,MAAwB,IAAI+J,KAC9D,EAuBF,MAAMwH,UAAWhB,EACf,QAAI3X,GACF,OAAOgX,EAAE/S,IACX,EAuBF,MAAM3C,UAAWqW,EACf,WAAA5C,CAAYpX,GACVib,MAAM,IACDjb,EACHwH,KAAM,wBAEV,CACA,QAAInF,GACF,OAAOgX,EAAElR,MACX,CACA,aAAIF,GACF,OAAO,IACT,CACA,QAAIT,GACF,MAAO,sBACT,EAwBF,MAAM0T,EAAK,WAAU,WAAK5F,MAAO6F,GAAK,uBAAG,OAAQC,EAAK,SAAStb,EAAIqb,GACjE,MAAMnb,GAAI,QAAGF,GACb,SAASvB,EAAE0B,GACTD,EAAEqb,WAAW,CAEX,mBAAoB,iBAEpBC,aAAcrb,GAAK,IAEvB,CACA,OAAO,QAAG1B,GAAIA,GAAE,YAAO,UAAKgd,MAAM,SAAS,CAACtb,EAAGF,KAC7C,MAAM4B,EAAI5B,EAAEyb,QACZ,OAAO7Z,GAAG8Z,SAAW1b,EAAE0b,OAAS9Z,EAAE8Z,cAAe9Z,EAAE8Z,QAASC,MAAMzb,EAAGF,EAAE,IACrEC,CACN,EAAG2b,EAAK/I,MAAO9S,EAAGE,EAAI,IAAKzB,EAAI2c,WAAcpb,EAAE+T,qBAAqB,GAAGtV,IAAIyB,IAAK,CAC9E2T,SAAS,EACTtP,KA9cO,+CACYyH,iCAEfkN,wIA4cJwC,QAAS,CAEPC,OAAQ,UAEVG,aAAa,KACXvX,KAAKsI,QAAQ1M,GAAMA,EAAE4b,WAAa7b,IAAG6P,KAAK5P,GAAM6b,EAAG7b,EAAG1B,KAAKud,EAAK,SAAShc,EAAGE,EAAIkb,EAAI3c,EAAI4c,GAC1F,MAAMtb,EAAIC,EAAEqC,MAAOlC,EAAImZ,EAAGvZ,GAAG2Z,aAAczZ,GAAI,WAAKuV,IAAK3T,EAAI,CAC3D2P,GAAIzR,GAAGgG,QAAU,EACjByT,OAAQ,GAAG/a,IAAIuB,EAAE+b,WACjBpS,MAAO,IAAI+J,KAAKA,KAAKuI,MAAMjc,EAAEkc,UAC7BxU,KAAM1H,EAAE0H,KACR/E,KAAM5C,GAAG4C,MAAQC,OAAOuZ,SAASpc,EAAEqc,kBAAoB,KACvD1C,YAAavZ,EACbwZ,MAAO1Z,EACP2Z,KAAM1Z,EACN2F,WAAY,IACP7F,KACAD,EACHsc,WAAYtc,IAAI,iBAGpB,cAAc8B,EAAEgE,YAAYxD,MAAkB,SAAXrC,EAAEuC,KAAkB,IAAI2Y,EAAGrZ,GAAK,IAAIgC,EAAGhC,EAC5E,EAsBA,MAAM8C,EACJ2X,OAAS,GACTC,aAAe,KACf,QAAAC,CAAStc,GACP,GAAIY,KAAKwb,OAAOxE,MAAMrZ,GAAMA,EAAE+S,KAAOtR,EAAEsR,KACrC,MAAM,IAAIiF,MAAM,WAAWvW,EAAEsR,4BAC/B1Q,KAAKwb,OAAOzG,KAAK3V,EACnB,CACA,MAAA4G,CAAO5G,GACL,MAAMzB,EAAIqC,KAAKwb,OAAOjG,WAAWtW,GAAMA,EAAEyR,KAAOtR,KACzC,IAAPzB,GAAYqC,KAAKwb,OAAOtG,OAAOvX,EAAG,EACpC,CACA,SAAIge,GACF,OAAO3b,KAAKwb,MACd,CACA,SAAAI,CAAUxc,GACRY,KAAKyb,aAAerc,CACtB,CACA,UAAIyc,GACF,OAAO7b,KAAKyb,YACd,EAEF,MAAMK,EAAK,WACT,cAAc3W,OAAO4W,eAAiB,MAAQ5W,OAAO4W,eAAiB,IAAIlY,EAAMsH,EAAE0K,MAAM,mCAAoC1Q,OAAO4W,cACrI,EAsBA,MAAMC,EACJC,QACA,WAAAzF,CAAYpX,GACV8c,EAAG9c,GAAIY,KAAKic,QAAU7c,CACxB,CACA,MAAIsR,GACF,OAAO1Q,KAAKic,QAAQvL,EACtB,CACA,SAAIlP,GACF,OAAOxB,KAAKic,QAAQza,KACtB,CACA,UAAI9B,GACF,OAAOM,KAAKic,QAAQvc,MACtB,CACA,QAAImM,GACF,OAAO7L,KAAKic,QAAQpQ,IACtB,CACA,WAAIsQ,GACF,OAAOnc,KAAKic,QAAQE,OACtB,EAEF,MAAMD,EAAK,SAAShd,GAClB,IAAKA,EAAEwR,IAAqB,iBAARxR,EAAEwR,GACpB,MAAM,IAAIiF,MAAM,2BAClB,IAAKzW,EAAEsC,OAA2B,iBAAXtC,EAAEsC,MACvB,MAAM,IAAImU,MAAM,8BAClB,IAAKzW,EAAEQ,QAA6B,mBAAZR,EAAEQ,OACxB,MAAM,IAAIiW,MAAM,iCAClB,GAAIzW,EAAE2M,MAAyB,mBAAV3M,EAAE2M,KACrB,MAAM,IAAI8J,MAAM,0CAClB,GAAIzW,EAAEid,SAA+B,mBAAbjd,EAAEid,QACxB,MAAM,IAAIxG,MAAM,qCAClB,OAAO,CACT,EACA,IAAIrS,EAAI,CAAC,EAAGiH,EAAI,CAAC,GACjB,SAAUrL,GACR,MAAME,EAAI,gLAAyOH,EAAI,IAAMG,EAAI,KAAlEA,EAAwD,iDAA2BC,EAAI,IAAI+c,OAAO,IAAMnd,EAAI,KAgB3SC,EAAEmd,QAAU,SAAS7c,GACnB,cAAcA,EAAI,GACpB,EAAGN,EAAEod,cAAgB,SAAS9c,GAC5B,OAAiC,IAA1BxB,OAAOqa,KAAK7Y,GAAG8H,MACxB,EAAGpI,EAAEqd,MAAQ,SAAS/c,EAAGD,EAAGwK,GAC1B,GAAIxK,EAAG,CACL,MAAMD,EAAItB,OAAOqa,KAAK9Y,GAAIQ,EAAIT,EAAEgI,OAChC,IAAK,IAAIxI,EAAI,EAAGA,EAAIiB,EAAGjB,IACJU,EAAEF,EAAER,IAAf,WAANiL,EAA2B,CAACxK,EAAED,EAAER,KAAiBS,EAAED,EAAER,GACzD,CACF,EAAGI,EAAEsd,SAAW,SAAShd,GACvB,OAAON,EAAEmd,QAAQ7c,GAAKA,EAAI,EAC5B,EAAGN,EAAEud,OAhBE,SAASjd,GACd,MAAMD,EAAIF,EAAEqX,KAAKlX,GACjB,QAAe,OAAND,UAAqBA,EAAI,IACpC,EAaiBL,EAAEwd,cA5BkS,SAASld,EAAGD,GAC/T,MAAMwK,EAAI,GACV,IAAIzK,EAAIC,EAAEmX,KAAKlX,GACf,KAAOF,GAAK,CACV,MAAMS,EAAI,GACVA,EAAE4c,WAAapd,EAAEqd,UAAYtd,EAAE,GAAGgI,OAClC,MAAMxI,EAAIQ,EAAEgI,OACZ,IAAK,IAAIxG,EAAI,EAAGA,EAAIhC,EAAGgC,IACrBf,EAAEgV,KAAKzV,EAAEwB,IACXiJ,EAAEgL,KAAKhV,GAAIT,EAAIC,EAAEmX,KAAKlX,EACxB,CACA,OAAOuK,CACT,EAgBsC7K,EAAE2d,WAAa5d,CACtD,CA9BD,CA8BGsL,GACH,MAAMuS,EAAIvS,EAAGwS,EAAK,CAChBC,wBAAwB,EAExBC,aAAc,IAkGhB,SAAS3S,EAAEpL,GACT,MAAa,MAANA,GAAmB,OAANA,GAAmB,OAANA,GACxB,OAANA,CACL,CACA,SAASuL,EAAEvL,EAAGE,GACZ,MAAMzB,EAAIyB,EACV,KAAOA,EAAIF,EAAEoI,OAAQlI,IACnB,GAAY,KAARF,EAAEE,IAAqB,KAARF,EAAEE,GAAW,CAC9B,MAAMH,EAAIC,EAAEge,OAAOvf,EAAGyB,EAAIzB,GAC1B,GAAIyB,EAAI,GAAW,QAANH,EACX,OAAO4B,GAAE,aAAc,6DAA8Dsc,GAAEje,EAAGE,IAC5F,GAAY,KAARF,EAAEE,IAAyB,KAAZF,EAAEE,EAAI,GAAW,CAClCA,IACA,KACF,CACE,QACJ,CACF,OAAOA,CACT,CACA,SAAS8K,EAAEhL,EAAGE,GACZ,GAAIF,EAAEoI,OAASlI,EAAI,GAAkB,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAChD,IAAKA,GAAK,EAAGA,EAAIF,EAAEoI,OAAQlI,IACzB,GAAa,MAATF,EAAEE,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,GAAY,CACxDA,GAAK,EACL,KACF,OACG,GAAIF,EAAEoI,OAASlI,EAAI,GAAkB,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,GAAY,CACvK,IAAIzB,EAAI,EACR,IAAKyB,GAAK,EAAGA,EAAIF,EAAEoI,OAAQlI,IACzB,GAAa,MAATF,EAAEE,GACJzB,SACG,GAAa,MAATuB,EAAEE,KAAezB,IAAW,IAANA,GAC7B,KACN,MAAO,GAAIuB,EAAEoI,OAASlI,EAAI,GAAkB,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,GAC3J,IAAKA,GAAK,EAAGA,EAAIF,EAAEoI,OAAQlI,IACzB,GAAa,MAATF,EAAEE,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,GAAY,CACxDA,GAAK,EACL,KACF,CAEJ,OAAOA,CACT,CAzIAkE,EAAE8Z,SAAW,SAASle,EAAGE,GACvBA,EAAIpB,OAAOqf,OAAO,CAAC,EAAGN,EAAI3d,GAC1B,MAAMzB,EAAI,GACV,IAAIsB,GAAI,EAAII,GAAI,EACP,WAATH,EAAE,KAAoBA,EAAIA,EAAEge,OAAO,IACnC,IAAK,IAAI/d,EAAI,EAAGA,EAAID,EAAEoI,OAAQnI,IAC5B,GAAa,MAATD,EAAEC,IAA2B,MAAbD,EAAEC,EAAI,IACxB,GAAIA,GAAK,EAAGA,EAAIsL,EAAEvL,EAAGC,GAAIA,EAAEme,IACzB,OAAOne,MACJ,IAAa,MAATD,EAAEC,GAyEN,CACL,GAAImL,EAAEpL,EAAEC,IACN,SACF,OAAO0B,GAAE,cAAe,SAAW3B,EAAEC,GAAK,qBAAsBge,GAAEje,EAAGC,GACvE,CA7EyB,CACvB,IAAI4B,EAAI5B,EACR,GAAIA,IAAc,MAATD,EAAEC,GAAY,CACrBA,EAAI+K,EAAEhL,EAAGC,GACT,QACF,CAAO,CACL,IAAIK,GAAI,EACC,MAATN,EAAEC,KAAeK,GAAI,EAAIL,KACzB,IAAII,EAAI,GACR,KAAOJ,EAAID,EAAEoI,QAAmB,MAATpI,EAAEC,IAAuB,MAATD,EAAEC,IAAuB,OAATD,EAAEC,IAAuB,OAATD,EAAEC,IACnE,OAATD,EAAEC,GAAaA,IACVI,GAAKL,EAAEC,GACT,GAAII,EAAIA,EAAEiP,OAA4B,MAApBjP,EAAEA,EAAE+H,OAAS,KAAe/H,EAAIA,EAAEge,UAAU,EAAGhe,EAAE+H,OAAS,GAAInI,MAAOoM,GAAGhM,GAAI,CAC5F,IAAIQ,EACJ,OAA+BA,EAAJ,IAApBR,EAAEiP,OAAOlH,OAAmB,2BAAiC,QAAU/H,EAAI,wBAAyBsB,GAAE,aAAcd,EAAGod,GAAEje,EAAGC,GACrI,CACA,MAAM4K,EAAIyT,GAAGte,EAAGC,GAChB,IAAU,IAAN4K,EACF,OAAOlJ,GAAE,cAAe,mBAAqBtB,EAAI,qBAAsB4d,GAAEje,EAAGC,IAC9E,IAAIG,EAAIyK,EAAEvG,MACV,GAAIrE,EAAI4K,EAAE0T,MAA2B,MAApBne,EAAEA,EAAEgI,OAAS,GAAY,CACxC,MAAMvH,EAAIZ,EAAIG,EAAEgI,OAChBhI,EAAIA,EAAEie,UAAU,EAAGje,EAAEgI,OAAS,GAC9B,MAAMxI,EAAI4e,GAAEpe,EAAGF,GACf,IAAU,IAANN,EAGF,OAAO+B,GAAE/B,EAAEwe,IAAIK,KAAM7e,EAAEwe,IAAIM,IAAKT,GAAEje,EAAGa,EAAIjB,EAAEwe,IAAIO,OAF/C5e,GAAI,CAGR,MAAO,GAAIO,EACT,KAAIuK,EAAE+T,UAgBJ,OAAOjd,GAAE,aAAc,gBAAkBtB,EAAI,iCAAkC4d,GAAEje,EAAGC,IAfpF,GAAIG,EAAEkP,OAAOlH,OAAS,EACpB,OAAOzG,GAAE,aAAc,gBAAkBtB,EAAI,+CAAgD4d,GAAEje,EAAG6B,IACpG,CACE,MAAMhB,EAAIpC,EAAEsc,MACZ,GAAI1a,IAAMQ,EAAEge,QAAS,CACnB,IAAIjf,EAAIqe,GAAEje,EAAGa,EAAEie,aACf,OAAOnd,GACL,aACA,yBAA2Bd,EAAEge,QAAU,qBAAuBjf,EAAE+e,KAAO,SAAW/e,EAAEmf,IAAM,6BAA+B1e,EAAI,KAC7H4d,GAAEje,EAAG6B,GAET,CACY,GAAZpD,EAAE2J,SAAgBjI,GAAI,EACxB,CAEuF,KACtF,CACH,MAAMU,EAAI2d,GAAEpe,EAAGF,GACf,IAAU,IAANW,EACF,OAAOc,GAAEd,EAAEud,IAAIK,KAAM5d,EAAEud,IAAIM,IAAKT,GAAEje,EAAGC,EAAIG,EAAEgI,OAASvH,EAAEud,IAAIO,OAC5D,IAAU,IAANxe,EACF,OAAOwB,GAAE,aAAc,sCAAuCsc,GAAEje,EAAGC,KACtC,IAA/BC,EAAE6d,aAAanD,QAAQva,IAAa5B,EAAEoX,KAAK,CAAEgJ,QAASxe,EAAGye,YAAajd,IAAM9B,GAAI,CAClF,CACA,IAAKE,IAAKA,EAAID,EAAEoI,OAAQnI,IACtB,GAAa,MAATD,EAAEC,GACJ,IAAiB,MAAbD,EAAEC,EAAI,GAAY,CACpBA,IAAKA,EAAI+K,EAAEhL,EAAGC,GACd,QACF,CAAO,GAAiB,MAAbD,EAAEC,EAAI,GAIf,MAHA,GAAIA,EAAIsL,EAAEvL,IAAKC,GAAIA,EAAEme,IACnB,OAAOne,CAEJ,MACJ,GAAa,MAATD,EAAEC,GAAY,CACrB,MAAMY,EAAIme,GAAGhf,EAAGC,GAChB,IAAU,GAANY,EACF,OAAOc,GAAE,cAAe,4BAA6Bsc,GAAEje,EAAGC,IAC5DA,EAAIY,CACN,MAAO,IAAU,IAANV,IAAaiL,EAAEpL,EAAEC,IAC1B,OAAO0B,GAAE,aAAc,wBAAyBsc,GAAEje,EAAGC,IAChD,MAATD,EAAEC,IAAcA,GAClB,CACF,CAIA,CACF,OAAIF,EACc,GAAZtB,EAAE2J,OACGzG,GAAE,aAAc,iBAAmBlD,EAAE,GAAGogB,QAAU,KAAMZ,GAAEje,EAAGvB,EAAE,GAAGqgB,gBACvErgB,EAAE2J,OAAS,IACNzG,GAAE,aAAc,YAAcsd,KAAKC,UAAUzgB,EAAEsR,KAAK9P,GAAMA,EAAE4e,UAAU,KAAM,GAAGpf,QAAQ,SAAU,IAAM,WAAY,CAAEkf,KAAM,EAAGI,IAAK,IAErIpd,GAAE,aAAc,sBAAuB,EAElD,EA2CA,MAAMwd,GAAK,IAAKC,GAAK,IACrB,SAASd,GAAGte,EAAGE,GACb,IAAIzB,EAAI,GAAIsB,EAAI,GAAII,GAAI,EACxB,KAAOD,EAAIF,EAAEoI,OAAQlI,IAAK,CACxB,GAAIF,EAAEE,KAAOif,IAAMnf,EAAEE,KAAOkf,GACpB,KAANrf,EAAWA,EAAIC,EAAEE,GAAKH,IAAMC,EAAEE,KAAOH,EAAI,SACtC,GAAa,MAATC,EAAEE,IAAoB,KAANH,EAAU,CACjCI,GAAI,EACJ,KACF,CACA1B,GAAKuB,EAAEE,EACT,CACA,MAAa,KAANH,GAAgB,CACrBuE,MAAO7F,EACP8f,MAAOre,EACP0e,UAAWze,EAEf,CACA,MAAMkf,GAAK,IAAInC,OAAO,0DAA0D,KAChF,SAASsB,GAAExe,EAAGE,GACZ,MAAMzB,EAAImf,EAAEJ,cAAcxd,EAAGqf,IAAKtf,EAAI,CAAC,EACvC,IAAK,IAAII,EAAI,EAAGA,EAAI1B,EAAE2J,OAAQjI,IAAK,CACjC,GAAuB,IAAnB1B,EAAE0B,GAAG,GAAGiI,OACV,OAAOzG,GAAE,cAAe,cAAgBlD,EAAE0B,GAAG,GAAK,8BAA+Bmf,GAAE7gB,EAAE0B,KACvF,QAAgB,IAAZ1B,EAAE0B,GAAG,SAA6B,IAAZ1B,EAAE0B,GAAG,GAC7B,OAAOwB,GAAE,cAAe,cAAgBlD,EAAE0B,GAAG,GAAK,sBAAuBmf,GAAE7gB,EAAE0B,KAC/E,QAAgB,IAAZ1B,EAAE0B,GAAG,KAAkBD,EAAE4d,uBAC3B,OAAOnc,GAAE,cAAe,sBAAwBlD,EAAE0B,GAAG,GAAK,oBAAqBmf,GAAE7gB,EAAE0B,KACrF,MAAMF,EAAIxB,EAAE0B,GAAG,GACf,IAAKof,GAAGtf,GACN,OAAO0B,GAAE,cAAe,cAAgB1B,EAAI,wBAAyBqf,GAAE7gB,EAAE0B,KAC3E,GAAKJ,EAAEyf,eAAevf,GAGpB,OAAO0B,GAAE,cAAe,cAAgB1B,EAAI,iBAAkBqf,GAAE7gB,EAAE0B,KAFlEJ,EAAEE,GAAK,CAGX,CACA,OAAO,CACT,CAWA,SAAS+e,GAAGhf,EAAGE,GACb,GAAkB,MAATF,IAALE,GACF,OAAQ,EACV,GAAa,MAATF,EAAEE,GACJ,OAdJ,SAAYF,EAAGE,GACb,IAAIzB,EAAI,KACR,IAAc,MAATuB,EAAEE,KAAeA,IAAKzB,EAAI,cAAeyB,EAAIF,EAAEoI,OAAQlI,IAAK,CAC/D,GAAa,MAATF,EAAEE,GACJ,OAAOA,EACT,IAAKF,EAAEE,GAAG0P,MAAMnR,GACd,KACJ,CACA,OAAQ,CACV,CAKgBghB,CAAGzf,IAARE,GACT,IAAIzB,EAAI,EACR,KAAOyB,EAAIF,EAAEoI,OAAQlI,IAAKzB,IACxB,KAAMuB,EAAEE,GAAG0P,MAAM,OAASnR,EAAI,IAAK,CACjC,GAAa,MAATuB,EAAEE,GACJ,MACF,OAAQ,CACV,CACF,OAAOA,CACT,CACA,SAASyB,GAAE3B,EAAGE,EAAGzB,GACf,MAAO,CACL2f,IAAK,CACHK,KAAMze,EACN0e,IAAKxe,EACLye,KAAMlgB,EAAEkgB,MAAQlgB,EAChBsgB,IAAKtgB,EAAEsgB,KAGb,CACA,SAASQ,GAAGvf,GACV,OAAO4d,EAAEL,OAAOvd,EAClB,CACA,SAASqM,GAAGrM,GACV,OAAO4d,EAAEL,OAAOvd,EAClB,CACA,SAASie,GAAEje,EAAGE,GACZ,MAAMzB,EAAIuB,EAAEqe,UAAU,EAAGne,GAAG4P,MAAM,SAClC,MAAO,CACL6O,KAAMlgB,EAAE2J,OAER2W,IAAKtgB,EAAEA,EAAE2J,OAAS,GAAGA,OAAS,EAElC,CACA,SAASkX,GAAEtf,GACT,OAAOA,EAAEyd,WAAazd,EAAE,GAAGoI,MAC7B,CACA,IAAI6C,GAAI,CAAC,EACT,MAAMyU,GAAK,CACTC,eAAe,EACfC,oBAAqB,KACrBC,qBAAqB,EACrBC,aAAc,QACdC,kBAAkB,EAClBC,gBAAgB,EAEhBlC,wBAAwB,EAGxBmC,eAAe,EACfC,qBAAqB,EACrBC,YAAY,EAEZC,eAAe,EACfC,mBAAoB,CAClBC,KAAK,EACLC,cAAc,EACdC,WAAW,GAEbC,kBAAmB,SAASzgB,EAAGE,GAC7B,OAAOA,CACT,EACAwgB,wBAAyB,SAAS1gB,EAAGE,GACnC,OAAOA,CACT,EACAygB,UAAW,GAEXC,sBAAsB,EACtBC,QAAS,KAAM,EACfC,iBAAiB,EACjB/C,aAAc,GACdgD,iBAAiB,EACjBC,cAAc,EACdC,mBAAmB,EACnBC,cAAc,EACdC,kBAAkB,EAClBC,wBAAwB,EACxBC,UAAW,SAASrhB,EAAGE,EAAGzB,GACxB,OAAOuB,CACT,GAKFiL,GAAEqW,aAHM,SAASthB,GACf,OAAOlB,OAAOqf,OAAO,CAAC,EAAGuB,GAAI1f,EAC/B,EAEAiL,GAAEsW,eAAiB7B,GAanB,MAAM8B,GAAKnW,EAmCX,SAASvG,GAAG9E,EAAGE,GACb,IAAIzB,EAAI,GACR,KAAOyB,EAAIF,EAAEoI,QAAmB,MAATpI,EAAEE,IAAuB,MAATF,EAAEE,GAAYA,IACnDzB,GAAKuB,EAAEE,GACT,GAAIzB,EAAIA,EAAE6Q,QAA4B,IAApB7Q,EAAEmc,QAAQ,KAC1B,MAAM,IAAInE,MAAM,sCAClB,MAAM1W,EAAIC,EAAEE,KACZ,IAAIC,EAAI,GACR,KAAOD,EAAIF,EAAEoI,QAAUpI,EAAEE,KAAOH,EAAGG,IACjCC,GAAKH,EAAEE,GACT,MAAO,CAACzB,EAAG0B,EAAGD,EAChB,CACA,SAASuhB,GAAGzhB,EAAGE,GACb,MAAoB,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,EACvD,CACA,SAASwhB,GAAG1hB,EAAGE,GACb,MAAoB,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,EACvI,CACA,SAASyhB,GAAG3hB,EAAGE,GACb,MAAoB,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,EAC3J,CACA,SAAS0hB,GAAG5hB,EAAGE,GACb,MAAoB,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,EAC3J,CACA,SAAS2hB,GAAG7hB,EAAGE,GACb,MAAoB,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,EAC/K,CACA,SAAS4hB,GAAG9hB,GACV,GAAIwhB,GAAGjE,OAAOvd,GACZ,OAAOA,EACT,MAAM,IAAIyW,MAAM,uBAAuBzW,IACzC,CAEA,MAAM4E,GAAK,wBAAyBmd,GAAK,+EACxCnf,OAAOuZ,UAAYlW,OAAOkW,WAAavZ,OAAOuZ,SAAWlW,OAAOkW,WAChEvZ,OAAOqU,YAAchR,OAAOgR,aAAerU,OAAOqU,WAAahR,OAAOgR,YACvE,MAAM1Q,GAAK,CACT+Z,KAAK,EACLC,cAAc,EACdyB,aAAc,IACdxB,WAAW,GAiCb,MAAM1gB,GAAIuL,EAAGH,GAxHb,MACE,WAAAoM,CAAYpX,GACVY,KAAKmhB,QAAU/hB,EAAGY,KAAKohB,MAAQ,GAAIphB,KAAK,MAAQ,CAAC,CACnD,CACA,GAAAO,CAAInB,EAAGzB,GACC,cAANyB,IAAsBA,EAAI,cAAeY,KAAKohB,MAAMrM,KAAK,CAAE,CAAC3V,GAAIzB,GAClE,CACA,QAAA0jB,CAASjiB,GACO,cAAdA,EAAE+hB,UAA4B/hB,EAAE+hB,QAAU,cAAe/hB,EAAE,OAASpB,OAAOqa,KAAKjZ,EAAE,OAAOkI,OAAS,EAAItH,KAAKohB,MAAMrM,KAAK,CAAE,CAAC3V,EAAE+hB,SAAU/hB,EAAEgiB,MAAO,KAAMhiB,EAAE,QAAWY,KAAKohB,MAAMrM,KAAK,CAAE,CAAC3V,EAAE+hB,SAAU/hB,EAAEgiB,OACpM,GA+GmBE,GA3GrB,SAAYpiB,EAAGE,GACb,MAAMzB,EAAI,CAAC,EACX,GAAiB,MAAbuB,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,GA6B5G,MAAM,IAAIuW,MAAM,kCA7BwG,CACxHvW,GAAQ,EACR,IAAIH,EAAI,EAAGI,GAAI,EAAIF,GAAI,EAAI4B,EAAI,GAC/B,KAAO3B,EAAIF,EAAEoI,OAAQlI,IACnB,GAAa,MAATF,EAAEE,IAAeD,EAiBd,GAAa,MAATD,EAAEE,IACX,GAAID,EAAiB,MAAbD,EAAEE,EAAI,IAA2B,MAAbF,EAAEE,EAAI,KAAeD,GAAI,EAAIF,KAAOA,IAAW,IAANA,EACnE,UAEO,MAATC,EAAEE,GAAaC,GAAI,EAAK0B,GAAK7B,EAAEE,OArBT,CACtB,GAAIC,GAAKuhB,GAAG1hB,EAAGE,GACbA,GAAK,GAAImiB,WAAYC,IAAKpiB,GAAK4E,GAAG9E,EAAGE,EAAI,IAA0B,IAAtBoiB,IAAI1H,QAAQ,OAAgBnc,EAAEqjB,GAAGO,aAAe,CAC3FE,KAAMrF,OAAO,IAAImF,cAAe,KAChCC,WAEC,GAAIniB,GAAKwhB,GAAG3hB,EAAGE,GAClBA,GAAK,OACF,GAAIC,GAAKyhB,GAAG5hB,EAAGE,GAClBA,GAAK,OACF,GAAIC,GAAK0hB,GAAG7hB,EAAGE,GAClBA,GAAK,MACF,KAAIuhB,GAGP,MAAM,IAAIhL,MAAM,mBAFhBxW,GAAI,CAE8B,CACpCF,IAAK8B,EAAI,EACX,CAKF,GAAU,IAAN9B,EACF,MAAM,IAAI0W,MAAM,mBACpB,CAEA,MAAO,CAAE+L,SAAU/jB,EAAGwB,EAAGC,EAC3B,EA0E8BuiB,GA9B9B,SAAYziB,EAAGE,EAAI,CAAC,GAClB,GAAIA,EAAIpB,OAAOqf,OAAO,CAAC,EAAG5X,GAAIrG,IAAKF,GAAiB,iBAALA,EAC7C,OAAOA,EACT,IAAIvB,EAAIuB,EAAEsP,OACV,QAAmB,IAAfpP,EAAEwiB,UAAuBxiB,EAAEwiB,SAASC,KAAKlkB,GAC3C,OAAOuB,EACT,GAAIE,EAAEogB,KAAO1b,GAAG+d,KAAKlkB,GACnB,OAAOmE,OAAOuZ,SAAS1d,EAAG,IAC5B,CACE,MAAMsB,EAAIgiB,GAAGvK,KAAK/Y,GAClB,GAAIsB,EAAG,CACL,MAAMI,EAAIJ,EAAE,GAAIE,EAAIF,EAAE,GACtB,IAAI8B,EAcV,SAAY7B,GACV,OAAOA,IAAyB,IAApBA,EAAE4a,QAAQ,OAAgD,OAAhC5a,EAAIA,EAAEP,QAAQ,MAAO,KAAiBO,EAAI,IAAe,MAATA,EAAE,GAAaA,EAAI,IAAMA,EAAwB,MAApBA,EAAEA,EAAEoI,OAAS,KAAepI,EAAIA,EAAEge,OAAO,EAAGhe,EAAEoI,OAAS,KAAMpI,CAClL,CAhBc4iB,CAAG7iB,EAAE,IACb,MAAMO,EAAIP,EAAE,IAAMA,EAAE,GACpB,IAAKG,EAAEqgB,cAAgBtgB,EAAEmI,OAAS,GAAKjI,GAAc,MAAT1B,EAAE,GAC5C,OAAOuB,EACT,IAAKE,EAAEqgB,cAAgBtgB,EAAEmI,OAAS,IAAMjI,GAAc,MAAT1B,EAAE,GAC7C,OAAOuB,EACT,CACE,MAAMK,EAAIuC,OAAOnE,GAAIoM,EAAI,GAAKxK,EAC9B,OAA6B,IAAtBwK,EAAE+I,OAAO,SAAkBtT,EAAIJ,EAAEsgB,UAAYngB,EAAIL,GAAwB,IAApBvB,EAAEmc,QAAQ,KAAoB,MAAN/P,GAAmB,KAANhJ,GAAYgJ,IAAMhJ,GAAK1B,GAAK0K,IAAM,IAAMhJ,EAAIxB,EAAIL,EAAIC,EAAI4B,IAAMgJ,GAAK1K,EAAI0B,IAAMgJ,EAAIxK,EAAIL,EAAIvB,IAAMoM,GAAKpM,IAAM0B,EAAI0K,EAAIxK,EAAIL,CACzN,CACF,CACE,OAAOA,CACX,CACF,EA+BA,SAAS6iB,GAAG7iB,GACV,MAAME,EAAIpB,OAAOqa,KAAKnZ,GACtB,IAAK,IAAIvB,EAAI,EAAGA,EAAIyB,EAAEkI,OAAQ3J,IAAK,CACjC,MAAMsB,EAAIG,EAAEzB,GACZqC,KAAKgiB,aAAa/iB,GAAK,CACrBgjB,MAAO,IAAI7F,OAAO,IAAMnd,EAAI,IAAK,KACjCuiB,IAAKtiB,EAAED,GAEX,CACF,CACA,SAASijB,GAAGhjB,EAAGE,EAAGzB,EAAGsB,EAAGI,EAAGF,EAAG4B,GAC5B,QAAU,IAAN7B,IAAiBc,KAAKP,QAAQ4f,aAAepgB,IAAMC,EAAIA,EAAEsP,QAAStP,EAAEoI,OAAS,GAAI,CACnFvG,IAAM7B,EAAIc,KAAKmiB,qBAAqBjjB,IACpC,MAAMM,EAAIQ,KAAKP,QAAQkgB,kBAAkBvgB,EAAGF,EAAGvB,EAAG0B,EAAGF,GACrD,OAAY,MAALK,EAAYN,SAAWM,UAAYN,GAAKM,IAAMN,EAAIM,EAAIQ,KAAKP,QAAQ4f,YAAiFngB,EAAEsP,SAAWtP,EAAjFqE,GAAErE,EAAGc,KAAKP,QAAQ0f,cAAenf,KAAKP,QAAQ8f,oBAA2GrgB,CAClP,CACF,CACA,SAASkjB,GAAGljB,GACV,GAAIc,KAAKP,QAAQyf,eAAgB,CAC/B,MAAM9f,EAAIF,EAAE8P,MAAM,KAAMrR,EAAoB,MAAhBuB,EAAEmjB,OAAO,GAAa,IAAM,GACxD,GAAa,UAATjjB,EAAE,GACJ,MAAO,GACI,IAAbA,EAAEkI,SAAiBpI,EAAIvB,EAAIyB,EAAE,GAC/B,CACA,OAAOF,CACT,CAlDA,wFAAwFP,QAAQ,QAASK,GAAE6d,YAmD3G,MAAMyF,GAAK,IAAIlG,OAAO,+CAA+C,MACrE,SAASmG,GAAGrjB,EAAGE,EAAGzB,GAChB,IAAKqC,KAAKP,QAAQwf,kBAAgC,iBAAL/f,EAAe,CAC1D,MAAMD,EAAID,GAAE0d,cAAcxd,EAAGojB,IAAKjjB,EAAIJ,EAAEqI,OAAQnI,EAAI,CAAC,EACrD,IAAK,IAAI4B,EAAI,EAAGA,EAAI1B,EAAG0B,IAAK,CAC1B,MAAMvB,EAAIQ,KAAKwiB,iBAAiBvjB,EAAE8B,GAAG,IACrC,IAAIxB,EAAIN,EAAE8B,GAAG,GAAIgJ,EAAI/J,KAAKP,QAAQqf,oBAAsBtf,EACxD,GAAIA,EAAE8H,OACJ,GAAItH,KAAKP,QAAQ6gB,yBAA2BvW,EAAI/J,KAAKP,QAAQ6gB,uBAAuBvW,IAAW,cAANA,IAAsBA,EAAI,mBAAqB,IAANxK,EAAc,CAC9IS,KAAKP,QAAQ4f,aAAe9f,EAAIA,EAAEiP,QAASjP,EAAIS,KAAKmiB,qBAAqB5iB,GACzE,MAAMD,EAAIU,KAAKP,QAAQmgB,wBAAwBpgB,EAAGD,EAAGH,GACzCD,EAAE4K,GAAT,MAALzK,EAAmBC,SAAWD,UAAYC,GAAKD,IAAMC,EAAWD,EAAWiE,GACzEhE,EACAS,KAAKP,QAAQ2f,oBACbpf,KAAKP,QAAQ8f,mBAEjB,MACEvf,KAAKP,QAAQud,yBAA2B7d,EAAE4K,IAAK,EACrD,CACA,IAAK/L,OAAOqa,KAAKlZ,GAAGmI,OAClB,OACF,GAAItH,KAAKP,QAAQsf,oBAAqB,CACpC,MAAMhe,EAAI,CAAC,EACX,OAAOA,EAAEf,KAAKP,QAAQsf,qBAAuB5f,EAAG4B,CAClD,CACA,OAAO5B,CACT,CACF,CACA,MAAMwF,GAAK,SAASzF,GAClBA,EAAIA,EAAEP,QAAQ,SAAU,MAExB,MAAMS,EAAI,IAAIgL,GAAE,QAChB,IAAIzM,EAAIyB,EAAGH,EAAI,GAAII,EAAI,GACvB,IAAK,IAAIF,EAAI,EAAGA,EAAID,EAAEoI,OAAQnI,IAC5B,GAAa,MAATD,EAAEC,GACJ,GAAiB,MAAbD,EAAEC,EAAI,GAAY,CACpB,MAAMK,EAAIijB,GAAEvjB,EAAG,IAAKC,EAAG,8BACvB,IAAII,EAAIL,EAAEqe,UAAUpe,EAAI,EAAGK,GAAGgP,OAC9B,GAAIxO,KAAKP,QAAQyf,eAAgB,CAC/B,MAAMnf,EAAIR,EAAEua,QAAQ,MACb,IAAP/Z,IAAaR,EAAIA,EAAE2d,OAAOnd,EAAI,GAChC,CACAC,KAAKP,QAAQ4gB,mBAAqB9gB,EAAIS,KAAKP,QAAQ4gB,iBAAiB9gB,IAAK5B,IAAMsB,EAAIe,KAAK0iB,oBAAoBzjB,EAAGtB,EAAG0B,IAClH,MAAM0K,EAAI1K,EAAEke,UAAUle,EAAEsjB,YAAY,KAAO,GAC3C,GAAIpjB,IAA+C,IAA1CS,KAAKP,QAAQwd,aAAanD,QAAQva,GACzC,MAAM,IAAIoW,MAAM,kDAAkDpW,MACpE,IAAID,EAAI,EACRyK,IAA+C,IAA1C/J,KAAKP,QAAQwd,aAAanD,QAAQ/P,IAAazK,EAAID,EAAEsjB,YAAY,IAAKtjB,EAAEsjB,YAAY,KAAO,GAAI3iB,KAAK4iB,cAAc3I,OAAS3a,EAAID,EAAEsjB,YAAY,KAAMtjB,EAAIA,EAAEke,UAAU,EAAGje,GAAI3B,EAAIqC,KAAK4iB,cAAc3I,MAAOhb,EAAI,GAAIE,EAAIK,CAC3N,MAAO,GAAiB,MAAbN,EAAEC,EAAI,GAAY,CAC3B,IAAIK,EAAIyK,GAAE/K,EAAGC,GAAG,EAAI,MACpB,IAAKK,EACH,MAAM,IAAImW,MAAM,yBAClB,GAAI1W,EAAIe,KAAK0iB,oBAAoBzjB,EAAGtB,EAAG0B,KAAMW,KAAKP,QAAQ0gB,mBAAmC,SAAd3gB,EAAEue,SAAsB/d,KAAKP,QAAQ2gB,cAAe,CACjI,MAAM7gB,EAAI,IAAI6K,GAAE5K,EAAEue,SAClBxe,EAAEgB,IAAIP,KAAKP,QAAQuf,aAAc,IAAKxf,EAAEue,UAAYve,EAAEqjB,QAAUrjB,EAAEsjB,iBAAmBvjB,EAAE,MAAQS,KAAK+iB,mBAAmBvjB,EAAEqjB,OAAQxjB,EAAGG,EAAEue,UAAW/d,KAAKqhB,SAAS1jB,EAAG4B,EAAGF,EACvK,CACAF,EAAIK,EAAEwjB,WAAa,CACrB,MAAO,GAA2B,QAAvB9jB,EAAEge,OAAO/d,EAAI,EAAG,GAAc,CACvC,MAAMK,EAAIijB,GAAEvjB,EAAG,SAAOC,EAAI,EAAG,0BAC7B,GAAIa,KAAKP,QAAQugB,gBAAiB,CAChC,MAAMzgB,EAAIL,EAAEqe,UAAUpe,EAAI,EAAGK,EAAI,GACjCP,EAAIe,KAAK0iB,oBAAoBzjB,EAAGtB,EAAG0B,GAAI1B,EAAE4C,IAAIP,KAAKP,QAAQugB,gBAAiB,CAAC,CAAE,CAAChgB,KAAKP,QAAQuf,cAAezf,IAC7G,CACAJ,EAAIK,CACN,MAAO,GAA2B,OAAvBN,EAAEge,OAAO/d,EAAI,EAAG,GAAa,CACtC,MAAMK,EAAI8hB,GAAGpiB,EAAGC,GAChBa,KAAKijB,gBAAkBzjB,EAAEkiB,SAAUviB,EAAIK,EAAEL,CAC3C,MAAO,GAA2B,OAAvBD,EAAEge,OAAO/d,EAAI,EAAG,GAAa,CACtC,MAAMK,EAAIijB,GAAEvjB,EAAG,MAAOC,EAAG,wBAA0B,EAAGI,EAAIL,EAAEqe,UAAUpe,EAAI,EAAGK,GAC7E,GAAIP,EAAIe,KAAK0iB,oBAAoBzjB,EAAGtB,EAAG0B,GAAIW,KAAKP,QAAQ6f,cACtD3hB,EAAE4C,IAAIP,KAAKP,QAAQ6f,cAAe,CAAC,CAAE,CAACtf,KAAKP,QAAQuf,cAAezf,SAC/D,CACH,IAAIwK,EAAI/J,KAAKkjB,cAAc3jB,EAAG5B,EAAEwjB,QAAS9hB,GAAG,GAAI,GAAI,GAC/C,MAAL0K,IAAcA,EAAI,IAAKpM,EAAE4C,IAAIP,KAAKP,QAAQuf,aAAcjV,EAC1D,CACA5K,EAAIK,EAAI,CACV,KAAO,CACL,IAAIA,EAAIyK,GAAE/K,EAAGC,EAAGa,KAAKP,QAAQyf,gBAAiB3f,EAAIC,EAAEue,QACpD,MAAMhU,EAAIvK,EAAE2jB,WACZ,IAAI7jB,EAAIE,EAAEqjB,OAAQ9iB,EAAIP,EAAEsjB,eAAgBhkB,EAAIU,EAAEwjB,WAC9ChjB,KAAKP,QAAQ4gB,mBAAqB9gB,EAAIS,KAAKP,QAAQ4gB,iBAAiB9gB,IAAK5B,GAAKsB,GAAmB,SAAdtB,EAAEwjB,UAAuBliB,EAAIe,KAAK0iB,oBAAoBzjB,EAAGtB,EAAG0B,GAAG,IAClJ,MAAMyB,EAAInD,EACV,GAAImD,IAAuD,IAAlDd,KAAKP,QAAQwd,aAAanD,QAAQhZ,EAAEqgB,WAAoBxjB,EAAIqC,KAAK4iB,cAAc3I,MAAO5a,EAAIA,EAAEke,UAAU,EAAGle,EAAEsjB,YAAY,OAAQpjB,IAAMH,EAAE+hB,UAAY9hB,GAAKA,EAAI,IAAME,EAAIA,GAAIS,KAAKojB,aAAapjB,KAAKP,QAAQogB,UAAWxgB,EAAGE,GAAI,CAClO,IAAIuK,EAAI,GACR,GAAIxK,EAAEgI,OAAS,GAAKhI,EAAEqjB,YAAY,OAASrjB,EAAEgI,OAAS,EACpDnI,EAAIK,EAAEwjB,gBACH,IAA8C,IAA1ChjB,KAAKP,QAAQwd,aAAanD,QAAQva,GACzCJ,EAAIK,EAAEwjB,eACH,CACH,MAAM3Y,EAAIrK,KAAKqjB,iBAAiBnkB,EAAG6K,EAAGjL,EAAI,GAC1C,IAAKuL,EACH,MAAM,IAAIsL,MAAM,qBAAqB5L,KACvC5K,EAAIkL,EAAElL,EAAG2K,EAAIO,EAAEiZ,UACjB,CACA,MAAMzkB,EAAI,IAAIuL,GAAE7K,GAChBA,IAAMD,GAAKS,IAAMlB,EAAE,MAAQmB,KAAK+iB,mBAAmBzjB,EAAGD,EAAGE,IAAKuK,IAAMA,EAAI9J,KAAKkjB,cAAcpZ,EAAGvK,EAAGF,GAAG,EAAIU,GAAG,GAAI,IAAMV,EAAIA,EAAE6d,OAAO,EAAG7d,EAAEsjB,YAAY,MAAO9jB,EAAE0B,IAAIP,KAAKP,QAAQuf,aAAclV,GAAI9J,KAAKqhB,SAAS1jB,EAAGkB,EAAGQ,EACrN,KAAO,CACL,GAAIC,EAAEgI,OAAS,GAAKhI,EAAEqjB,YAAY,OAASrjB,EAAEgI,OAAS,EAAG,CACnC,MAApB/H,EAAEA,EAAE+H,OAAS,IAAc/H,EAAIA,EAAE2d,OAAO,EAAG3d,EAAE+H,OAAS,GAAIjI,EAAIA,EAAE6d,OAAO,EAAG7d,EAAEiI,OAAS,GAAIhI,EAAIC,GAAKD,EAAIA,EAAE4d,OAAO,EAAG5d,EAAEgI,OAAS,GAAItH,KAAKP,QAAQ4gB,mBAAqB9gB,EAAIS,KAAKP,QAAQ4gB,iBAAiB9gB,IACrM,MAAMuK,EAAI,IAAIM,GAAE7K,GAChBA,IAAMD,GAAKS,IAAM+J,EAAE,MAAQ9J,KAAK+iB,mBAAmBzjB,EAAGD,EAAGE,IAAKS,KAAKqhB,SAAS1jB,EAAGmM,EAAGzK,GAAIA,EAAIA,EAAE6d,OAAO,EAAG7d,EAAEsjB,YAAY,KACtH,KAAO,CACL,MAAM7Y,EAAI,IAAIM,GAAE7K,GAChBS,KAAK4iB,cAAc7N,KAAKpX,GAAI4B,IAAMD,GAAKS,IAAM+J,EAAE,MAAQ9J,KAAK+iB,mBAAmBzjB,EAAGD,EAAGE,IAAKS,KAAKqhB,SAAS1jB,EAAGmM,EAAGzK,GAAI1B,EAAImM,CACxH,CACA7K,EAAI,GAAIE,EAAIL,CACd,CACF,MAEAG,GAAKC,EAAEC,GACX,OAAOC,EAAEgiB,KACX,EACA,SAASmC,GAAGrkB,EAAGE,EAAGzB,GAChB,MAAMsB,EAAIe,KAAKP,QAAQ8gB,UAAUnhB,EAAE+hB,QAASxjB,EAAGyB,EAAE,QAC3C,IAANH,IAAyB,iBAALA,IAAkBG,EAAE+hB,QAAUliB,GAAIC,EAAEmiB,SAASjiB,GACnE,CACA,MAAMokB,GAAK,SAAStkB,GAClB,GAAIc,KAAKP,QAAQwgB,gBAAiB,CAChC,IAAK,IAAI7gB,KAAKY,KAAKijB,gBAAiB,CAClC,MAAMtlB,EAAIqC,KAAKijB,gBAAgB7jB,GAC/BF,EAAIA,EAAEP,QAAQhB,EAAE8jB,KAAM9jB,EAAE6jB,IAC1B,CACA,IAAK,IAAIpiB,KAAKY,KAAKgiB,aAAc,CAC/B,MAAMrkB,EAAIqC,KAAKgiB,aAAa5iB,GAC5BF,EAAIA,EAAEP,QAAQhB,EAAEskB,MAAOtkB,EAAE6jB,IAC3B,CACA,GAAIxhB,KAAKP,QAAQygB,aACf,IAAK,IAAI9gB,KAAKY,KAAKkgB,aAAc,CAC/B,MAAMviB,EAAIqC,KAAKkgB,aAAa9gB,GAC5BF,EAAIA,EAAEP,QAAQhB,EAAEskB,MAAOtkB,EAAE6jB,IAC3B,CACFtiB,EAAIA,EAAEP,QAAQqB,KAAKyjB,UAAUxB,MAAOjiB,KAAKyjB,UAAUjC,IACrD,CACA,OAAOtiB,CACT,EACA,SAASwkB,GAAGxkB,EAAGE,EAAGzB,EAAGsB,GACnB,OAAOC,SAAY,IAAND,IAAiBA,EAAoC,IAAhCjB,OAAOqa,KAAKjZ,EAAEgiB,OAAO9Z,aAO9C,KAP6DpI,EAAIc,KAAKkjB,cAC7EhkB,EACAE,EAAE+hB,QACFxjB,GACA,IACAyB,EAAE,OAAwC,IAAhCpB,OAAOqa,KAAKjZ,EAAE,OAAOkI,OAC/BrI,KACuB,KAANC,GAAYE,EAAEmB,IAAIP,KAAKP,QAAQuf,aAAc9f,GAAIA,EAAI,IAAKA,CAC/E,CACA,SAASykB,GAAGzkB,EAAGE,EAAGzB,GAChB,MAAMsB,EAAI,KAAOtB,EACjB,IAAK,MAAM0B,KAAKH,EAAG,CACjB,MAAMC,EAAID,EAAEG,GACZ,GAAIJ,IAAME,GAAKC,IAAMD,EACnB,OAAO,CACX,CACA,OAAO,CACT,CA0BA,SAASsjB,GAAEvjB,EAAGE,EAAGzB,EAAGsB,GAClB,MAAMI,EAAIH,EAAE4a,QAAQ1a,EAAGzB,GACvB,IAAW,IAAP0B,EACF,MAAM,IAAIsW,MAAM1W,GAClB,OAAOI,EAAID,EAAEkI,OAAS,CACxB,CACA,SAAS2C,GAAE/K,EAAGE,EAAGzB,EAAGsB,EAAI,KACtB,MAAMI,EAhCR,SAAYH,EAAGE,EAAGzB,EAAI,KACpB,IAAIsB,EAAGI,EAAI,GACX,IAAK,IAAIF,EAAIC,EAAGD,EAAID,EAAEoI,OAAQnI,IAAK,CACjC,IAAI4B,EAAI7B,EAAEC,GACV,GAAIF,EACF8B,IAAM9B,IAAMA,EAAI,SACb,GAAU,MAAN8B,GAAmB,MAANA,EACpB9B,EAAI8B,OACD,GAAIA,IAAMpD,EAAE,GACf,KAAIA,EAAE,GAOJ,MAAO,CACL8F,KAAMpE,EACNoe,MAAOte,GART,GAAID,EAAEC,EAAI,KAAOxB,EAAE,GACjB,MAAO,CACL8F,KAAMpE,EACNoe,MAAOte,EAMV,KAEG,OAAN4B,IAAcA,EAAI,KACpB1B,GAAK0B,CACP,CACF,CAQY6iB,CAAG1kB,EAAGE,EAAI,EAAGH,GACvB,IAAKI,EACH,OACF,IAAIF,EAAIE,EAAEoE,KACV,MAAM1C,EAAI1B,EAAEoe,MAAOje,EAAIL,EAAE2T,OAAO,MAChC,IAAIvT,EAAIJ,EAAG4K,GAAI,GACR,IAAPvK,IAAaD,EAAIJ,EAAE+d,OAAO,EAAG1d,GAAGb,QAAQ,SAAU,IAAKQ,EAAIA,EAAE+d,OAAO1d,EAAI,IACxE,MAAMF,EAAIC,EACV,GAAI5B,EAAG,CACL,MAAMoC,EAAIR,EAAEua,QAAQ,MACb,IAAP/Z,IAAaR,EAAIA,EAAE2d,OAAOnd,EAAI,GAAIgK,EAAIxK,IAAMF,EAAEoE,KAAKyZ,OAAOnd,EAAI,GAChE,CACA,MAAO,CACLge,QAASxe,EACTsjB,OAAQ1jB,EACR6jB,WAAYjiB,EACZ+hB,eAAgB/Y,EAChBoZ,WAAY7jB,EAEhB,CACA,SAASwJ,GAAG5J,EAAGE,EAAGzB,GAChB,MAAMsB,EAAItB,EACV,IAAI0B,EAAI,EACR,KAAO1B,EAAIuB,EAAEoI,OAAQ3J,IACnB,GAAa,MAATuB,EAAEvB,GACJ,GAAiB,MAAbuB,EAAEvB,EAAI,GAAY,CACpB,MAAMwB,EAAIsjB,GAAEvjB,EAAG,IAAKvB,EAAG,GAAGyB,mBAC1B,GAAIF,EAAEqe,UAAU5f,EAAI,EAAGwB,GAAGqP,SAAWpP,IAAMC,IAAW,IAANA,GAC9C,MAAO,CACLikB,WAAYpkB,EAAEqe,UAAUte,EAAGtB,GAC3BwB,KAEJxB,EAAIwB,CACN,MAAO,GAAiB,MAAbD,EAAEvB,EAAI,GACfA,EAAI8kB,GAAEvjB,EAAG,KAAMvB,EAAI,EAAG,gCACnB,GAA2B,QAAvBuB,EAAEge,OAAOvf,EAAI,EAAG,GACvBA,EAAI8kB,GAAEvjB,EAAG,SAAOvB,EAAI,EAAG,gCACpB,GAA2B,OAAvBuB,EAAEge,OAAOvf,EAAI,EAAG,GACvBA,EAAI8kB,GAAEvjB,EAAG,MAAOvB,EAAG,2BAA6B,MAC7C,CACH,MAAMwB,EAAI8K,GAAE/K,EAAGvB,EAAG,KAClBwB,KAAOA,GAAKA,EAAE4e,WAAa3e,GAAuC,MAAlCD,EAAE0jB,OAAO1jB,EAAE0jB,OAAOvb,OAAS,IAAcjI,IAAK1B,EAAIwB,EAAE6jB,WACtF,CACN,CACA,SAASzf,GAAErE,EAAGE,EAAGzB,GACf,GAAIyB,GAAiB,iBAALF,EAAe,CAC7B,MAAMD,EAAIC,EAAEsP,OACZ,MAAa,SAANvP,GAA0B,UAANA,GAAqB0iB,GAAGziB,EAAGvB,EACxD,CACE,OAAOqB,GAAEqd,QAAQnd,GAAKA,EAAI,EAC9B,CACA,IAAa2kB,GAAK,CAAC,EAInB,SAASC,GAAG5kB,EAAGE,EAAGzB,GAChB,IAAIsB,EACJ,MAAMI,EAAI,CAAC,EACX,IAAK,IAAIF,EAAI,EAAGA,EAAID,EAAEoI,OAAQnI,IAAK,CACjC,MAAM4B,EAAI7B,EAAEC,GAAIK,EAAIukB,GAAGhjB,GACvB,IAAIxB,EAAI,GACR,GAAmBA,OAAT,IAAN5B,EAAmB6B,EAAQ7B,EAAI,IAAM6B,EAAGA,IAAMJ,EAAE4f,kBAC5C,IAAN/f,EAAeA,EAAI8B,EAAEvB,GAAKP,GAAK,GAAK8B,EAAEvB,OACnC,CACH,QAAU,IAANA,EACF,SACF,GAAIuB,EAAEvB,GAAI,CACR,IAAIuK,EAAI+Z,GAAG/iB,EAAEvB,GAAIJ,EAAGG,GACpB,MAAMD,EAAI0kB,GAAGja,EAAG3K,GAChB2B,EAAE,MAAQkjB,GAAGla,EAAGhJ,EAAE,MAAOxB,EAAGH,GAA+B,IAA1BpB,OAAOqa,KAAKtO,GAAGzC,aAAsC,IAAtByC,EAAE3K,EAAE4f,eAA6B5f,EAAE0gB,qBAAyE,IAA1B9hB,OAAOqa,KAAKtO,GAAGzC,SAAiBlI,EAAE0gB,qBAAuB/V,EAAE3K,EAAE4f,cAAgB,GAAKjV,EAAI,IAA9GA,EAAIA,EAAE3K,EAAE4f,mBAAoH,IAAT3f,EAAEG,IAAiBH,EAAEqf,eAAelf,IAAM0kB,MAAMnE,QAAQ1gB,EAAEG,MAAQH,EAAEG,GAAK,CAACH,EAAEG,KAAMH,EAAEG,GAAGuV,KAAKhL,IAAM3K,EAAE2gB,QAAQvgB,EAAGD,EAAGD,GAAKD,EAAEG,GAAK,CAACuK,GAAK1K,EAAEG,GAAKuK,CAC1X,CACF,CACF,CACA,MAAmB,iBAAL9K,EAAgBA,EAAEqI,OAAS,IAAMjI,EAAED,EAAE4f,cAAgB/f,QAAW,IAANA,IAAiBI,EAAED,EAAE4f,cAAgB/f,GAAII,CACnH,CACA,SAAS0kB,GAAG7kB,GACV,MAAME,EAAIpB,OAAOqa,KAAKnZ,GACtB,IAAK,IAAIvB,EAAI,EAAGA,EAAIyB,EAAEkI,OAAQ3J,IAAK,CACjC,MAAMsB,EAAIG,EAAEzB,GACZ,GAAU,OAANsB,EACF,OAAOA,CACX,CACF,CACA,SAASglB,GAAG/kB,EAAGE,EAAGzB,EAAGsB,GACnB,GAAIG,EAAG,CACL,MAAMC,EAAIrB,OAAOqa,KAAKjZ,GAAID,EAAIE,EAAEiI,OAChC,IAAK,IAAIvG,EAAI,EAAGA,EAAI5B,EAAG4B,IAAK,CAC1B,MAAMvB,EAAIH,EAAE0B,GACZ9B,EAAE8gB,QAAQvgB,EAAG7B,EAAI,IAAM6B,GAAG,GAAI,GAAMN,EAAEM,GAAK,CAACJ,EAAEI,IAAMN,EAAEM,GAAKJ,EAAEI,EAC/D,CACF,CACF,CACA,SAASwkB,GAAG9kB,EAAGE,GACb,MAAQ4f,aAAcrhB,GAAMyB,EAAGH,EAAIjB,OAAOqa,KAAKnZ,GAAGoI,OAClD,QAAgB,IAANrI,IAAiB,IAANA,IAAYC,EAAEvB,IAAqB,kBAARuB,EAAEvB,IAA4B,IAATuB,EAAEvB,IACzE,CACAkmB,GAAGM,SA5CH,SAAYjlB,EAAGE,GACb,OAAO0kB,GAAG5kB,EAAGE,EACf,EA2CA,MAAQohB,aAAc4D,IAAOja,GAAGtD,GA7UvB,MACP,WAAA2P,CAAYpX,GACVY,KAAKP,QAAUL,EAAGY,KAAKqkB,YAAc,KAAMrkB,KAAK4iB,cAAgB,GAAI5iB,KAAKijB,gBAAkB,CAAC,EAAGjjB,KAAKgiB,aAAe,CACjHsC,KAAM,CAAErC,MAAO,qBAAsBT,IAAK,KAC1C1Y,GAAI,CAAEmZ,MAAO,mBAAoBT,IAAK,KACtC+B,GAAI,CAAEtB,MAAO,mBAAoBT,IAAK,KACtC+C,KAAM,CAAEtC,MAAO,qBAAsBT,IAAK,MACzCxhB,KAAKyjB,UAAY,CAAExB,MAAO,oBAAqBT,IAAK,KAAOxhB,KAAKkgB,aAAe,CAChFsE,MAAO,CAAEvC,MAAO,iBAAkBT,IAAK,KAMvCiD,KAAM,CAAExC,MAAO,iBAAkBT,IAAK,KACtCkD,MAAO,CAAEzC,MAAO,kBAAmBT,IAAK,KACxCmD,IAAK,CAAE1C,MAAO,gBAAiBT,IAAK,KACpCoD,KAAM,CAAE3C,MAAO,kBAAmBT,IAAK,KACvCqD,UAAW,CAAE5C,MAAO,iBAAkBT,IAAK,KAC3CsD,IAAK,CAAE7C,MAAO,gBAAiBT,IAAK,KACpCuD,IAAK,CAAE9C,MAAO,iBAAkBT,IAAK,MACpCxhB,KAAKglB,oBAAsBjD,GAAI/hB,KAAKilB,SAAWtgB,GAAI3E,KAAKkjB,cAAgBhB,GAAIliB,KAAKwiB,iBAAmBJ,GAAIpiB,KAAK+iB,mBAAqBR,GAAIviB,KAAKojB,aAAeO,GAAI3jB,KAAKmiB,qBAAuBqB,GAAIxjB,KAAKqjB,iBAAmBva,GAAI9I,KAAK0iB,oBAAsBgB,GAAI1jB,KAAKqhB,SAAWkC,EAC9Q,IAuTyCY,SAAUe,IAAOrB,GAAIsB,GAAK7hB,EAiDrE,SAAS8hB,GAAGlmB,EAAGE,EAAGzB,EAAGsB,GACnB,IAAII,EAAI,GAAIF,GAAI,EAChB,IAAK,IAAI4B,EAAI,EAAGA,EAAI7B,EAAEoI,OAAQvG,IAAK,CACjC,MAAMvB,EAAIN,EAAE6B,GAAIxB,EAAI8lB,GAAG7lB,GACvB,QAAU,IAAND,EACF,SACF,IAAIwK,EAAI,GACR,GAAqBA,EAAJ,IAAbpM,EAAE2J,OAAmB/H,EAAQ,GAAG5B,KAAK4B,IAAKA,IAAMH,EAAE4f,aAAc,CAClE,IAAIlV,EAAItK,EAAED,GACV8O,GAAGtE,EAAG3K,KAAO0K,EAAI1K,EAAEugB,kBAAkBpgB,EAAGuK,GAAIA,EAAI9G,GAAG8G,EAAG1K,IAAKD,IAAME,GAAKJ,GAAII,GAAKyK,EAAG3K,GAAI,EACtF,QACF,CAAO,GAAII,IAAMH,EAAEkgB,cAAe,CAChCngB,IAAME,GAAKJ,GAAII,GAAK,YAAYG,EAAED,GAAG,GAAGH,EAAE4f,mBAAoB7f,GAAI,EAClE,QACF,CAAO,GAAII,IAAMH,EAAE4gB,gBAAiB,CAClC3gB,GAAKJ,EAAI,UAAOO,EAAED,GAAG,GAAGH,EAAE4f,sBAAoB7f,GAAI,EAClD,QACF,CAAO,GAAa,MAATI,EAAE,GAAY,CACvB,MAAMuK,EAAIc,GAAEpL,EAAE,MAAOJ,GAAIP,EAAU,SAANU,EAAe,GAAKN,EACjD,IAAIoL,EAAI7K,EAAED,GAAG,GAAGH,EAAE4f,cAClB3U,EAAiB,IAAbA,EAAE/C,OAAe,IAAM+C,EAAI,GAAIhL,GAAKR,EAAI,IAAIU,IAAI8K,IAAIP,MAAO3K,GAAI,EACnE,QACF,CACA,IAAIG,EAAIL,EACF,KAANK,IAAaA,GAAKF,EAAEkmB,UACpB,MAAyBxmB,EAAIG,EAAI,IAAIM,IAA3BqL,GAAEpL,EAAE,MAAOJ,KAAyB0B,EAAIskB,GAAG5lB,EAAED,GAAIH,EAAG2K,EAAGzK,IAClC,IAA/BF,EAAE6d,aAAanD,QAAQva,GAAYH,EAAEmmB,qBAAuBlmB,GAAKP,EAAI,IAAMO,GAAKP,EAAI,KAASgC,GAAkB,IAAbA,EAAEwG,SAAiBlI,EAAEomB,kBAAoC1kB,GAAKA,EAAE2kB,SAAS,KAAOpmB,GAAKP,EAAI,IAAIgC,IAAI7B,MAAMM,MAAQF,GAAKP,EAAI,IAAKgC,GAAW,KAAN7B,IAAa6B,EAAEsM,SAAS,OAAStM,EAAEsM,SAAS,OAAS/N,GAAKJ,EAAIG,EAAEkmB,SAAWxkB,EAAI7B,EAAII,GAAKyB,EAAGzB,GAAK,KAAKE,MAA9LF,GAAKP,EAAI,KAA4LK,GAAI,CACtV,CACA,OAAOE,CACT,CACA,SAASgmB,GAAGnmB,GACV,MAAME,EAAIpB,OAAOqa,KAAKnZ,GACtB,IAAK,IAAIvB,EAAI,EAAGA,EAAIyB,EAAEkI,OAAQ3J,IAAK,CACjC,MAAMsB,EAAIG,EAAEzB,GACZ,GAAIuB,EAAEwf,eAAezf,IAAY,OAANA,EACzB,OAAOA,CACX,CACF,CACA,SAAS2L,GAAE1L,EAAGE,GACZ,IAAIzB,EAAI,GACR,GAAIuB,IAAME,EAAE6f,iBACV,IAAK,IAAIhgB,KAAKC,EAAG,CACf,IAAKA,EAAEwf,eAAezf,GACpB,SACF,IAAII,EAAID,EAAEwgB,wBAAwB3gB,EAAGC,EAAED,IACvCI,EAAI2D,GAAG3D,EAAGD,IAAU,IAANC,GAAYD,EAAEsmB,0BAA4B/nB,GAAK,IAAIsB,EAAEie,OAAO9d,EAAE0f,oBAAoBxX,UAAY3J,GAAK,IAAIsB,EAAEie,OAAO9d,EAAE0f,oBAAoBxX,YAAYjI,IAClK,CACF,OAAO1B,CACT,CACA,SAAS0Q,GAAGnP,EAAGE,GAEb,IAAIzB,GADJuB,EAAIA,EAAEge,OAAO,EAAGhe,EAAEoI,OAASlI,EAAE4f,aAAa1X,OAAS,IACzC4V,OAAOhe,EAAEyjB,YAAY,KAAO,GACtC,IAAK,IAAI1jB,KAAKG,EAAEygB,UACd,GAAIzgB,EAAEygB,UAAU5gB,KAAOC,GAAKE,EAAEygB,UAAU5gB,KAAO,KAAOtB,EACpD,OAAO,EACX,OAAO,CACT,CACA,SAASqF,GAAG9D,EAAGE,GACb,GAAIF,GAAKA,EAAEoI,OAAS,GAAKlI,EAAE6gB,gBACzB,IAAK,IAAItiB,EAAI,EAAGA,EAAIyB,EAAEsiB,SAASpa,OAAQ3J,IAAK,CAC1C,MAAMsB,EAAIG,EAAEsiB,SAAS/jB,GACrBuB,EAAIA,EAAEP,QAAQM,EAAEgjB,MAAOhjB,EAAEuiB,IAC3B,CACF,OAAOtiB,CACT,CAEA,MAAMymB,GAtEN,SAAYzmB,EAAGE,GACb,IAAIzB,EAAI,GACR,OAAOyB,EAAEwmB,QAAUxmB,EAAEkmB,SAAShe,OAAS,IAAM3J,EAJpC,MAI6CynB,GAAGlmB,EAAGE,EAAG,GAAIzB,EACrE,EAmEekoB,GAAK,CAClB/G,oBAAqB,KACrBC,qBAAqB,EACrBC,aAAc,QACdC,kBAAkB,EAClBK,eAAe,EACfsG,QAAQ,EACRN,SAAU,KACVE,mBAAmB,EACnBD,sBAAsB,EACtBG,2BAA2B,EAC3B/F,kBAAmB,SAASzgB,EAAGE,GAC7B,OAAOA,CACT,EACAwgB,wBAAyB,SAAS1gB,EAAGE,GACnC,OAAOA,CACT,EACAyf,eAAe,EACfmB,iBAAiB,EACjB/C,aAAc,GACdyE,SAAU,CACR,CAAEO,MAAO,IAAI7F,OAAO,IAAK,KAAMoF,IAAK,SAEpC,CAAES,MAAO,IAAI7F,OAAO,IAAK,KAAMoF,IAAK,QACpC,CAAES,MAAO,IAAI7F,OAAO,IAAK,KAAMoF,IAAK,QACpC,CAAES,MAAO,IAAI7F,OAAO,IAAK,KAAMoF,IAAK,UACpC,CAAES,MAAO,IAAI7F,OAAO,IAAK,KAAMoF,IAAK,WAEtCvB,iBAAiB,EACjBJ,UAAW,GAGXiG,cAAc,GAEhB,SAAS9kB,GAAE9B,GACTc,KAAKP,QAAUzB,OAAOqf,OAAO,CAAC,EAAGwI,GAAI3mB,GAAIc,KAAKP,QAAQwf,kBAAoBjf,KAAKP,QAAQsf,oBAAsB/e,KAAK+lB,YAAc,WAC9H,OAAO,CACT,GAAK/lB,KAAKgmB,cAAgBhmB,KAAKP,QAAQqf,oBAAoBxX,OAAQtH,KAAK+lB,YAAcE,IAAKjmB,KAAKkmB,qBAAuBC,GAAInmB,KAAKP,QAAQmmB,QAAU5lB,KAAKomB,UAAYC,GAAIrmB,KAAKsmB,WAAa,MACxLtmB,KAAKumB,QAAU,OACZvmB,KAAKomB,UAAY,WACnB,MAAO,EACT,EAAGpmB,KAAKsmB,WAAa,IAAKtmB,KAAKumB,QAAU,GAC3C,CA4CA,SAASJ,GAAGjnB,EAAGE,EAAGzB,GAChB,MAAMsB,EAAIe,KAAKwmB,IAAItnB,EAAGvB,EAAI,GAC1B,YAAwC,IAAjCuB,EAAEc,KAAKP,QAAQuf,eAAsD,IAA1BhhB,OAAOqa,KAAKnZ,GAAGoI,OAAetH,KAAKymB,iBAAiBvnB,EAAEc,KAAKP,QAAQuf,cAAe5f,EAAGH,EAAEynB,QAAS/oB,GAAKqC,KAAK2mB,gBAAgB1nB,EAAEuiB,IAAKpiB,EAAGH,EAAEynB,QAAS/oB,EACnM,CAiCA,SAAS0oB,GAAGnnB,GACV,OAAOc,KAAKP,QAAQ6lB,SAASsB,OAAO1nB,EACtC,CACA,SAAS+mB,GAAG/mB,GACV,SAAOA,EAAEkU,WAAWpT,KAAKP,QAAQqf,sBAAwB5f,IAAMc,KAAKP,QAAQuf,eAAe9f,EAAEge,OAAOld,KAAKgmB,cAC3G,CApFAhlB,GAAEzC,UAAUiW,MAAQ,SAAStV,GAC3B,OAAOc,KAAKP,QAAQof,cAAgB8G,GAAGzmB,EAAGc,KAAKP,UAAYykB,MAAMnE,QAAQ7gB,IAAMc,KAAKP,QAAQonB,eAAiB7mB,KAAKP,QAAQonB,cAAcvf,OAAS,IAAMpI,EAAI,CACzJ,CAACc,KAAKP,QAAQonB,eAAgB3nB,IAC5Bc,KAAKwmB,IAAItnB,EAAG,GAAGsiB,IACrB,EACAxgB,GAAEzC,UAAUioB,IAAM,SAAStnB,EAAGE,GAC5B,IAAIzB,EAAI,GAAIsB,EAAI,GAChB,IAAK,IAAII,KAAKH,EACZ,GAAIlB,OAAOO,UAAUmgB,eAAere,KAAKnB,EAAGG,GAC1C,UAAWH,EAAEG,GAAK,IAChBW,KAAK+lB,YAAY1mB,KAAOJ,GAAK,SAC1B,GAAa,OAATC,EAAEG,GACTW,KAAK+lB,YAAY1mB,GAAKJ,GAAK,GAAc,MAATI,EAAE,GAAaJ,GAAKe,KAAKomB,UAAUhnB,GAAK,IAAMC,EAAI,IAAMW,KAAKsmB,WAAarnB,GAAKe,KAAKomB,UAAUhnB,GAAK,IAAMC,EAAI,IAAMW,KAAKsmB,gBACrJ,GAAIpnB,EAAEG,aAAcuT,KACvB3T,GAAKe,KAAKymB,iBAAiBvnB,EAAEG,GAAIA,EAAG,GAAID,QACrC,GAAmB,iBAARF,EAAEG,GAAgB,CAChC,MAAMF,EAAIa,KAAK+lB,YAAY1mB,GAC3B,GAAIF,EACFxB,GAAKqC,KAAK8mB,iBAAiB3nB,EAAG,GAAKD,EAAEG,SAClC,GAAIA,IAAMW,KAAKP,QAAQuf,aAAc,CACxC,IAAIje,EAAIf,KAAKP,QAAQkgB,kBAAkBtgB,EAAG,GAAKH,EAAEG,IACjDJ,GAAKe,KAAKmiB,qBAAqBphB,EACjC,MACE9B,GAAKe,KAAKymB,iBAAiBvnB,EAAEG,GAAIA,EAAG,GAAID,EAC5C,MAAO,GAAI8kB,MAAMnE,QAAQ7gB,EAAEG,IAAK,CAC9B,MAAMF,EAAID,EAAEG,GAAGiI,OACf,IAAIvG,EAAI,GACR,IAAK,IAAIvB,EAAI,EAAGA,EAAIL,EAAGK,IAAK,CAC1B,MAAMD,EAAIL,EAAEG,GAAGG,UACRD,EAAI,MAAc,OAANA,EAAsB,MAATF,EAAE,GAAaJ,GAAKe,KAAKomB,UAAUhnB,GAAK,IAAMC,EAAI,IAAMW,KAAKsmB,WAAarnB,GAAKe,KAAKomB,UAAUhnB,GAAK,IAAMC,EAAI,IAAMW,KAAKsmB,WAAyB,iBAAL/mB,EAAgBS,KAAKP,QAAQqmB,aAAe/kB,GAAKf,KAAKwmB,IAAIjnB,EAAGH,EAAI,GAAGoiB,IAAMzgB,GAAKf,KAAKkmB,qBAAqB3mB,EAAGF,EAAGD,GAAK2B,GAAKf,KAAKymB,iBAAiBlnB,EAAGF,EAAG,GAAID,GACvU,CACAY,KAAKP,QAAQqmB,eAAiB/kB,EAAIf,KAAK2mB,gBAAgB5lB,EAAG1B,EAAG,GAAID,IAAKH,GAAK8B,CAC7E,MAAO,GAAIf,KAAKP,QAAQsf,qBAAuB1f,IAAMW,KAAKP,QAAQsf,oBAAqB,CACrF,MAAM5f,EAAInB,OAAOqa,KAAKnZ,EAAEG,IAAK0B,EAAI5B,EAAEmI,OACnC,IAAK,IAAI9H,EAAI,EAAGA,EAAIuB,EAAGvB,IACrB7B,GAAKqC,KAAK8mB,iBAAiB3nB,EAAEK,GAAI,GAAKN,EAAEG,GAAGF,EAAEK,IACjD,MACEP,GAAKe,KAAKkmB,qBAAqBhnB,EAAEG,GAAIA,EAAGD,GAC9C,MAAO,CAAEsnB,QAAS/oB,EAAG6jB,IAAKviB,EAC5B,EACA+B,GAAEzC,UAAUuoB,iBAAmB,SAAS5nB,EAAGE,GACzC,OAAOA,EAAIY,KAAKP,QAAQmgB,wBAAwB1gB,EAAG,GAAKE,GAAIA,EAAIY,KAAKmiB,qBAAqB/iB,GAAIY,KAAKP,QAAQimB,2BAAmC,SAANtmB,EAAe,IAAMF,EAAI,IAAMA,EAAI,KAAOE,EAAI,GACxL,EAKA4B,GAAEzC,UAAUooB,gBAAkB,SAASznB,EAAGE,EAAGzB,EAAGsB,GAC9C,GAAU,KAANC,EACF,MAAgB,MAATE,EAAE,GAAaY,KAAKomB,UAAUnnB,GAAK,IAAMG,EAAIzB,EAAI,IAAMqC,KAAKsmB,WAAatmB,KAAKomB,UAAUnnB,GAAK,IAAMG,EAAIzB,EAAIqC,KAAK+mB,SAAS3nB,GAAKY,KAAKsmB,WAC5I,CACE,IAAIjnB,EAAI,KAAOD,EAAIY,KAAKsmB,WAAYnnB,EAAI,GACxC,MAAgB,MAATC,EAAE,KAAeD,EAAI,IAAKE,EAAI,KAAM1B,GAAW,KAANA,IAAiC,IAApBuB,EAAE4a,QAAQ,MAAmG,IAAjC9Z,KAAKP,QAAQugB,iBAA0B5gB,IAAMY,KAAKP,QAAQugB,iBAAgC,IAAb7gB,EAAEmI,OAAetH,KAAKomB,UAAUnnB,GAAK,UAAOC,UAASc,KAAKumB,QAAUvmB,KAAKomB,UAAUnnB,GAAK,IAAMG,EAAIzB,EAAIwB,EAAIa,KAAKsmB,WAAapnB,EAAIc,KAAKomB,UAAUnnB,GAAKI,EAArRW,KAAKomB,UAAUnnB,GAAK,IAAMG,EAAIzB,EAAIwB,EAAI,IAAMD,EAAIG,CACvI,CACF,EACA2B,GAAEzC,UAAUwoB,SAAW,SAAS7nB,GAC9B,IAAIE,EAAI,GACR,OAAiD,IAA1CY,KAAKP,QAAQwd,aAAanD,QAAQ5a,GAAYc,KAAKP,QAAQ8lB,uBAAyBnmB,EAAI,KAAwCA,EAAjCY,KAAKP,QAAQ+lB,kBAAwB,IAAU,MAAMtmB,IAAKE,CAClK,EACA4B,GAAEzC,UAAUkoB,iBAAmB,SAASvnB,EAAGE,EAAGzB,EAAGsB,GAC/C,IAAmC,IAA/Be,KAAKP,QAAQ6f,eAAwBlgB,IAAMY,KAAKP,QAAQ6f,cAC1D,OAAOtf,KAAKomB,UAAUnnB,GAAK,YAAYC,OAASc,KAAKumB,QACvD,IAAqC,IAAjCvmB,KAAKP,QAAQugB,iBAA0B5gB,IAAMY,KAAKP,QAAQugB,gBAC5D,OAAOhgB,KAAKomB,UAAUnnB,GAAK,UAAOC,UAASc,KAAKumB,QAClD,GAAa,MAATnnB,EAAE,GACJ,OAAOY,KAAKomB,UAAUnnB,GAAK,IAAMG,EAAIzB,EAAI,IAAMqC,KAAKsmB,WACtD,CACE,IAAIjnB,EAAIW,KAAKP,QAAQkgB,kBAAkBvgB,EAAGF,GAC1C,OAAOG,EAAIW,KAAKmiB,qBAAqB9iB,GAAU,KAANA,EAAWW,KAAKomB,UAAUnnB,GAAK,IAAMG,EAAIzB,EAAIqC,KAAK+mB,SAAS3nB,GAAKY,KAAKsmB,WAAatmB,KAAKomB,UAAUnnB,GAAK,IAAMG,EAAIzB,EAAI,IAAM0B,EAAI,KAAOD,EAAIY,KAAKsmB,UACzL,CACF,EACAtlB,GAAEzC,UAAU4jB,qBAAuB,SAASjjB,GAC1C,GAAIA,GAAKA,EAAEoI,OAAS,GAAKtH,KAAKP,QAAQwgB,gBACpC,IAAK,IAAI7gB,EAAI,EAAGA,EAAIY,KAAKP,QAAQiiB,SAASpa,OAAQlI,IAAK,CACrD,MAAMzB,EAAIqC,KAAKP,QAAQiiB,SAAStiB,GAChCF,EAAIA,EAAEP,QAAQhB,EAAEskB,MAAOtkB,EAAE6jB,IAC3B,CACF,OAAOtiB,CACT,EASA,IAAIwL,GAAI,CACNsc,UArPO,MACP,WAAAxQ,CAAYpX,GACVY,KAAKinB,iBAAmB,CAAC,EAAGjnB,KAAKP,QAAU2kB,GAAGhlB,EAChD,CAMA,KAAA+b,CAAM/b,EAAGzB,GACP,GAAgB,iBAALyB,EACT,KAAIA,EAAEZ,SAGJ,MAAM,IAAImX,MAAM,mDAFhBvW,EAAIA,EAAEZ,UAE4D,CACtE,GAAIb,EAAG,EACC,IAANA,IAAaA,EAAI,CAAC,GAClB,MAAMwB,EAAIgmB,GAAG/H,SAAShe,EAAGzB,GACzB,IAAU,IAANwB,EACF,MAAMwW,MAAM,GAAGxW,EAAEme,IAAIM,OAAOze,EAAEme,IAAIO,QAAQ1e,EAAEme,IAAIW,MACpD,CACA,MAAMhf,EAAI,IAAI4H,GAAG7G,KAAKP,SACtBR,EAAE+lB,oBAAoBhlB,KAAKinB,kBAC3B,MAAM5nB,EAAIJ,EAAEgmB,SAAS7lB,GACrB,OAAOY,KAAKP,QAAQof,oBAAuB,IAANxf,EAAeA,EAAI6lB,GAAG7lB,EAAGW,KAAKP,QACrE,CAMA,SAAAynB,CAAU9nB,EAAGzB,GACX,IAAwB,IAApBA,EAAEmc,QAAQ,KACZ,MAAM,IAAInE,MAAM,+BAClB,IAAwB,IAApBvW,EAAE0a,QAAQ,OAAmC,IAApB1a,EAAE0a,QAAQ,KACrC,MAAM,IAAInE,MAAM,wEAClB,GAAU,MAANhY,EACF,MAAM,IAAIgY,MAAM,6CAClB3V,KAAKinB,iBAAiB7nB,GAAKzB,CAC7B,GA+MAwpB,aAHS7jB,EAIT8jB,WALOpmB,IA0CT,MAAMqmB,GACJC,MACA,WAAA9Q,CAAYpX,GACVgR,GAAGhR,GAAIY,KAAKsnB,MAAQloB,CACtB,CACA,MAAIsR,GACF,OAAO1Q,KAAKsnB,MAAM5W,EACpB,CACA,QAAIrP,GACF,OAAOrB,KAAKsnB,MAAMjmB,IACpB,CACA,WAAIkmB,GACF,OAAOvnB,KAAKsnB,MAAMC,OACpB,CACA,cAAIC,GACF,OAAOxnB,KAAKsnB,MAAME,UACpB,CACA,gBAAIC,GACF,OAAOznB,KAAKsnB,MAAMG,YACpB,CACA,eAAIC,GACF,OAAO1nB,KAAKsnB,MAAMI,WACpB,CACA,QAAI/W,GACF,OAAO3Q,KAAKsnB,MAAM3W,IACpB,CACA,QAAIA,CAAKvR,GACPY,KAAKsnB,MAAM3W,KAAOvR,CACpB,CACA,SAAIqK,GACF,OAAOzJ,KAAKsnB,MAAM7d,KACpB,CACA,SAAIA,CAAMrK,GACRY,KAAKsnB,MAAM7d,MAAQrK,CACrB,CACA,UAAIuoB,GACF,OAAO3nB,KAAKsnB,MAAMK,MACpB,CACA,UAAIA,CAAOvoB,GACTY,KAAKsnB,MAAMK,OAASvoB,CACtB,CACA,WAAIwoB,GACF,OAAO5nB,KAAKsnB,MAAMM,OACpB,CACA,aAAIC,GACF,OAAO7nB,KAAKsnB,MAAMO,SACpB,CACA,UAAI1nB,GACF,OAAOH,KAAKsnB,MAAMnnB,MACpB,CACA,UAAI2nB,GACF,OAAO9nB,KAAKsnB,MAAMQ,MACpB,CACA,YAAIC,GACF,OAAO/nB,KAAKsnB,MAAMS,QACpB,CACA,YAAIA,CAAS3oB,GACXY,KAAKsnB,MAAMS,SAAW3oB,CACxB,CACA,kBAAI4oB,GACF,OAAOhoB,KAAKsnB,MAAMU,cACpB,EAEF,MAAM5X,GAAK,SAASlR,GAClB,IAAKA,EAAEwR,IAAqB,iBAARxR,EAAEwR,GACpB,MAAM,IAAIiF,MAAM,4CAClB,IAAKzW,EAAEmC,MAAyB,iBAAVnC,EAAEmC,KACtB,MAAM,IAAIsU,MAAM,8CAClB,GAAIzW,EAAE0oB,SAAW1oB,EAAE0oB,QAAQtgB,OAAS,KAAOpI,EAAEqoB,SAA+B,iBAAbroB,EAAEqoB,SAC/D,MAAM,IAAI5R,MAAM,qEAClB,IAAKzW,EAAEwoB,aAAuC,mBAAjBxoB,EAAEwoB,YAC7B,MAAM,IAAI/R,MAAM,uDAClB,IAAKzW,EAAEyR,MAAyB,iBAAVzR,EAAEyR,OA3G1B,SAAYzR,GACV,GAAgB,iBAALA,EACT,MAAM,IAAI+oB,UAAU,uCAAuC/oB,OAC7D,GAA+B,KAA3BA,EAAIA,EAAEsP,QAAUlH,SAA+C,IAA/BoD,GAAEyc,aAAa/J,SAASle,GAC1D,OAAO,EACT,IAAIE,EACJ,MAAMzB,EAAI,IAAI+M,GAAEsc,UAChB,IACE5nB,EAAIzB,EAAEwd,MAAMjc,EACd,CAAE,MACA,OAAO,CACT,CACA,SAAUE,KAAO,QAASA,GAC5B,CA8F+C8oB,CAAGhpB,EAAEyR,MAChD,MAAM,IAAIgF,MAAM,wDAClB,KAAM,UAAWzW,IAAwB,iBAAXA,EAAEuK,MAC9B,MAAM,IAAIkM,MAAM,+CAClB,GAAIzW,EAAE0oB,SAAW1oB,EAAE0oB,QAAQO,SAAS/oB,IAClC,KAAMA,aAAa4c,GACjB,MAAM,IAAIrG,MAAM,gEAAgE,IAChFzW,EAAE2oB,WAAmC,mBAAf3oB,EAAE2oB,UAC1B,MAAM,IAAIlS,MAAM,qCAClB,GAAIzW,EAAEiB,QAA6B,iBAAZjB,EAAEiB,OACvB,MAAM,IAAIwV,MAAM,gCAClB,GAAI,WAAYzW,GAAwB,kBAAZA,EAAE4oB,OAC5B,MAAM,IAAInS,MAAM,iCAClB,GAAI,aAAczW,GAA0B,kBAAdA,EAAE6oB,SAC9B,MAAM,IAAIpS,MAAM,mCAClB,GAAIzW,EAAE8oB,gBAA6C,iBAApB9oB,EAAE8oB,eAC/B,MAAM,IAAIrS,MAAM,wCAClB,OAAO,CACT,EAuBMyS,GAAK,SAASlpB,GAClB,OAAO8K,IAAI6K,cAAc3V,EAC3B,EAAGmpB,GAAK,SAASnpB,GACf,OAAO8K,IAAIgL,gBAAgB9V,EAC7B,EAAGopB,GAAK,SAASppB,GACf,OAAO8K,IAAIqL,WAAWnW,GAAG2M,MAAK,CAAClO,EAAGsB,SAAkB,IAAZtB,EAAE8L,YAAgC,IAAZxK,EAAEwK,OAAoB9L,EAAE8L,QAAUxK,EAAEwK,MAAQ9L,EAAE8L,MAAQxK,EAAEwK,MAAQ9L,EAAEuJ,YAAYyE,cAAc1M,EAAEiI,iBAAa,EAAQ,CAAEqhB,SAAS,EAAIC,YAAa,UAC/M,+TC/kEA,MAAM/F,EAAI,CACRphB,KAAM,uBACNE,MAAO,CACLC,MAAO,CACLC,KAAMC,OACN+mB,UAAU,GAEZC,QAAS,CACPjnB,KAAMC,OACNE,QAAS,MAEX8O,GAAI,CACFjP,KAAMC,OACNE,QAAS,MAEX+O,KAAM,CACJlP,KAAMC,OACN+mB,UAAU,GAEZE,QAAS,CACPlnB,KAAMC,OACNE,QAAS,MAEX8W,OAAQ,CACNjX,KAAMC,OACN+mB,UAAU,GAEZ1P,OAAQ,CACNtX,KAAM,CAACzD,OAAQkmB,OACftiB,QAAS,KAAM,CAAG,KAGtBgnB,SAAU,CACR,SAAAC,GACE,OAAO7oB,KAAK2oB,QAAU3oB,KAAK2oB,QAAU3oB,KAAK0Q,IAAsB,UAAhB1Q,KAAK0Y,OAAqB1Y,KAAK8oB,aAAa9oB,KAAK0Q,GAAI,IAAM,IAC7G,EACA,UAAAqY,GACE,IAAI7pB,EAAGE,EAAGC,EACV,OAA6B,OAApBH,EAAIc,KAAK+Y,aAAkB,EAAS7Z,EAAEyR,QAA+B,OAApBvR,EAAIY,KAAK+Y,aAAkB,EAAS3Z,EAAE2Z,SAA+D,aAA9B,OAApB1Z,EAAIW,KAAK+Y,aAAkB,EAAS1Z,EAAE0Z,OACrJ,GAEFiQ,QAAS,CACPF,aAAY,CAAC5pB,EAAGE,KACP,iBAAE,wBAAyB,CAChC6pB,KAAM/pB,EACN2C,KAAMzC,MAKd,IAAIkK,EAAI,WACN,IAAIlK,EAAIY,KAAMX,EAAID,EAAE2C,MAAMC,GAC1B,OAAO3C,EAAE,MAAO,CAAE6C,YAAa,uBAAyB,CAAC7C,EAAE,MAAO,CAAE6C,YAAa,4BAA6BsC,MAAO,CAACpF,EAAEuR,KAAM,+BAA8BvR,EAAEypB,UAAY,cAAgB,KAAOniB,MAAOtH,EAAEypB,UAAY,CAAEliB,gBAAiB,OAAOvH,EAAEypB,cAAiB,MAAQ,CAACzpB,EAAE2pB,WAAa1pB,EAAE,MAAO,CAAE6C,YAAa,8BAA+BsC,MAAO,CAAC,gCAAgCpF,EAAE2Z,QAAU3Z,EAAE2Z,OAAOpI,KAAO,OAASvR,EAAE2Z,OAAOA,WAAa,CAAC3Z,EAAEyD,GAAG,IAAMzD,EAAE0D,GAAG1D,EAAE2Z,QAAU3Z,EAAE2Z,OAAOpI,MAAQ,IAAM,OAASvR,EAAE2D,OAAQ1D,EAAE,OAAQ,CAAE6C,YAAa,gCAAkC,CAAC7C,EAAE,OAAQ,CAAE6C,YAAa,6BAA8BC,MAAO,CAAEX,MAAOpC,EAAEoC,QAAW,CAACpC,EAAEyD,GAAG,IAAMzD,EAAE0D,GAAG1D,EAAEoC,OAAS,OAAQpC,EAAEspB,QAAUrpB,EAAE,OAAQ,CAAE6C,YAAa,gCAAkC,CAAC9C,EAAEyD,GAAG,IAAMzD,EAAE0D,GAAG1D,EAAEspB,SAAW,OAAStpB,EAAE2D,QAClyB,EAAGyb,EAAI,GAUP,MAAMvU,GAVyB,OAC7BwY,EACAnZ,EACAkV,GACA,EACA,KACA,WACA,KACA,MAEUrd,QACNiJ,EAAI,CACR/I,KAAM,wBACN6nB,WAAY,CACVC,QAAS,YAEXC,OAAQ,CAAC,KACT7nB,MAAO,CACLiC,MAAO,CACL/B,KAAMC,OACNE,QAAS,GACT6mB,UAAU,GAEZzY,YAAa,CACXvO,KAAMC,OACNE,SAAS,OAAE,sBAEbynB,aAAc,CACZ5nB,KAAM6nB,SACN1nB,QAAS,IAAM,IAEjB2nB,cAAe,CACb9nB,KAAM+nB,QACN5nB,QAAS,IAAM+D,SAASO,MAS1BujB,UAAW,CACThoB,KAAM0C,QACNvC,SAAS,GAKX8nB,gBAAiB,CACfjoB,KAAM0C,QACNvC,SAAS,GAKX0G,SAAU,CACR7G,KAAM0C,QACNvC,SAAS,GAKX+nB,UAAW,CACTloB,KAAMK,OACNF,QAAS,MAKXgoB,kBAAmB,CACjBnoB,KAAM0C,QACNvC,SAAS,GAKXioB,iBAAkB,CAChBpoB,KAAM0C,QACNvC,SAAS,IAGbN,MAAO,CACL,SACA,QACA,eACA,uBAEF,IAAAmC,GACE,MAAO,CACLqmB,WAAY,GACZC,QAAS,KACTC,oBAAqB,CAEnBC,aAAa,EACbC,SAAU,KAEVC,OAASjrB,GAAM,GAAGA,EAAEwR,MAAMxR,EAAEsC,QAE5B+nB,cAAevpB,KAAKupB,cAEpBa,iBAAmBlrB,GAAMc,KAAKqqB,oBAAoBnrB,EAAEorB,SAAUrgB,GAE9DsgB,gBAAiB,IAAM,+BAEvBC,eAAiBtrB,IACf,IAAIE,EACJ,OAAOY,KAAKyqB,kBAA2D,OAAxCrrB,EAAS,MAALF,OAAY,EAASA,EAAEorB,eAAoB,EAASlrB,EAAEsR,GAAG,EAG9FoG,OAAQ9W,KAAK0qB,uBAEfC,aAAc,CACZC,QAAS,IAGTT,OAAQ,CAACjrB,EAAGE,IAAMA,EAElBmqB,cAAevpB,KAAKupB,cAEpBa,iBAAmBlrB,GAAMc,KAAK8pB,WAAW1c,SAASlO,EAAEorB,UAAYprB,EAAEorB,SAAW,sDAAsDprB,EAAEorB,SAASO,kBAAkB3rB,EAAEorB,SAASQ,aAE3KP,gBAAiB,KAAM,OAAE,kBAEzBC,eAAiBtrB,GAAMc,KAAK8pB,WAAW1c,SAASlO,EAAEorB,UAAYprB,EAAEorB,WAAY,OAAEprB,EAAEorB,UAAWprB,EAAEorB,SAASO,QAEtG/T,OAAQ,CAAC5X,EAAGE,KACV,MAAMC,GAAI,OAAEH,GACZc,KAAK8pB,WAAW1c,SAAS,IAAMlO,IAAMG,EAAE0rB,QAAQ,IAAM7rB,GAAIE,EAAEC,EAAE,EAG/D2rB,eAAgB,0BAEhBC,UAAW,iCAEbC,YAAa,CACXN,QAAS,IAGTT,OAAQ,CAACjrB,EAAGE,IAAMA,EAElBmqB,cAAevpB,KAAKupB,cAEpBa,iBAAmBlrB,GAAM,wDAAwDA,EAAEorB,SAASa,gEAAgEjsB,EAAEorB,SAAS9oB,eAEvK+oB,gBAAiB,KAAM,OAAE,0BACzBC,eAAgBxqB,KAAKorB,QAErBtU,OAAQ,CAAC5X,EAAGE,IAAMA,GAAE,OAAEF,IAEtB8rB,eAAgB,yBAEhBC,UAAW,gCAKbI,WAAYrrB,KAAKwD,MAEjB8nB,aAAa,EAEjB,EACA1C,SAAU,CAMR,YAAA2C,GACE,OAAQvrB,KAAKqrB,YAAcrrB,KAAKqrB,YAAyC,KAA3BrrB,KAAKqrB,WAAW7c,MAChE,EAMAgd,KAAI,MACOC,UAAUC,UAAU5c,MAAM,YAOrC,eAAA6c,GACE,QAAO3rB,KAAKurB,eAAiBvrB,KAAK2pB,aAAiB,aAAE3pB,KAAKqrB,YAAcrrB,KAAK2pB,SAC/E,EAMA,aAAAiC,GACE,OAAO5rB,KAAK2rB,gBAAkB,CAC5BE,SAAS,OAAE,8CAA+C,CAAEC,MAAO9rB,KAAK2pB,YACxEoC,OAAO,EACPnB,QAAS,UACP,IACN,EAMA,OAAAoB,GACE,OAAOhsB,KAAK0pB,kBAAoB1pB,KAAKsI,QACvC,EAMA,SAAA2jB,GACE,MAAM/sB,EAAI,IAAKc,KAAKksB,YACpB,cAAchtB,EAAEitB,MAAOjtB,CACzB,GAEFktB,MAAO,CAKL,KAAA5oB,GACE,MAAMtE,EAAIc,KAAKqsB,MAAM3C,gBAAgB4C,UACrCtsB,KAAKwD,MAAMgL,SAAWxO,KAAKusB,aAAartB,GAAGsP,QAAUxO,KAAKwsB,cAAcxsB,KAAKwD,MAC/E,GAEF,OAAAipB,GAEEzsB,KAAK8pB,WAAa,GADR,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC1C3B,SAAS/oB,IAC/BY,KAAK8pB,WAAW/U,KAAK,IAAM3V,GAAIY,KAAK8pB,WAAW/U,KAAK,KAAO3V,EAAE,IAC3DY,KAAK0sB,oBAAsB,IAAI,UAAE1sB,KAAKgqB,qBAAsBhqB,KAAK0sB,oBAAoBC,OAAO3sB,KAAKyO,KAAMzO,KAAK4pB,oBAAsB5pB,KAAK4sB,aAAe,IAAI,UAAE5sB,KAAK2qB,cAAe3qB,KAAK4sB,aAAaD,OAAO3sB,KAAKyO,MAAOzO,KAAK6pB,mBAAqB7pB,KAAK6sB,YAAc,IAAI,UAAE7sB,KAAKkrB,aAAclrB,KAAK6sB,YAAYF,OAAO3sB,KAAKyO,MAAOzO,KAAKwsB,cAAcxsB,KAAKwD,OAAQxD,KAAKqsB,MAAM3C,gBAAgBoD,gBAAkB9sB,KAAKgsB,OACvZ,EACA,aAAAe,GACE/sB,KAAK0sB,qBAAuB1sB,KAAK0sB,oBAAoBM,OAAOhtB,KAAKyO,KAAMzO,KAAK4sB,cAAgB5sB,KAAK4sB,aAAaI,OAAOhtB,KAAKyO,KAAMzO,KAAK6sB,aAAe7sB,KAAK6sB,YAAYG,OAAOhtB,KAAKyO,IACnL,EACAua,QAAS,CAMP,KAAAiE,GACEjtB,KAAKqsB,MAAM3C,gBAAgBuD,OAC7B,EACA,OAAA7B,CAAQlsB,GACN,OAAO,OAAEA,EAAEorB,SAAS5Z,IAAIrN,MAAMjE,IAC5B,MAAMC,EAAIsG,SAASunB,eAAe,gCAAiC/tB,EAAI,CACrEguB,OAAQ/tB,EACRguB,YAAY,GAEd,GAAIptB,KAAKuC,MAAM,sBAAuBpD,GAAIA,EAAEiuB,WAAY,CACtD,MAAMnuB,EAAI0G,SAAS0nB,eAAejuB,GAClCC,EAAEiuB,YAAYruB,GAAIe,KAAKutB,eAAetuB,GAAIe,KAAKwtB,YAAYxtB,KAAKqsB,MAAM3C,gBAAgB4C,UACxF,MACEjtB,EAAE2G,QAAQ,IACXynB,OAAOruB,IACRsuB,EAAQ7X,MAAM,iCAAkCzW,GAChD,MAAMC,EAAIsG,SAASunB,eAAe,gCAClCltB,KAAKutB,eAAeluB,GAAIA,EAAE2G,QAAQ,IAChC,iDACN,EACA,cAAAunB,CAAeruB,GACb,MAAME,EAAIuG,SAASgoB,cACnBvuB,EAAEwuB,YAAY1uB,GAAIE,EAAEyuB,WACpB,MAAMxuB,EAAI8F,OAAO2oB,eACjBzuB,EAAE0uB,kBAAmB1uB,EAAE2uB,SAAS5uB,EAClC,EAMA,OAAA6uB,CAAQ/uB,GACNc,KAAKwtB,YAAYtuB,EAAEgvB,OAAO5B,UAC5B,EAQA,OAAA6B,CAAQjvB,GACN,IAAKc,KAAKgsB,QACR,OACF9sB,EAAEkvB,iBACF,MAAMhvB,EAAIF,EAAEmvB,cACZ,GAAIruB,KAAKuC,MAAM,QAASrD,GAAuB,IAAnBE,EAAE8J,MAAM5B,SAAiBtJ,OAAO8Y,OAAO1X,EAAEkvB,OAAOtX,MAAMjN,GAAW,MAALA,OAAY,EAASA,EAAEtI,KAAK2R,WAAW,UAC7H,OACF,MAAM/T,EAAID,EAAEmvB,QAAQ,QAASpvB,EAAIgG,OAAO2oB,eACxC,IAAK3uB,EAAEqvB,WAEL,YADAxuB,KAAKwtB,YAAYnuB,GAGnB,MAAMJ,EAAIE,EAAEsvB,WAAW,GACvBtvB,EAAEuvB,qBAAsBzvB,EAAE0vB,WAAWhpB,SAAS0nB,eAAehuB,IAC7D,MAAM1B,EAAIgI,SAASgoB,cACnBhwB,EAAEixB,SAAS1vB,EAAEgvB,OAAQjvB,EAAE4vB,WAAYlxB,EAAEkwB,UAAS,GAAK1uB,EAAE4uB,kBAAmB5uB,EAAE6uB,SAASrwB,GAAIqC,KAAKwtB,YAAYxtB,KAAKqsB,MAAM3C,gBAAgB4C,UACrI,EAMA,WAAAkB,CAAYtuB,GACV,MAAME,EAAIY,KAAKusB,aAAartB,GAC5Bc,KAAKqrB,WAAajsB,EAAGY,KAAKuC,MAAM,eAAgBnD,EAClD,EAMA,aAAAotB,CAActtB,GACZ,MAAME,EAAIY,KAAK8uB,cAAc5vB,GAC7Bc,KAAKqsB,MAAM3C,gBAAgB4C,UAAYltB,EAAGY,KAAKqrB,WAAansB,CAC9D,EASA,QAAA6vB,CAAS7vB,GACP,IAAKc,KAAKwrB,OAASrmB,OAAO2oB,eAAiB9tB,KAAKgsB,QAC9C,OACF,MAAM5sB,EAAI+F,OAAO2oB,eAAgBzuB,EAAIH,EAAEgvB,OACvC,IAAK9uB,EAAEqR,cAAgBrR,EAAEovB,WACvB,OACF,MAAMrvB,EAAIC,EAAEqvB,WAAWrvB,EAAEovB,WAAa,GACtC,GAA2C,IAAvCrvB,EAAE6vB,wBAAwBC,UAAkB9vB,EAAE+vB,YAAc,EAC9D,OACF,MAAMjwB,EAAI0G,SAASgoB,cACnB,GAAIvuB,EAAE+vB,aAAe9vB,EACnBJ,EAAEmwB,mBAAmB/vB,GAAIJ,EAAEowB,aAAajwB,EAAE+vB,gBACvC,MAAI/vB,EAAEkwB,aAAe,GAGxB,OAFArwB,EAAEswB,OAAOlwB,EAAGD,EAAEkwB,aAER,CACRrwB,EAAE2vB,SAASvvB,EAAGJ,EAAE4vB,UAAY,GAC5B,MAAMlxB,EAAIsB,EAAEuwB,gBAAgBC,UAC5B9xB,GAA2B,UAAtBA,EAAEmvB,kBAAgC7tB,EAAEywB,iBAAkBxwB,EAAEkvB,iBAC/D,EAMA,OAAAuB,CAAQzwB,GACNc,KAAKypB,WAAazpB,KAAK2rB,iBAAmB3rB,KAAK0sB,oBAAoBkD,UAAY5vB,KAAK4sB,aAAagD,UAAY5vB,KAAK6sB,YAAY+C,UAAY5vB,KAAKsrB,cAAgBpsB,EAAEkvB,iBAAkBlvB,EAAEuJ,kBAAmBzI,KAAKuC,MAAM,SAAUrD,GAC/N,EAMA,WAAA2wB,CAAY3wB,GACVc,KAAK2rB,iBAAmB3rB,KAAKuC,MAAM,SAAUrD,EAC/C,EAIAwrB,sBAAuB,GAAE1Y,eAAe9S,EAAGE,GACzCY,KAAKqpB,aAAanqB,EAAGE,EACvB,GAAG,KACH,OAAA0wB,CAAQ5wB,GACNA,EAAE6wB,0BACJ,IAGJ,IAAIzsB,EAAI,WACN,IAAIlE,EAAIY,KACR,OAAOX,EADWD,EAAE2C,MAAMC,IACjB,MAAO5C,EAAE+I,GAAG,CAAE+gB,WAAY,CAAC,CAAE7nB,KAAM,UAAW2uB,QAAS,YAAaxsB,MAAOpE,EAAEwsB,cAAeqE,WAAY,kBAAoBpiB,IAAK,kBAAmB3L,YAAa,8BAA+BsC,MAAO,CAC9M,qCAAsCpF,EAAEmsB,aACxC,yCAA0CnsB,EAAEqqB,UAC5C,wCAAyCrqB,EAAEusB,gBAC3C,wCAAyCvsB,EAAEkJ,UAC1CnG,MAAO,CAAEunB,gBAAiBtqB,EAAE4sB,QAAS,mBAAoB5sB,EAAE4Q,YAAa,iBAAkB,OAAQ5N,KAAM,WAAaC,GAAI,CAAE6N,MAAO9Q,EAAE6uB,QAASiC,iBAAkB,SAAS/wB,GACzKC,EAAEksB,aAAc,CAClB,EAAG6E,eAAgB,SAAShxB,GAC1BC,EAAEksB,aAAc,CAClB,EAAGjjB,QAAS,CAAC,SAASlJ,GACpB,OAAQA,EAAEsC,KAAKqY,QAAQ,QAAU1a,EAAEgxB,GAAGjxB,EAAEkxB,QAAS,SAAU,CAAC,EAAG,IAAKlxB,EAAE2I,IAAK,CAAC,YAAa,SAAU,QAAU,KAAO1I,EAAE2vB,SAASuB,MAAM,KAAMC,UAC7I,EAAG,SAASpxB,GACV,OAAQA,EAAEsC,KAAKqY,QAAQ,QAAU1a,EAAEgxB,GAAGjxB,EAAEkxB,QAAS,QAAS,GAAIlxB,EAAE2I,IAAK,UAAY3I,EAAEqxB,SAAWrxB,EAAEsxB,UAAYtxB,EAAEuxB,QAAUvxB,EAAEwxB,QAAU,KAAOvxB,EAAEuwB,QAAQW,MAAM,KAAMC,UACnK,EAAG,SAASpxB,GACV,OAAQA,EAAEsC,KAAKqY,QAAQ,QAAU1a,EAAEgxB,GAAGjxB,EAAEkxB,QAAS,QAAS,GAAIlxB,EAAE2I,IAAK,WAAa3I,EAAEqxB,SAAWrxB,EAAEsxB,UAAYtxB,EAAEuxB,QAAUvxB,EAAEwxB,QAAU,MAAQxxB,EAAEsJ,kBAAmBtJ,EAAEivB,iBAAkBhvB,EAAEywB,YAAYS,MAAM,KAAMC,WAClN,GAAIpE,MAAO/sB,EAAE+uB,QAAS,SAAU,SAAShvB,GACvC,OAAOA,EAAEsJ,kBAAmBtJ,EAAEivB,iBAAkBhvB,EAAE0wB,QAAQQ,MAAM,KAAMC,UACxE,IAAOnxB,EAAE6sB,WACX,EAAGvnB,EAAI,GAUP,MAAMqd,GAVyB,OAC7B3X,EACA9G,EACAoB,GACA,EACA,KACA,WACA,KACA,MAEWvD,yDC/cb,MAAM5B,EAAI,CACRqpB,SAAU,CAKRgI,SAAQ,IACC,KAAEptB,wMCjBf,MAAM2H,EAAI,4FAA6FlB,EAAI,qHAAsH1G,EAAI,CACnOlC,KAAM,kBACNwvB,WAAY,CACVC,kBAAmB,KAErBvvB,MAAO,CACLwvB,KAAM,CACJtvB,KAAMC,OACNE,QAAS,IAEXovB,cAAe,CACbvvB,KAAMzD,OACN4D,QAAS,MAEXqvB,MAAO,CACLxvB,KAAMK,OACNF,QAAS,IAGb6B,KAAI,KACK,CACLytB,WAAY,KACZjoB,SAAS,IAGb2f,SAAU,CACR,SAAAuI,GACE,OAAOnxB,KAAKiJ,SAAWjJ,KAAKoxB,mBAC9B,EACA,MAAAta,GACE,OAAO9W,KAAKgxB,cAAgBhxB,KAAKgxB,cAAgBhxB,KAAKkxB,WAAalzB,OAAO8Y,OAAO9W,KAAKkxB,YAAc,EACtG,EACA,cAAAG,GACE,IAAInyB,EACJ,OAA+B,OAAvBA,EAAIc,KAAK8W,OAAO,IAAc5X,EAAI,IAC5C,EACA,mBAAAkyB,GACE,OAAOpxB,KAAK8W,OAAO1P,MAAM,EAAGpH,KAAKixB,MACnC,GAEF7E,MAAO,CACL2E,KAAM,SAER,OAAAtE,GACEzsB,KAAK8a,OACP,EACAkO,QAAS,CACP,KAAAlO,GACM9a,KAAKiJ,SAAU,EAAIjJ,KAAKgxB,cAC1BhxB,KAAKiJ,SAAU,EAGZ,IAAImT,OAAOjR,GAAGuL,KAAK1W,KAAK+wB,MAI7B/wB,KAAKsxB,UAAUjuB,MAAMnE,IACnBc,KAAKkxB,WAAahyB,EAAEuE,KAAKqU,IAAIrU,KAAKytB,WAAYlxB,KAAKiJ,SAAU,CAAE,IAC9DwkB,OAAOvuB,IACRwuB,EAAQ3Z,MAAM,+BAAgC7U,GAAIc,KAAKiJ,SAAU,CAAE,IANnEjJ,KAAKiJ,SAAU,CAQnB,EACA,OAAAqoB,GACE,MAAMpyB,EAAI,IAAIkd,OAAOjR,GAAGuL,KAAK1W,KAAK+wB,KAAKviB,QACvC,OAAsB,IAAfxO,KAAKixB,OAAe/xB,EAAI,IAAEkE,KAAI,oBAAE,qBAAsB,GAAK,cAAcmuB,mBAAmBryB,EAAE,OAAS,IAAEsyB,MAAK,oBAAE,qBAAsB,GAAI,CAC/IT,KAAM/wB,KAAK+wB,KACXO,SAAS,EACTL,MAAOjxB,KAAKixB,OAEhB,IAGJ,IAAIzmB,EAAI,WACN,IAAIvL,EAAIe,KAAMZ,EAAIH,EAAE8C,MAAMC,GAC1B,OAAO/C,EAAEkyB,UAAY/xB,EAAE,MAAO,CAAE8C,YAAa,gBAAiBsC,MAAO,CAAE,eAAgBvF,EAAEgK,UAAahK,EAAEkP,GAAGlP,EAAEmyB,qBAAqB,SAASzzB,GACzI,IAAIwB,EACJ,OAAOC,EAAE,MAAO,CAAE0I,IAAqD,OAA/C3I,EAAS,MAALxB,OAAY,EAASA,EAAE8zB,sBAA2B,EAAStyB,EAAEuR,IAAM,CAACtR,EAAE,oBAAqB,CAAE+C,MAAO,CAAEuvB,UAAW/zB,MAAS,EACxJ,IAAI,GAAKsB,EAAE8D,IACb,EAAGqH,EAAI,GAUP,MAAMrK,GAVyB,OAC7BwD,EACAiH,EACAJ,GACA,EACA,KACA,WACA,KACA,MAEUjJ,QAASmI,EAAI,CACvBjI,KAAM,SACNE,MAAO,CACLuE,KAAM,CACJrE,KAAMC,OACN+mB,UAAU,IAGd,MAAA/oB,CAAOR,GACL,OAAOA,EAAE,IAAK,CACZiD,MAAO,CACL2D,KAAM9F,KAAK8F,KACX6rB,IAAK,sBACLzD,OAAQ,SACR1pB,MAAO,6BAER,CAACxE,KAAK8F,KAAK0I,QAChB,GACCsO,EAAI,UAAW8U,SAAU1yB,EAAG2yB,YAAa5yB,IAC1C,OAAO,SAASG,IACbH,IAAMC,IAAK,QAAEE,GAAIzB,GAAiB,SAAXA,EAAE8D,OAAiB,CAAC9D,EAAGwB,EAAGE,KAChD,IAAIP,EAAIE,EAAErB,EAAE6F,OACZ,OAAO1E,EAAIA,EAAEmQ,KAAKlF,GAAkB,iBAALA,GAAgB,OAAE,OAAQA,IAAK,OAAE,OAAQ,CACtE+nB,IAAK/nB,EAAExI,MAAMuE,MACZ,EAAC,OAAE,OAAQiE,EAAExI,MAAMuE,UAASiG,QAAQhC,GAAMA,IAAI1K,EAAE4M,SAASiJ,OAAO/V,EAAG,KAAML,EAAEizB,QAAS,CAAC,KAAG5yB,EAAIL,EAAEizB,OAAOzqB,OAAO,GAEnH,CACF,EAAGtI,EAAKE,IACN,IAAID,EAAIgL,EAAEyM,KAAKxX,GACf,MAAME,EAAI,GACV,IAAIzB,EAAI,EACR,KAAa,OAANsB,GAAc,CACnB,IAAcH,EAAVO,EAAIJ,EAAE,GAAO8K,EAAI7K,EAAEqe,UAAU5f,EAAGsB,EAAEwe,MAAQxe,EAAE,GAAGqI,QAC1C,MAATjI,EAAE,KAAe0K,GAAK1K,EAAE,GAAIA,EAAIA,EAAEke,UAAU,GAAG/O,QAC/C,MAAMjP,EAAIF,EAAEA,EAAEiI,OAAS,IAChB,MAAN/H,GAAmB,MAANA,GAAmB,MAANA,GAAyB,MAAZN,EAAE,GAAG,IAAoB,MAANM,KAAeF,EAAIA,EAAEke,UAAU,EAAGle,EAAEiI,OAAS,GAAIxI,EAAIS,GAAIH,EAAE2V,KAAKhL,GAAI3K,EAAE2V,KAAK,CAAEid,UAAW1oB,EAAG/H,MAAO,CAAEuE,KAAMzG,KAAQP,GAAKM,EAAE2V,KAAKjW,GAAInB,EAAIsB,EAAEwe,MAAQxe,EAAE,GAAGqI,OAAQrI,EAAIgL,EAAEyM,KAAKxX,EACrO,CAGA,OAFAE,EAAE2V,KAAK7V,EAAEqe,UAAU5f,IAEZuB,IADGE,EAAE6P,KAAK5P,GAAkB,iBAALA,EAAgBA,EAAIA,EAAEkC,MAAMuE,OAAMoJ,KAAK,IACpD9P,GAAKsuB,EAAQ3Z,MAAM,0CAA4C7U,GAAIA,EAAE,EACrFka,EAAI,WACL,OAAO,SAASla,IACd,QAAEA,GAAIE,GAAiB,SAAXA,EAAEqC,OACd,SAAWrC,EAAGzB,EAAGwB,GACf,MAAME,EAAID,EAAEoE,MAAMwL,MAAM,yBAAyBC,KAAI,CAACnQ,EAAGiL,EAAGxK,KAC1D,MAAMsB,EAAI/B,EAAEgQ,MAAM,0BAClB,IAAKjO,EACH,OAAO,OAAE,OAAQ/B,GACnB,MAAO,CAAEU,GAAKqB,EACd,OAAO,OAAE,UAAW,CAClBkd,QAAS,IAAIve,KACb,IAEJL,EAAE8M,SAASiJ,OAAOvX,EAAG,KAAM0B,EAC7B,GACF,CACF,EAQSuK,EAAI,CACXvI,KAAM,aACNwvB,WAAY,CACVoB,gBAAiBlyB,GAEnBwB,MAAO,CACLwvB,KAAM,CACJtvB,KAAMC,OACNE,QAAS,IAEX2uB,UAAW,CACT9uB,KAAMzD,OACN4D,QAAS,KAAM,CAAG,IAEpBswB,eAAgB,CACdzwB,KAAMK,OACNF,QAAS,GAGXsvB,WAAY,CACVzvB,KAAMzD,OACN4D,QAAS,MAEXuwB,mBAAoB,CAClB1wB,KAAMzD,OACN4D,QAAS,KAAM,CACbmI,EAAG,2BACHqoB,GAAI,0BACJC,GAAI,6BACJlf,GAAI,uBACJmf,OAAQ,oBACRC,GAAI,oBACJC,GAAI,0CACJC,GAAI,0CACJC,GAAI,0CACJC,GAAI,0CACJC,GAAI,0CACJC,GAAI,0CACJzK,GAAI,gBACJ0K,MAAO,mBACPC,IAAK,iBACLpV,KAAM,kBACNqV,WAAY,2BAGhBnB,YAAa,CACXpwB,KAAM0C,QACNvC,SAAS,GAEXgwB,SAAU,CACRnwB,KAAM0C,QACNvC,SAAS,IAGbonB,QAAS,CACP,eAAAiK,CAAgB/zB,GACd,MAAMD,EAAIe,KAAMZ,EAAIY,KAAK+wB,KAAK/hB,MAAM,yBAAyBC,KAAI,SAAStR,EAAGwB,EAAGE,GAC9E,MAAMP,EAAInB,EAAEmR,MAAM,0BAClB,IAAKhQ,EACH,MAnEH,GAAGgL,EAAG5K,EAAGg0B,QAASj0B,GAAKG,KAAOH,EAAE2yB,WAAaxyB,EAAIJ,EAAEI,IAAK8kB,MAAMnE,QAAQ3gB,GAAKA,EAAE6P,KAAKtR,IACvF,GAAgB,iBAALA,EACT,OAAOA,EACT,MAAQq0B,UAAW7yB,EAAGoC,MAAOlC,GAAM1B,EAAGmB,EAAe,WAAXK,EAAEkC,UAAoB,EAAS,uBACzE,OAAOnC,EAAEC,EAAG,CACVoC,MAAOlC,EACPmF,MAAO1F,GACP,IACCM,GA2DYiL,CAAE,CAAEP,EAAG5K,EAAGg0B,QAASj0B,GAAKtB,GACjC,MAAMoM,EAAIjL,EAAE,GAAIS,EAAIN,EAAEsxB,UAAUxmB,GAChC,GAAgB,iBAALxK,EAAe,CACxB,MAAQyyB,UAAWnxB,EAAGU,MAAO/B,GAAMD,EACnC,OAAOL,EAAE2B,EAAG,CACVU,MAAO/B,EACPgF,MAAO,wBAEX,CACA,OAAOjF,EAAIL,EAAE,OAAQ,CAAEsF,MAAO,uBAAyBjF,GAAK5B,CAC9D,IACA,OAAOuB,EAAE,MAAO,CAAEsF,MAAO,sBAAwB,CAC/CtF,EAAE,MAAO,CAAC,EAAGE,EAAE2yB,QACf/xB,KAAKkyB,eAAiB,EAAIhzB,EAAE,MAAO,CAAEsF,MAAO,+BAAiC,CAC3EtF,EAAEa,EAAG,CAAEwB,MAAO,CAAEwvB,KAAM/wB,KAAK+wB,KAAMC,cAAehxB,KAAKkxB,gBAClD,MAET,EACA,cAAAiC,CAAej0B,GACb,MAAMD,GAAI,SAAIm0B,IAAI,KAAGA,IAAItW,EAAG,CAC1B8U,SAAU5xB,KAAK4xB,SACfC,YAAa7xB,KAAK6xB,cACjBuB,IAAI,KAAGA,IAAI,IAAG,CACfC,SAAU,CACRrB,UAAS,CAAC5yB,EAAGzB,IACJyB,EAAEzB,EAAGA,EAAEq0B,UAAW,CAAExuB,MAAO7F,EAAE6F,WAGvC4vB,IAAIha,GAAGga,IAAI,IAAG,CACflF,OAAQ,SACRyD,IAAK,CAAC,yBACLyB,IAAI,IAAG,CACRxtB,cAAe,CAACxG,EAAGzB,EAAGwB,KACpB,GAAIA,EAAS,MAALA,OAAY,EAASA,EAAE8P,KAC5BnQ,GAAkB,iBAALA,EAAgBA,EAAEH,QAAQ,UAAW,KAAOG,KACxDM,EAAEgU,WAAW,KACf,OAAOlU,EAAEE,EAAGzB,EAAGwB,GACjB,MAAME,EAAIW,KAAKuwB,UAAUnxB,EAAEgI,MAAM,IACjC,OAAO/H,EAAIA,EAAE2yB,UAAY9yB,EACvBG,EAAE2yB,UACF,CACE7vB,MAAOxE,EACP4D,MAAOlC,EAAEkC,MACTiD,MAAO,wBAETrF,GACED,EAAE,OAAQvB,EAAG,CAAC0B,IAAMH,EAAE,OAAQ,CAAEiD,MAAOxE,EAAG6G,MAAO,uBAAyB,CAAC,IAAIpF,EAAEgI,MAAM,OAAO,EAEpGksB,QAAQ,IACPC,YACDvzB,KAAK+wB,KAAKpyB,QAAQ,OAAQ,QAAQA,QAAQ,UAAW,MACrDwuB,OACF,OAAOjuB,EAAE,MAAO,CAAEsF,MAAO,kDAAoD,CAC3EvF,EACAe,KAAKkyB,eAAiB,EAAIhzB,EAAE,MAAO,CAAEsF,MAAO,+BAAiC,CAC3EtF,EAAEa,EAAG,CAAEwB,MAAO,CAAEwvB,KAAM/wB,KAAK+wB,KAAMC,cAAehxB,KAAKkxB,gBAClD,MAET,GAEF,MAAAxxB,CAAOR,GACL,OAAOc,KAAK6xB,YAAc7xB,KAAKmzB,eAAej0B,GAAKc,KAAKizB,gBAAgB/zB,EAC1E,GAYI2L,GAVkB,OACtBjB,EAFK,KAAU,MAKf,EACA,KACA,WACA,KACA,MAEUzI","sources":["webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs","webpack:///nextcloud/node_modules/@nextcloud/dialogs/node_modules/@vueuse/shared/index.mjs","webpack:///nextcloud/node_modules/@nextcloud/dialogs/node_modules/@vueuse/shared/node_modules/vue-demi/lib/index.mjs","webpack:///nextcloud/node_modules/@nextcloud/dialogs/dist/chunks/FilePicker-728d3f78.mjs","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcRichContenteditable.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Mixins/isMobile.mjs","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/chunks/NcRichText-f5cfcd57.mjs"],"sourcesContent":["import i from \"./Components/NcActionButton.mjs\";\nimport m from \"./Components/NcActionButtonGroup.mjs\";\nimport e from \"./Components/NcActionCaption.mjs\";\nimport p from \"./Components/NcActionCheckbox.mjs\";\nimport c from \"./Components/NcActionInput.mjs\";\nimport f from \"./Components/NcActionLink.mjs\";\nimport n from \"./Components/NcActionRadio.mjs\";\nimport N from \"./Components/NcActionRouter.mjs\";\nimport a from \"./Components/NcActions.mjs\";\nimport s from \"./Components/NcActionSeparator.mjs\";\nimport l from \"./Components/NcActionText.mjs\";\nimport u from \"./Components/NcActionTextEditable.mjs\";\nimport d from \"./Components/NcAppContent.mjs\";\nimport A from \"./Components/NcAppContentDetails.mjs\";\nimport g from \"./Components/NcAppContentList.mjs\";\nimport b from \"./Components/NcAppNavigation.mjs\";\nimport S from \"./Components/NcAppNavigationCaption.mjs\";\nimport x from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport T from \"./Components/NcAppNavigationItem.mjs\";\nimport v from \"./Components/NcAppNavigationNew.mjs\";\nimport C from \"./Components/NcAppNavigationNewItem.mjs\";\nimport I from \"./Components/NcAppNavigationSettings.mjs\";\nimport k from \"./Components/NcAppNavigationSpacer.mjs\";\nimport h from \"./Components/NcAppSettingsDialog.mjs\";\nimport B from \"./Components/NcAppSettingsSection.mjs\";\nimport P from \"./Components/NcAppSidebar.mjs\";\nimport y from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as D } from \"./chunks/index-cea13a24.mjs\";\nimport { u as tt } from \"./chunks/index-cea13a24.mjs\";\nimport O from \"./Components/NcBreadcrumb.mjs\";\nimport R from \"./Components/NcBreadcrumbs.mjs\";\nimport j from \"./Components/NcButton.mjs\";\nimport E from \"./Components/NcCheckboxRadioSwitch.mjs\";\nimport M from \"./Components/NcColorPicker.mjs\";\nimport _ from \"./Components/NcContent.mjs\";\nimport L from \"./Components/NcCounterBubble.mjs\";\nimport F from \"./Components/NcDashboardWidget.mjs\";\nimport w from \"./Components/NcDashboardWidgetItem.mjs\";\nimport z from \"./Components/NcDateTime.mjs\";\nimport G from \"./Components/NcDateTimePicker.mjs\";\nimport W from \"./Components/NcDateTimePickerNative.mjs\";\nimport H from \"./Components/NcDialog.mjs\";\nimport V from \"./Components/NcDialogButton.mjs\";\nimport K from \"./Components/NcEmojiPicker.mjs\";\nimport U from \"./Components/NcEmptyContent.mjs\";\nimport $ from \"./Components/NcGuestContent.mjs\";\nimport q from \"./Components/NcHeaderMenu.mjs\";\nimport { N as J } from \"./chunks/index-20a9ace9.mjs\";\nimport Q from \"./Components/NcIconSvgWrapper.mjs\";\nimport X from \"./Components/NcListItem.mjs\";\nimport Y from \"./Components/NcListItemIcon.mjs\";\nimport Z from \"./Components/NcLoadingIcon.mjs\";\nimport oo from \"./Components/NcModal.mjs\";\nimport ro from \"./Components/NcNoteCard.mjs\";\nimport to from \"./Components/NcPasswordField.mjs\";\nimport io from \"./Components/NcPopover.mjs\";\nimport mo from \"./Components/NcProgressBar.mjs\";\nimport eo from \"./Components/NcRelatedResourcesPanel.mjs\";\nimport { N as po } from \"./chunks/index-5f2a5f57.mjs\";\nimport { r as mt } from \"./chunks/index-5f2a5f57.mjs\";\nimport co, { NcAutoCompleteResult as fo } from \"./Components/NcRichContenteditable.mjs\";\nimport { N as no } from \"./chunks/NcRichText-f5cfcd57.mjs\";\nimport \"./chunks/referencePickerModal-c2f33569.mjs\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport No from \"./Components/NcSelect.mjs\";\nimport \"./chunks/l10n-ef44019c.mjs\";\nimport ao from \"./Components/NcTextField.mjs\";\nimport \"@nextcloud/event-bus\";\nimport \"vue\";\nimport so from \"./Components/NcSavingIndicatorIcon.mjs\";\nimport lo from \"./Components/NcSelectTags.mjs\";\nimport uo from \"./Components/NcSettingsInputText.mjs\";\nimport Ao from \"./Components/NcSettingsSection.mjs\";\nimport { N as go } from \"./chunks/NcSettingsSelectGroup-091c0306.mjs\";\nimport bo from \"./Components/NcTimezonePicker.mjs\";\nimport So from \"./Components/NcUserBubble.mjs\";\nimport xo from \"./Components/NcTextArea.mjs\";\nimport { isFullscreenState as pt, useIsFullscreen as ct } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT as nt, isMobileState as Nt, useIsMobile as at } from \"./Composables/useIsMobile.mjs\";\nimport { emojiAddRecent as lt, emojiSearch as ut } from \"./Functions/emoji.mjs\";\nimport { default as At } from \"./Functions/usernameToColor.mjs\";\nimport { directive as To } from \"./Directives/Focus.mjs\";\nimport { directive as vo } from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as bt } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as xt } from \"./Mixins/isFullscreen.mjs\";\nimport { default as vt } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip as Co } from \"floating-vue\";\nimport { VTooltip as It } from \"floating-vue\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst Io = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton: i,\n NcActionButtonGroup: m,\n NcActionCaption: e,\n NcActionCheckbox: p,\n NcActionInput: c,\n NcActionLink: f,\n NcActionRadio: n,\n NcActionRouter: N,\n NcActionSeparator: s,\n NcActionText: l,\n NcActionTextEditable: u,\n NcActions: a,\n NcAppContent: d,\n NcAppContentDetails: A,\n NcAppContentList: g,\n NcAppNavigation: b,\n NcAppNavigationCaption: S,\n NcAppNavigationIconBullet: x,\n NcAppNavigationItem: T,\n NcAppNavigationNew: v,\n NcAppNavigationNewItem: C,\n NcAppNavigationSettings: I,\n NcAppNavigationSpacer: k,\n NcAppSettingsDialog: h,\n NcAppSettingsSection: B,\n NcAppSidebar: P,\n NcAppSidebarTab: y,\n NcAutoCompleteResult: fo,\n NcAvatar: D,\n NcBreadcrumb: O,\n NcBreadcrumbs: R,\n NcButton: j,\n NcCheckboxRadioSwitch: E,\n NcColorPicker: M,\n NcContent: _,\n NcCounterBubble: L,\n NcDashboardWidget: F,\n NcDashboardWidgetItem: w,\n NcDateTime: z,\n NcDateTimePicker: G,\n NcDateTimePickerNative: W,\n NcDialog: H,\n NcDialogButton: V,\n NcEmojiPicker: K,\n NcEmptyContent: U,\n NcGuestContent: $,\n NcHeaderMenu: q,\n NcHighlight: J,\n NcIconSvgWrapper: Q,\n NcListItem: X,\n NcListItemIcon: Y,\n NcLoadingIcon: Z,\n NcMentionBubble: po,\n NcModal: oo,\n NcNoteCard: ro,\n NcPasswordField: to,\n NcPopover: io,\n NcProgressBar: mo,\n NcRelatedResourcesPanel: eo,\n NcRichContenteditable: co,\n NcRichText: no,\n NcSavingIndicatorIcon: so,\n NcSelect: No,\n NcSelectTags: lo,\n NcSettingsInputText: uo,\n NcSettingsSection: Ao,\n NcSettingsSelectGroup: go,\n NcTextArea: xo,\n NcTextField: ao,\n NcTimezonePicker: bo,\n NcUserBubble: So\n}, Symbol.toStringTag, { value: \"Module\" }));\n/**\n * @copyright 2022 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst Yr = (o) => o.type === \"click\" || o.type === \"keydown\" && o.key === \"Enter\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst ko = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: To,\n Linkify: vo,\n Tooltip: Co\n}, Symbol.toStringTag, { value: \"Module\" })), Zr = {\n install(o) {\n Object.entries(Io).forEach(([t, r]) => {\n o.component(r.name || t, r);\n }), Object.entries(ko).forEach(([t, r]) => {\n o.directive(t, r);\n });\n }\n};\nexport {\n To as Focus,\n vo as Linkify,\n nt as MOBILE_BREAKPOINT,\n i as NcActionButton,\n m as NcActionButtonGroup,\n e as NcActionCaption,\n p as NcActionCheckbox,\n c as NcActionInput,\n f as NcActionLink,\n n as NcActionRadio,\n N as NcActionRouter,\n s as NcActionSeparator,\n l as NcActionText,\n u as NcActionTextEditable,\n a as NcActions,\n d as NcAppContent,\n A as NcAppContentDetails,\n g as NcAppContentList,\n b as NcAppNavigation,\n S as NcAppNavigationCaption,\n x as NcAppNavigationIconBullet,\n T as NcAppNavigationItem,\n v as NcAppNavigationNew,\n C as NcAppNavigationNewItem,\n I as NcAppNavigationSettings,\n k as NcAppNavigationSpacer,\n h as NcAppSettingsDialog,\n B as NcAppSettingsSection,\n P as NcAppSidebar,\n y as NcAppSidebarTab,\n fo as NcAutoCompleteResult,\n D as NcAvatar,\n O as NcBreadcrumb,\n R as NcBreadcrumbs,\n j as NcButton,\n E as NcCheckboxRadioSwitch,\n M as NcColorPicker,\n _ as NcContent,\n L as NcCounterBubble,\n F as NcDashboardWidget,\n w as NcDashboardWidgetItem,\n z as NcDateTime,\n G as NcDateTimePicker,\n W as NcDateTimePickerNative,\n H as NcDialog,\n V as NcDialogButton,\n K as NcEmojiPicker,\n U as NcEmptyContent,\n $ as NcGuestContent,\n q as NcHeaderMenu,\n J as NcHighlight,\n Q as NcIconSvgWrapper,\n X as NcListItem,\n Y as NcListItemIcon,\n Z as NcLoadingIcon,\n po as NcMentionBubble,\n oo as NcModal,\n ro as NcNoteCard,\n to as NcPasswordField,\n io as NcPopover,\n mo as NcProgressBar,\n eo as NcRelatedResourcesPanel,\n co as NcRichContenteditable,\n no as NcRichText,\n so as NcSavingIndicatorIcon,\n No as NcSelect,\n lo as NcSelectTags,\n uo as NcSettingsInputText,\n Ao as NcSettingsSection,\n go as NcSettingsSelectGroup,\n xo as NcTextArea,\n ao as NcTextField,\n bo as NcTimezonePicker,\n So as NcUserBubble,\n Zr as NextcloudVuePlugin,\n It as Tooltip,\n bt as clickOutsideOptions,\n lt as emojiAddRecent,\n ut as emojiSearch,\n Yr as isA11yActivation,\n xt as isFullscreen,\n pt as isFullscreenState,\n vt as isMobile,\n Nt as isMobileState,\n mt as richEditor,\n ct as useIsFullscreen,\n at as useIsMobile,\n tt as userStatus,\n At as usernameToColor\n};\n","import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (param) => {\n return Promise.all(Array.from(fns).map((fn) => param ? fn(param) : fn()));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(\"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /* @__PURE__ */ /iP(ad|hone|od)/.test(window.navigator.userAgent);\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true) {\n if (getCurrentInstance())\n onBeforeMount(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn) {\n if (getCurrentInstance())\n onBeforeUnmount(fn);\n}\n\nfunction tryOnMounted(fn, sync = true) {\n if (getCurrentInstance())\n onMounted(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn) {\n if (getCurrentInstance())\n onUnmounted(fn);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.min(max, count.value + delta);\n const dec = (delta = 1) => count.value = Math.max(min, count.value - delta);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(options.locales, { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(options.locales, { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(options.locales, { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n return watch(\n source,\n (v, ov, onInvalidate) => {\n if (v)\n cb(v, ov, onInvalidate);\n },\n options\n );\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n var vm\n var provide = {}\n var app = {\n config: Vue.config,\n use: Vue.use.bind(Vue),\n mixin: Vue.mixin.bind(Vue),\n component: Vue.component.bind(Vue),\n provide: function (key, value) {\n provide[key] = value\n return this\n },\n directive: function (name, dir) {\n if (dir) {\n Vue.directive(name, dir)\n return app\n } else {\n return Vue.directive(name)\n }\n },\n mount: function (el, hydrating) {\n if (!vm) {\n vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n vm.$mount(el, hydrating)\n return vm\n } else {\n return vm\n }\n },\n unmount: function () {\n if (vm) {\n vm.$destroy()\n vm = undefined\n }\n },\n }\n return app\n}\n\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n return {\n setup() {\n throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n }\n }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n return !!getCurrentInstance()\n}\n","import { ref as y, onMounted as R, computed as v, defineComponent as I, watch as te, onUnmounted as ue, nextTick as de, toRef as _e } from \"vue\";\nimport { FileType as V, formatFileSize as fe, davGetClient as pe, davResultToNode as M, davRootPath as D, getFavoriteNodes as ve, davGetRecentSearch as me, davGetDefaultPropfind as ge } from \"@nextcloud/files\";\nimport { getCanonicalLocale as he } from \"@nextcloud/l10n\";\nimport { NcCheckboxRadioSwitch as ie, NcDateTime as ye, NcButton as ne, NcActions as we, NcActionInput as be, NcBreadcrumbs as Ce, NcBreadcrumb as ke, NcSelect as Fe, NcTextField as Se, NcDialog as $e, NcEmptyContent as xe } from \"@nextcloud/vue\";\nimport { join as le } from \"path\";\nimport { loadState as se } from \"@nextcloud/initial-state\";\nimport re from \"@nextcloud/axios\";\nimport { generateUrl as H } from \"@nextcloud/router\";\nimport { toValue as ee } from \"@vueuse/core\";\nimport { t as w, k as Ne } from \"./toast-4137c25c.mjs\";\nimport { Fragment as Pe } from \"vue-frag\";\nimport { emit as Le } from \"@nextcloud/event-bus\";\nfunction k(s, e, i, t, n, l, o, _) {\n var r = typeof s == \"function\" ? s.options : s;\n e && (r.render = e, r.staticRenderFns = i, r._compiled = !0), t && (r.functional = !0), l && (r._scopeId = \"data-v-\" + l);\n var u;\n if (o ? (u = function(f) {\n f = f || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !f && typeof __VUE_SSR_CONTEXT__ < \"u\" && (f = __VUE_SSR_CONTEXT__), n && n.call(this, f), f && f._registeredComponents && f._registeredComponents.add(o);\n }, r._ssrRegister = u) : n && (u = _ ? function() {\n n.call(\n this,\n (r.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : n), u)\n if (r.functional) {\n r._injectStyles = u;\n var p = r.render;\n r.render = function(g, d) {\n return u.call(d), p(g, d);\n };\n } else {\n var b = r.beforeCreate;\n r.beforeCreate = b ? [].concat(b, u) : [u];\n }\n return {\n exports: s,\n options: r\n };\n}\nconst ze = {\n name: \"FileIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar Be = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon file-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ie = [], Ve = /* @__PURE__ */ k(\n ze,\n Be,\n Ie,\n !1,\n null,\n null,\n null,\n null\n);\nconst ae = Ve.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nconst oe = () => {\n var s, e, i;\n const t = se(\"files\", \"config\", null), n = y((s = t == null ? void 0 : t.show_hidden) != null ? s : !1), l = y((e = t == null ? void 0 : t.sort_favorites_first) != null ? e : !0), o = y((i = t == null ? void 0 : t.crop_image_previews) != null ? i : !0);\n return R(() => {\n re.get(H(\"/apps/files/api/v1/configs\")).then((_) => {\n var r, u, p, b, f, g, d, S, $;\n n.value = (p = (u = (r = _.data) == null ? void 0 : r.data) == null ? void 0 : u.show_hidden) != null ? p : !1, l.value = (g = (f = (b = _.data) == null ? void 0 : b.data) == null ? void 0 : f.sort_favorites_first) != null ? g : !0, o.value = ($ = (S = (d = _.data) == null ? void 0 : d.data) == null ? void 0 : S.crop_image_previews) != null ? $ : !0;\n });\n }), {\n showHiddenFiles: n,\n sortFavoritesFirst: l,\n cropImagePreviews: o\n };\n}, Re = (s) => {\n var e, i, t, n, l, o, _, r, u, p, b, f;\n const g = (C) => C === \"asc\" ? \"ascending\" : C === \"desc\" ? \"descending\" : \"none\", d = se(\"files\", \"viewConfigs\", null), S = y({\n sortBy: (i = (e = d == null ? void 0 : d.files) == null ? void 0 : e.sorting_mode) != null ? i : \"basename\",\n order: g((n = (t = d == null ? void 0 : d.files) == null ? void 0 : t.sorting_direction) != null ? n : \"asc\")\n }), $ = y({\n sortBy: (o = (l = d == null ? void 0 : d.recent) == null ? void 0 : l.sorting_mode) != null ? o : \"basename\",\n order: g((r = (_ = d == null ? void 0 : d.recent) == null ? void 0 : _.sorting_direction) != null ? r : \"asc\")\n }), P = y({\n sortBy: (p = (u = d == null ? void 0 : d.favorites) == null ? void 0 : u.sorting_mode) != null ? p : \"basename\",\n order: g((f = (b = d == null ? void 0 : d.favorites) == null ? void 0 : b.sorting_direction) != null ? f : \"asc\")\n });\n R(() => {\n re.get(H(\"/apps/files/api/v1/views\")).then((C) => {\n var h, a, c, F, x, z, B, T, E, U, Z, O, j, G, W, q, K, X, J, Q, Y;\n S.value = {\n sortBy: (F = (c = (a = (h = C.data) == null ? void 0 : h.data) == null ? void 0 : a.files) == null ? void 0 : c.sorting_mode) != null ? F : \"basename\",\n order: g((B = (z = (x = C.data) == null ? void 0 : x.data) == null ? void 0 : z.files) == null ? void 0 : B.sorting_direction)\n }, P.value = {\n sortBy: (Z = (U = (E = (T = C.data) == null ? void 0 : T.data) == null ? void 0 : E.favorites) == null ? void 0 : U.sorting_mode) != null ? Z : \"basename\",\n order: g((G = (j = (O = C.data) == null ? void 0 : O.data) == null ? void 0 : j.favorites) == null ? void 0 : G.sorting_direction)\n }, $.value = {\n sortBy: (X = (K = (q = (W = C.data) == null ? void 0 : W.data) == null ? void 0 : q.recent) == null ? void 0 : K.sorting_mode) != null ? X : \"basename\",\n order: g((Y = (Q = (J = C.data) == null ? void 0 : J.data) == null ? void 0 : Q.recent) == null ? void 0 : Y.sorting_direction)\n };\n });\n });\n const N = v(() => ee(s || \"files\") === \"files\" ? S.value : ee(s) === \"recent\" ? $.value : P.value), L = v(() => N.value.sortBy), m = v(() => N.value.order);\n return {\n filesViewConfig: S,\n favoritesViewConfig: P,\n recentViewConfig: $,\n currentConfig: N,\n sortBy: L,\n order: m\n };\n}, Me = {\n name: \"MenuUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar De = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-up-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,15L12,10L17,15H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, He = [], Ae = /* @__PURE__ */ k(\n Me,\n De,\n He,\n !1,\n null,\n null,\n null,\n null\n);\nconst Te = Ae.exports, Ee = {\n name: \"MenuDownIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar Ue = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon menu-down-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M7,10L12,15L17,10H7Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Ze = [], Oe = /* @__PURE__ */ k(\n Ee,\n Ue,\n Ze,\n !1,\n null,\n null,\n null,\n null\n);\nconst je = Oe.exports, ce = {\n \"file-picker__file-icon\": \"_file-picker__file-icon_1vgv4_5\"\n}, Ge = /* @__PURE__ */ I({\n __name: \"LoadingTableRow\",\n props: {\n showCheckbox: { type: Boolean }\n },\n setup(s) {\n return { __sfc: !0, fileListIconStyles: ce };\n }\n});\nvar We = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", { staticClass: \"file-picker__row loading-row\", attrs: { \"aria-hidden\": \"true\" } }, [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(\"span\")]) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"row-wrapper\" }, [i(\"span\", { class: t.fileListIconStyles[\"file-picker__file-icon\"] }), i(\"span\")])]), e._m(0), e._m(1)]);\n}, qe = [function() {\n var s = this, e = s._self._c;\n return s._self._setupProxy, e(\"td\", { staticClass: \"row-size\" }, [e(\"span\")]);\n}, function() {\n var s = this, e = s._self._c;\n return s._self._setupProxy, e(\"td\", { staticClass: \"row-modified\" }, [e(\"span\")]);\n}], Ke = /* @__PURE__ */ k(\n Ge,\n We,\n qe,\n !1,\n null,\n \"6aded0d9\",\n null,\n null\n);\nconst Xe = Ke.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nfunction Je(s, e = {}) {\n var i;\n e = { size: 32, cropPreview: !1, mimeFallback: !0, ...e };\n try {\n const t = ((i = s.attributes) == null ? void 0 : i.previewUrl) || H(\"/core/preview?fileId={fileid}\", {\n fileid: s.fileid\n });\n let n;\n try {\n n = new URL(t);\n } catch {\n n = new URL(t, window.location.origin);\n }\n return n.searchParams.set(\"x\", \"\".concat(e.size)), n.searchParams.set(\"y\", \"\".concat(e.size)), n.searchParams.set(\"mimeFallback\", \"\".concat(e.mimeFallback)), n.searchParams.set(\"a\", e.cropPreview === !0 ? \"0\" : \"1\"), n.searchParams.set(\"c\", \"\".concat(s.attributes.etag)), n;\n } catch {\n return null;\n }\n}\nconst Qe = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar Ye = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon folder-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, et = [], tt = /* @__PURE__ */ k(\n Qe,\n Ye,\n et,\n !1,\n null,\n null,\n null,\n null\n);\nconst A = tt.exports, it = {\n name: \"FilePreview\"\n}, nt = /* @__PURE__ */ I({\n ...it,\n props: {\n node: null,\n cropImagePreviews: null\n },\n setup(s) {\n const e = s, i = y(ce), t = v(() => Je(e.node, { cropPreview: cropImagePreviews.value })), n = v(() => e.node.type === V.File), l = y(!1);\n return te(t, () => {\n if (l.value = !1, t.value) {\n const o = document.createElement(\"img\");\n o.src = t.value.href, o.onerror = () => o.remove(), o.onload = () => {\n l.value = !0, o.remove();\n }, document.body.appendChild(o);\n }\n }, { immediate: !0 }), { __sfc: !0, fileListIconStyles: i, props: e, previewURL: t, isFile: n, canLoadPreview: l, t: w, IconFile: ae, IconFolder: A };\n }\n});\nvar lt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { class: t.fileListIconStyles[\"file-picker__file-icon\"], style: t.canLoadPreview ? { backgroundImage: \"url(\".concat(t.previewURL, \")\") } : void 0, attrs: { \"aria-label\": t.t(\"MIME type {mime}\", { mime: e.node.mime || t.t(\"unknown\") }) } }, [t.canLoadPreview ? e._e() : [t.isFile ? i(t.IconFile, { attrs: { size: 20 } }) : i(t.IconFolder, { attrs: { size: 20 } })]], 2);\n}, st = [], rt = /* @__PURE__ */ k(\n nt,\n lt,\n st,\n !1,\n null,\n null,\n null,\n null\n);\nconst at = rt.exports, ot = /* @__PURE__ */ I({\n __name: \"FileListRow\",\n props: {\n allowPickDirectory: { type: Boolean },\n selected: { type: Boolean },\n showCheckbox: { type: Boolean },\n canPick: { type: Boolean },\n node: null,\n cropImagePreviews: null\n },\n emits: [\"update:selected\", \"enter-directory\"],\n setup(s, { emit: e }) {\n const i = s, t = v(() => {\n var p;\n return ((p = i.node.attributes) == null ? void 0 : p.displayName) || i.node.basename.slice(0, i.node.extension ? -i.node.extension.length : void 0);\n }), n = v(() => i.node.extension), l = v(() => i.node.type === V.Folder), o = v(() => i.canPick && (i.allowPickDirectory || !l.value));\n function _() {\n e(\"update:selected\", !i.selected);\n }\n function r() {\n l.value ? e(\"enter-directory\", i.node) : _();\n }\n function u(p) {\n p.key === \"Enter\" && r();\n }\n return { __sfc: !0, props: i, emit: e, displayName: t, fileExtension: n, isDirectory: l, isPickable: o, toggleSelected: _, handleClick: r, handleKeyDown: u, formatFileSize: fe, NcCheckboxRadioSwitch: ie, NcDateTime: ye, t: w, FilePreview: at };\n }\n});\nvar ct = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"tr\", e._g(\n { class: [\"file-picker__row\", {\n \"file-picker__row--selected\": e.selected && !e.showCheckbox\n }], attrs: { tabindex: e.showCheckbox && !t.isDirectory ? void 0 : 0, \"aria-selected\": t.isPickable ? e.selected : void 0, \"data-filename\": e.node.basename, \"data-testid\": \"file-list-row\" }, on: { click: t.handleClick } },\n /* same as tabindex -> if we hide the checkbox or this is a directory we need keyboard access to enter the directory or select the node */\n !e.showCheckbox || t.isDirectory ? { keydown: t.handleKeyDown } : {}\n ), [e.showCheckbox ? i(\"td\", { staticClass: \"row-checkbox\" }, [i(t.NcCheckboxRadioSwitch, { attrs: { disabled: !t.isPickable, checked: e.selected, \"aria-label\": t.t(\"Select the row for {nodename}\", { nodename: t.displayName }), \"data-testid\": \"row-checkbox\" }, on: { click: function(n) {\n n.stopPropagation();\n }, \"update:checked\": t.toggleSelected } })], 1) : e._e(), i(\"td\", { staticClass: \"row-name\" }, [i(\"div\", { staticClass: \"file-picker__name-container\", attrs: { \"data-testid\": \"row-name\" } }, [i(t.FilePreview, { attrs: { node: e.node, \"crop-image-previews\": e.cropImagePreviews } }), i(\"div\", { staticClass: \"file-picker__file-name\", attrs: { title: t.displayName }, domProps: { textContent: e._s(t.displayName) } }), i(\"div\", { staticClass: \"file-picker__file-extension\", domProps: { textContent: e._s(t.fileExtension) } })], 1)]), i(\"td\", { staticClass: \"row-size\" }, [e._v(\" \" + e._s(t.formatFileSize(e.node.size || 0)) + \" \")]), i(\"td\", { staticClass: \"row-modified\" }, [i(t.NcDateTime, { attrs: { timestamp: e.node.mtime, \"ignore-seconds\": !0 } })], 1)]);\n}, ut = [], dt = /* @__PURE__ */ k(\n ot,\n ct,\n ut,\n !1,\n null,\n \"24eb3c55\",\n null,\n null\n);\nconst _t = dt.exports, ft = /* @__PURE__ */ I({\n __name: \"FileList\",\n props: {\n currentView: null,\n multiselect: { type: Boolean },\n allowPickDirectory: { type: Boolean },\n loading: { type: Boolean },\n files: null,\n selectedFiles: null,\n path: null\n },\n emits: [\"update:path\", \"update:selectedFiles\"],\n setup(s, { emit: e }) {\n const i = s, t = y(), { currentConfig: n } = Re(i.currentView), l = v(() => {\n var m;\n return (m = t.value) != null ? m : n.value;\n }), o = v(() => l.value.sortBy === \"basename\" ? l.value.order === \"none\" ? void 0 : l.value.order : void 0), _ = v(() => l.value.sortBy === \"size\" ? l.value.order === \"none\" ? void 0 : l.value.order : void 0), r = v(() => l.value.sortBy === \"mtime\" ? l.value.order === \"none\" ? void 0 : l.value.order : void 0), u = (m) => {\n l.value.sortBy === m ? l.value.order === \"ascending\" ? t.value = { sortBy: l.value.sortBy, order: \"descending\" } : t.value = { sortBy: l.value.sortBy, order: \"ascending\" } : t.value = { sortBy: m, order: \"ascending\" };\n }, { sortFavoritesFirst: p, cropImagePreviews: b } = oe(), f = v(\n () => {\n const m = {\n ascending: (h, a, c) => c(h, a),\n descending: (h, a, c) => c(a, h),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n none: (h, a, c) => 0\n }, C = {\n basename: (h, a) => {\n var c, F;\n return (((c = h.attributes) == null ? void 0 : c.displayName) || h.basename).localeCompare(((F = a.attributes) == null ? void 0 : F.displayName) || a.basename, he());\n },\n size: (h, a) => (h.size || 0) - (a.size || 0),\n // reverted because \"young\" is smaller than \"old\"\n mtime: (h, a) => {\n var c, F, x, z;\n return (((F = (c = a.mtime) == null ? void 0 : c.getTime) == null ? void 0 : F.call(c)) || 0) - (((z = (x = h.mtime) == null ? void 0 : x.getTime) == null ? void 0 : z.call(x)) || 0);\n }\n };\n return [...i.files].sort(\n (h, a) => (\n // Folders always come above the files\n (a.type === V.Folder ? 1 : 0) - (h.type === V.Folder ? 1 : 0) || (p ? (a.attributes.favorite ? 1 : 0) - (h.attributes.favorite ? 1 : 0) : 0) || m[l.value.order](h, a, C[l.value.sortBy])\n )\n );\n }\n ), g = v(() => i.files.filter((m) => i.allowPickDirectory || m.type !== V.Folder)), d = v(() => !i.loading && i.selectedFiles.length > 0 && i.selectedFiles.length >= g.value.length);\n function S() {\n i.selectedFiles.length < g.value.length ? e(\"update:selectedFiles\", g.value) : e(\"update:selectedFiles\", []);\n }\n function $(m) {\n i.selectedFiles.includes(m) ? e(\"update:selectedFiles\", i.selectedFiles.filter((C) => C.path !== m.path)) : i.multiselect ? e(\"update:selectedFiles\", [...i.selectedFiles, m]) : e(\"update:selectedFiles\", [m]);\n }\n function P(m) {\n e(\"update:path\", le(i.path, m.basename));\n }\n const N = y(4), L = y();\n {\n const m = () => de(() => {\n var C, h, a, c, F;\n const x = ((h = (C = L.value) == null ? void 0 : C.parentElement) == null ? void 0 : h.children) || [];\n let z = ((c = (a = L.value) == null ? void 0 : a.parentElement) == null ? void 0 : c.clientHeight) || 450;\n for (let B = 0; B < x.length; B++)\n (F = L.value) != null && F.isSameNode(x[B]) || (z -= x[B].clientHeight);\n N.value = Math.floor((z - 50) / 50);\n });\n R(() => {\n window.addEventListener(\"resize\", m), m();\n }), ue(() => {\n window.removeEventListener(\"resize\", m);\n });\n }\n return { __sfc: !0, props: i, emit: e, customSortingConfig: t, filesAppSorting: n, sortingConfig: l, sortByName: o, sortBySize: _, sortByModified: r, toggleSorting: u, sortFavoritesFirst: p, cropImagePreviews: b, sortedFiles: f, selectableFiles: g, allSelected: d, onSelectAll: S, onNodeSelected: $, onChangeDirectory: P, skeletonNumber: N, fileContainer: L, NcButton: ne, NcCheckboxRadioSwitch: ie, t: w, IconSortAscending: Te, IconSortDescending: je, LoadingTableRow: Xe, FileListRow: _t };\n }\n});\nvar pt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(\"div\", { ref: \"fileContainer\", staticClass: \"file-picker__files\" }, [i(\"table\", [i(\"thead\", [i(\"tr\", [e.multiselect ? i(\"th\", { staticClass: \"row-checkbox\" }, [i(\"span\", { staticClass: \"hidden-visually\" }, [e._v(\" \" + e._s(t.t(\"Select entry\")) + \" \")]), e.multiselect ? i(t.NcCheckboxRadioSwitch, { attrs: { \"aria-label\": t.t(\"Select all entries\"), checked: t.allSelected, \"data-testid\": \"select-all-checkbox\" }, on: { \"update:checked\": t.onSelectAll } }) : e._e()], 1) : e._e(), i(\"th\", { staticClass: \"row-name\", attrs: { \"aria-sort\": t.sortByName } }, [i(\"div\", { staticClass: \"header-wrapper\" }, [i(\"span\", { staticClass: \"file-picker__header-preview\" }), i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\", \"data-test\": \"file-picker_sort-name\" }, on: { click: function(n) {\n return t.toggleSorting(\"basename\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByName === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByName === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Name\")) + \" \")])], 1)]), i(\"th\", { staticClass: \"row-size\", attrs: { \"aria-sort\": t.sortBySize } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: function(n) {\n return t.toggleSorting(\"size\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortBySize === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortBySize === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Size\")) + \" \")])], 1), i(\"th\", { staticClass: \"row-modified\", attrs: { \"aria-sort\": t.sortByModified } }, [i(t.NcButton, { attrs: { wide: !0, type: \"tertiary\" }, on: { click: function(n) {\n return t.toggleSorting(\"mtime\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [t.sortByModified === \"ascending\" ? i(t.IconSortAscending, { attrs: { size: 20 } }) : t.sortByModified === \"descending\" ? i(t.IconSortDescending, { attrs: { size: 20 } }) : i(\"span\", { staticStyle: { width: \"44px\" } })];\n }, proxy: !0 }]) }, [e._v(\" \" + e._s(t.t(\"Modified\")) + \" \")])], 1)])]), i(\"tbody\", [e.loading ? e._l(t.skeletonNumber, function(n) {\n return i(t.LoadingTableRow, { key: n, attrs: { \"show-checkbox\": e.multiselect } });\n }) : e._l(t.sortedFiles, function(n) {\n return i(t.FileListRow, { key: n.fileid || n.path, attrs: { \"allow-pick-directory\": e.allowPickDirectory, \"show-checkbox\": e.multiselect, \"can-pick\": e.multiselect || e.selectedFiles.length === 0 || e.selectedFiles.includes(n), selected: e.selectedFiles.includes(n), node: n, \"crop-image-previews\": t.cropImagePreviews }, on: { \"update:selected\": function(l) {\n return t.onNodeSelected(n);\n }, \"enter-directory\": t.onChangeDirectory } });\n })], 2)])]);\n}, vt = [], mt = /* @__PURE__ */ k(\n ft,\n pt,\n vt,\n !1,\n null,\n \"4297db37\",\n null,\n null\n);\nconst gt = mt.exports, ht = {\n name: \"HomeIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar yt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon home-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, wt = [], bt = /* @__PURE__ */ k(\n ht,\n yt,\n wt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Ct = bt.exports, kt = {\n name: \"PlusIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar Ft = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon plus-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, St = [], $t = /* @__PURE__ */ k(\n kt,\n Ft,\n St,\n !1,\n null,\n null,\n null,\n null\n);\nconst xt = $t.exports, Nt = /* @__PURE__ */ I({\n __name: \"FilePickerBreadcrumbs\",\n props: {\n path: null,\n showMenu: { type: Boolean }\n },\n emits: [\"update:path\", \"create-node\"],\n setup(s, { emit: e }) {\n const i = s, t = y(\"\"), n = y();\n function l() {\n var r, u, p, b;\n const f = t.value.trim(), g = (u = (r = n.value) == null ? void 0 : r.$el) == null ? void 0 : u.querySelector(\"input\");\n let d = \"\";\n return f.length === 0 ? d = w(\"Folder name cannot be empty.\") : f.includes(\"/\") ? d = w('\"/\" is not allowed inside a folder name.') : [\"..\", \".\"].includes(f) ? d = w('\"{name}\" is an invalid folder name.', { name: f }) : (p = window.OC.config) != null && p.blacklist_files_regex && f.match((b = window.OC.config) == null ? void 0 : b.blacklist_files_regex) && (d = w('\"{name}\" is not an allowed folder name', { name: f })), g && g.setCustomValidity(d), d === \"\";\n }\n const o = function() {\n const r = t.value.trim();\n l() && (e(\"create-node\", r), t.value = \"\");\n }, _ = v(\n () => i.path.split(\"/\").filter((r) => r !== \"\").map((r, u, p) => ({\n name: r,\n path: \"/\" + p.slice(0, u + 1).join(\"/\")\n }))\n );\n return { __sfc: !0, props: i, emit: e, newNodeName: t, nameInput: n, validateInput: l, onSubmit: o, pathElements: _, IconFolder: A, IconHome: Ct, IconPlus: xt, NcActions: we, NcActionInput: be, NcBreadcrumbs: Ce, NcBreadcrumb: ke, t: w };\n }\n});\nvar Pt = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcBreadcrumbs, { staticClass: \"file-picker__breadcrumbs\", scopedSlots: e._u([{ key: \"default\", fn: function() {\n return [i(t.NcBreadcrumb, { attrs: { name: t.t(\"Home\"), title: t.t(\"Home\") }, on: { click: function(n) {\n return t.emit(\"update:path\", \"/\");\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconHome, { attrs: { size: 20 } })];\n }, proxy: !0 }]) }), e._l(t.pathElements, function(n) {\n return i(t.NcBreadcrumb, { key: n.path, attrs: { name: n.name, title: n.path }, on: { click: function(l) {\n return t.emit(\"update:path\", n.path);\n } } });\n })];\n }, proxy: !0 }, e.showMenu ? { key: \"actions\", fn: function() {\n return [i(t.NcActions, { attrs: { \"aria-label\": t.t(\"Create directory\"), \"force-menu\": !0, \"force-name\": !0, \"menu-name\": t.t(\"New\"), type: \"secondary\" }, on: { close: function(n) {\n t.newNodeName = \"\";\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconPlus, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 2971667417) }, [i(t.NcActionInput, { ref: \"nameInput\", attrs: { value: t.newNodeName, label: t.t(\"New folder\"), placeholder: t.t(\"New folder name\") }, on: { \"update:value\": function(n) {\n t.newNodeName = n;\n }, submit: t.onSubmit, input: t.validateInput }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFolder, { attrs: { size: 20 } })];\n }, proxy: !0 }], null, !1, 1614167509) })], 1)];\n }, proxy: !0 } : null], null, !0) });\n}, Lt = [], zt = /* @__PURE__ */ k(\n Nt,\n Pt,\n Lt,\n !1,\n null,\n \"3bc9efa5\",\n null,\n null\n);\nconst Bt = zt.exports, It = {\n name: \"ClockIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar Vt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon clock-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Rt = [], Mt = /* @__PURE__ */ k(\n It,\n Vt,\n Rt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Dt = Mt.exports, Ht = {\n name: \"CloseIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar At = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon close-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Tt = [], Et = /* @__PURE__ */ k(\n Ht,\n At,\n Tt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Ut = Et.exports, Zt = {\n name: \"MagnifyIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar Ot = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon magnify-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, jt = [], Gt = /* @__PURE__ */ k(\n Zt,\n Ot,\n jt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Wt = Gt.exports, qt = {\n name: \"StarIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar Kt = function() {\n var e = this, i = e._self._c;\n return i(\"span\", e._b({ staticClass: \"material-design-icon star-icon\", attrs: { \"aria-hidden\": !e.title, \"aria-label\": e.title, role: \"img\" }, on: { click: function(t) {\n return e.$emit(\"click\", t);\n } } }, \"span\", e.$attrs, !1), [i(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { fill: e.fillColor, width: e.size, height: e.size, viewBox: \"0 0 24 24\" } }, [i(\"path\", { attrs: { d: \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\" } }, [e.title ? i(\"title\", [e._v(e._s(e.title))]) : e._e()])])]);\n}, Xt = [], Jt = /* @__PURE__ */ k(\n qt,\n Kt,\n Xt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Qt = Jt.exports, Yt = /* @__PURE__ */ I({\n __name: \"FilePickerNavigation\",\n props: {\n currentView: null,\n filterString: null,\n isCollapsed: { type: Boolean }\n },\n emits: [\"update:currentView\", \"update:filterString\"],\n setup(s, { emit: e }) {\n const i = s, t = [{\n id: \"files\",\n label: w(\"All files\"),\n icon: A\n }, {\n id: \"recent\",\n label: w(\"Recent\"),\n icon: Dt\n }, {\n id: \"favorites\",\n label: w(\"Favorites\"),\n icon: Qt\n }], n = v(() => t.filter((o) => o.id === i.currentView)[0]);\n return { __sfc: !0, allViews: t, props: i, emit: e, currentViewObject: n, updateFilterValue: (o) => e(\"update:filterString\", o), IconClose: Ut, IconMagnify: Wt, NcButton: ne, NcSelect: Fe, NcTextField: Se, t: w, Fragment: Pe };\n }\n});\nvar ei = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.Fragment, [i(t.NcTextField, { staticClass: \"file-picker__filter-input\", attrs: { value: e.filterString, label: t.t(\"Filter file list\"), \"show-trailing-button\": !!e.filterString }, on: { \"update:value\": t.updateFilterValue, \"trailing-button-click\": function(n) {\n return t.updateFilterValue(\"\");\n } }, scopedSlots: e._u([{ key: \"trailing-button-icon\", fn: function() {\n return [i(t.IconClose, { attrs: { size: 16 } })];\n }, proxy: !0 }]) }, [i(t.IconMagnify, { attrs: { size: 16 } })], 1), e.isCollapsed ? i(t.NcSelect, { attrs: { \"aria-label\": t.t(\"Current view selector\"), clearable: !1, searchable: !1, options: t.allViews, value: t.currentViewObject }, on: { input: (n) => t.emit(\"update:currentView\", n.id) } }) : i(\"ul\", { staticClass: \"file-picker__side\", attrs: { role: \"tablist\", \"aria-label\": t.t(\"Filepicker sections\") } }, e._l(t.allViews, function(n) {\n return i(\"li\", { key: n.id }, [i(t.NcButton, { attrs: { \"aria-selected\": e.currentView === n.id, type: e.currentView === n.id ? \"primary\" : \"tertiary\", wide: !0, role: \"tab\" }, on: { click: function(l) {\n return e.$emit(\"update:currentView\", n.id);\n } }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(n.icon, { tag: \"component\", attrs: { size: 20 } })];\n }, proxy: !0 }], null, !0) }, [e._v(\" \" + e._s(n.label) + \" \")])], 1);\n }), 0)], 1);\n}, ti = [], ii = /* @__PURE__ */ k(\n Yt,\n ei,\n ti,\n !1,\n null,\n \"fcfd0f23\",\n null,\n null\n);\nconst ni = ii.exports;\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst li = function(s, e) {\n const i = pe(), t = y([]), n = y(!0);\n async function l(_, r = D) {\n const u = await i.stat(\"\".concat(r).concat(_), {\n details: !0\n });\n return M(u.data);\n }\n async function o() {\n if (n.value = !0, s.value === \"favorites\")\n t.value = await ve(i, e.value);\n else if (s.value === \"recent\") {\n const _ = Math.round(Date.now() / 1e3) - 1209600, { data: r } = await i.search(\"/\", {\n details: !0,\n data: me(_)\n });\n t.value = r.results.map((u) => M(u));\n } else {\n const _ = await i.getDirectoryContents(\"\".concat(D).concat(e.value), {\n details: !0,\n data: ge()\n });\n t.value = _.data.map((r) => M(r));\n }\n n.value = !1;\n }\n return te([s, e], () => o()), R(() => o()), {\n isLoading: n,\n files: t,\n loadFiles: o,\n getFile: l,\n client: i\n };\n};\n/**\n * @copyright Copyright (c) 2023 Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst si = function(s) {\n const e = v(() => s.value.map((t) => t.split(\"/\")));\n return {\n isSupportedMimeType: (t) => {\n const n = t.split(\"/\");\n return e.value.some(\n ([l, o]) => (\n // check mime type matches or is wildcard\n (n[0] === l || l === \"*\") && (n[1] === o || o === \"*\")\n )\n );\n }\n };\n}, ri = {\n name: \"FilePicker\"\n}, ai = /* @__PURE__ */ I({\n ...ri,\n props: {\n buttons: null,\n name: null,\n allowPickDirectory: { type: Boolean, default: !1 },\n container: { default: \"body\" },\n filterFn: { default: void 0 },\n mimetypeFilter: { default: () => [] },\n multiselect: { type: Boolean, default: !0 },\n path: { default: \"/\" }\n },\n emits: [\"close\"],\n setup(s, { emit: e }) {\n const i = s, t = v(() => ({\n container: i.container,\n name: i.name,\n buttons: n.value,\n size: \"large\",\n contentClasses: [\"file-picker__content\"],\n dialogClasses: [\"file-picker\"],\n navigationClasses: [\"file-picker__navigation\"]\n })), n = v(() => (typeof i.buttons == \"function\" ? i.buttons(_.value, p.value, l.value) : i.buttons).map((c) => ({\n ...c,\n callback: async () => {\n const F = _.value.length === 0 && i.allowPickDirectory ? [await $(p.value)] : _.value;\n c.callback(F), e(\"close\", _.value);\n }\n }))), l = y(\"files\"), o = v(() => l.value === \"favorites\" ? w(\"Favorites\") : l.value === \"recent\" ? w(\"Recent\") : \"\"), _ = y([]), r = y((window == null ? void 0 : window.sessionStorage.getItem(\"NC.FilePicker.LastPath\")) || \"/\"), u = y(), p = v({\n // Only use the path for the files view as favorites and recent only works on the root\n get: () => l.value === \"files\" ? u.value || i.path || r.value : \"/\",\n /**\n * Navigate to the new path and save it to the session storage\n *\n * @param path The new path\n */\n set: (a) => {\n i.path === void 0 && window.sessionStorage.setItem(\"NC.FilePicker.LastPath\", a), u.value = a, _.value = [];\n }\n }), b = y(\"\"), { isSupportedMimeType: f } = si(_e(i, \"mimetypeFilter\")), { files: g, isLoading: d, loadFiles: S, getFile: $, client: P } = li(l, p);\n R(() => S());\n const { showHiddenFiles: N } = oe(), L = v(() => {\n let a = g.value;\n return N.value || (a = a.filter((c) => !c.basename.startsWith(\".\"))), i.mimetypeFilter.length > 0 && (a = a.filter((c) => c.type === \"folder\" || c.mime && f(c.mime))), b.value && (a = a.filter((c) => c.basename.toLowerCase().includes(b.value.toLowerCase()))), i.filterFn && (a = a.filter((c) => i.filterFn(c))), a;\n }), m = v(() => l.value === \"files\" ? w(\"Upload some content or sync with your devices!\") : l.value === \"recent\" ? w(\"Files and folders you recently modified will show up here.\") : w(\"Files and folders you mark as favorite will show up here.\"));\n return { __sfc: !0, props: i, emit: e, dialogProps: t, dialogButtons: n, currentView: l, viewHeadline: o, selectedFiles: _, savedPath: r, navigatedPath: u, currentPath: p, filterString: b, isSupportedMimeType: f, files: g, isLoading: d, loadFiles: S, getFile: $, client: P, showHiddenFiles: N, filteredFiles: L, noFilesDescription: m, onCreateFolder: async (a) => {\n try {\n await P.createDirectory(le(D, p.value, a)), await S(), Le(\"files:node:created\", g.value.filter((c) => c.basename === a)[0]);\n } catch (c) {\n console.warn(\"Could not create new folder\", { name: a, error: c }), Ne(w(\"Could not create the new folder\"));\n }\n }, handleClose: (a) => {\n a || e(\"close\");\n }, IconFile: ae, FileList: gt, FilePickerBreadcrumbs: Bt, FilePickerNavigation: ni, NcDialog: $e, NcEmptyContent: xe, t: w };\n }\n});\nvar oi = function() {\n var e = this, i = e._self._c, t = e._self._setupProxy;\n return i(t.NcDialog, e._b({ on: { \"update:open\": t.handleClose }, scopedSlots: e._u([{ key: \"navigation\", fn: function({ isCollapsed: n }) {\n return [i(t.FilePickerNavigation, { attrs: { \"is-collapsed\": n, \"current-view\": t.currentView, \"filter-string\": t.filterString }, on: { \"update:currentView\": function(l) {\n t.currentView = l;\n }, \"update:current-view\": function(l) {\n t.currentView = l;\n }, \"update:filterString\": function(l) {\n t.filterString = l;\n }, \"update:filter-string\": function(l) {\n t.filterString = l;\n } } })];\n } }]) }, \"NcDialog\", t.dialogProps, !1), [i(\"div\", { staticClass: \"file-picker__main\" }, [t.currentView === \"files\" ? i(t.FilePickerBreadcrumbs, { attrs: { path: t.currentPath, \"show-menu\": e.allowPickDirectory }, on: { \"update:path\": function(n) {\n t.currentPath = n;\n }, \"create-node\": t.onCreateFolder } }) : i(\"div\", { staticClass: \"file-picker__view\" }, [i(\"h3\", [e._v(e._s(t.viewHeadline))])]), t.isLoading || t.filteredFiles.length > 0 ? i(t.FileList, { attrs: { \"allow-pick-directory\": e.allowPickDirectory, \"current-view\": t.currentView, files: t.filteredFiles, multiselect: e.multiselect, loading: t.isLoading, path: t.currentPath, \"selected-files\": t.selectedFiles, name: t.viewHeadline }, on: { \"update:path\": [function(n) {\n t.currentPath = n;\n }, function(n) {\n t.currentView = \"files\";\n }], \"update:selectedFiles\": function(n) {\n t.selectedFiles = n;\n }, \"update:selected-files\": function(n) {\n t.selectedFiles = n;\n } } }) : t.filterString ? i(t.NcEmptyContent, { attrs: { name: t.t(\"No matching files\"), description: t.t(\"No files matching your filter were found.\") }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) }) : i(t.NcEmptyContent, { attrs: { name: t.t(\"No files in here\"), description: t.noFilesDescription }, scopedSlots: e._u([{ key: \"icon\", fn: function() {\n return [i(t.IconFile)];\n }, proxy: !0 }]) })], 1)]);\n}, ci = [], ui = /* @__PURE__ */ k(\n ai,\n oi,\n ci,\n !1,\n null,\n \"b63d952f\",\n null,\n null\n);\nconst ki = ui.exports;\nexport {\n ki as default\n};\n","import { getCurrentUser as A, onRequestTokenUpdate as ue, getRequestToken as de } from \"@nextcloud/auth\";\nimport { getLoggerBuilder as q } from \"@nextcloud/logger\";\nimport { getCanonicalLocale as ae } from \"@nextcloud/l10n\";\nimport { join as le, basename as fe, extname as ce, dirname as I } from \"path\";\nimport { encodePath as he } from \"@nextcloud/paths\";\nimport { generateRemoteUrl as pe } from \"@nextcloud/router\";\nimport { createClient as ge, getPatcher as we } from \"webdav\";\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst me = (e) => e === null ? q().setApp(\"files\").build() : q().setApp(\"files\").setUid(e.uid).build(), m = me(A());\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Ne {\n _entries = [];\n registerEntry(t) {\n this.validateEntry(t), this._entries.push(t);\n }\n unregisterEntry(t) {\n const r = typeof t == \"string\" ? this.getEntryIndex(t) : this.getEntryIndex(t.id);\n if (r === -1) {\n m.warn(\"Entry not found, nothing removed\", { entry: t, entries: this.getEntries() });\n return;\n }\n this._entries.splice(r, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(t) {\n return t ? this._entries.filter((r) => typeof r.enabled == \"function\" ? r.enabled(t) : !0) : this._entries;\n }\n getEntryIndex(t) {\n return this._entries.findIndex((r) => r.id === t);\n }\n validateEntry(t) {\n if (!t.id || !t.displayName || !(t.iconSvgInline || t.iconClass) || !t.handler)\n throw new Error(\"Invalid entry\");\n if (typeof t.id != \"string\" || typeof t.displayName != \"string\")\n throw new Error(\"Invalid id or displayName property\");\n if (t.iconClass && typeof t.iconClass != \"string\" || t.iconSvgInline && typeof t.iconSvgInline != \"string\")\n throw new Error(\"Invalid icon provided\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (typeof t.handler != \"function\")\n throw new Error(\"Invalid handler property\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order property\");\n if (this.getEntryIndex(t.id) !== -1)\n throw new Error(\"Duplicate entry\");\n }\n}\nconst F = function() {\n return typeof window._nc_newfilemenu > \"u\" && (window._nc_newfilemenu = new Ne(), m.debug(\"NewFileMenu initialized\")), window._nc_newfilemenu;\n};\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst C = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"], P = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction Yt(e, t = !1, r = !1, s = !1) {\n r = r && !s, typeof e == \"string\" && (e = Number(e));\n let n = e > 0 ? Math.floor(Math.log(e) / Math.log(s ? 1e3 : 1024)) : 0;\n n = Math.min((r ? P.length : C.length) - 1, n);\n const i = r ? P[n] : C[n];\n let d = (e / Math.pow(s ? 1e3 : 1024, n)).toFixed(1);\n return t === !0 && n === 0 ? (d !== \"0.0\" ? \"< 1 \" : \"0 \") + (r ? P[1] : C[1]) : (n < 2 ? d = parseFloat(d).toFixed(0) : d = parseFloat(d).toLocaleString(ae()), d + \" \" + i);\n}\nfunction Jt(e, t = !1) {\n try {\n e = `${e}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const r = e.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (r === null || r[1] === \".\" || r[1] === \"\")\n return null;\n const s = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n }, n = `${r[1]}`, i = r[4] === \"i\" || t ? 1024 : 1e3;\n return Math.round(Number.parseFloat(n) * i ** s[r[3]]);\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar Z = /* @__PURE__ */ ((e) => (e.DEFAULT = \"default\", e.HIDDEN = \"hidden\", e))(Z || {});\nclass Qt {\n _action;\n constructor(t) {\n this.validateAction(t), this._action = t;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"Invalid id\");\n if (!t.displayName || typeof t.displayName != \"function\")\n throw new Error(\"Invalid displayName function\");\n if (\"title\" in t && typeof t.title != \"function\")\n throw new Error(\"Invalid title function\");\n if (!t.iconSvgInline || typeof t.iconSvgInline != \"function\")\n throw new Error(\"Invalid iconSvgInline function\");\n if (!t.exec || typeof t.exec != \"function\")\n throw new Error(\"Invalid exec function\");\n if (\"enabled\" in t && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled function\");\n if (\"execBatch\" in t && typeof t.execBatch != \"function\")\n throw new Error(\"Invalid execBatch function\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order\");\n if (\"parent\" in t && typeof t.parent != \"string\")\n throw new Error(\"Invalid parent\");\n if (t.default && !Object.values(Z).includes(t.default))\n throw new Error(\"Invalid default\");\n if (\"inline\" in t && typeof t.inline != \"function\")\n throw new Error(\"Invalid inline function\");\n if (\"renderInline\" in t && typeof t.renderInline != \"function\")\n throw new Error(\"Invalid renderInline function\");\n }\n}\nconst Dt = function(e) {\n if (typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions.find((t) => t.id === e.id)) {\n m.error(`FileAction ${e.id} already registered`, { action: e });\n return;\n }\n window._nc_fileactions.push(e);\n}, er = function() {\n return typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass tr {\n _header;\n constructor(t) {\n this.validateHeader(t), this._header = t;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(t) {\n if (!t.id || !t.render || !t.updated)\n throw new Error(\"Invalid header: id, render and updated are required\");\n if (typeof t.id != \"string\")\n throw new Error(\"Invalid id property\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (t.render && typeof t.render != \"function\")\n throw new Error(\"Invalid render property\");\n if (t.updated && typeof t.updated != \"function\")\n throw new Error(\"Invalid updated property\");\n }\n}\nconst rr = function(e) {\n if (typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader.find((t) => t.id === e.id)) {\n m.error(`Header ${e.id} already registered`, { header: e });\n return;\n }\n window._nc_filelistheader.push(e);\n}, nr = function() {\n return typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar N = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = \"NONE\", e[e.CREATE = 4] = \"CREATE\", e[e.READ = 1] = \"READ\", e[e.UPDATE = 2] = \"UPDATE\", e[e.DELETE = 8] = \"DELETE\", e[e.SHARE = 16] = \"SHARE\", e[e.ALL = 31] = \"ALL\", e))(N || {});\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst j = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"nc:share-attributes\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:share-types\",\n \"oc:size\",\n \"ocs:share-permissions\"\n], Y = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n}, ir = function(e, t = { nc: \"http://nextcloud.org/ns\" }) {\n typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j], window._nc_dav_namespaces = { ...Y });\n const r = { ...window._nc_dav_namespaces, ...t };\n if (window._nc_dav_properties.find((n) => n === e))\n return m.error(`${e} already registered`, { prop: e }), !1;\n if (e.startsWith(\"<\") || e.split(\":\").length !== 2)\n return m.error(`${e} is not valid. See example: 'oc:fileid'`, { prop: e }), !1;\n const s = e.split(\":\")[0];\n return r[s] ? (window._nc_dav_properties.push(e), window._nc_dav_namespaces = r, !0) : (m.error(`${e} namespace unknown`, { prop: e, namespaces: r }), !1);\n}, V = function() {\n return typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j]), window._nc_dav_properties.map((e) => `<${e} />`).join(\" \");\n}, L = function() {\n return typeof window._nc_dav_namespaces > \"u\" && (window._nc_dav_namespaces = { ...Y }), Object.keys(window._nc_dav_namespaces).map((e) => `xmlns:${e}=\"${window._nc_dav_namespaces?.[e]}\"`).join(\" \");\n}, sr = function() {\n return `<?xml version=\"1.0\"?>\n\t\t<d:propfind ${L()}>\n\t\t\t<d:prop>\n\t\t\t\t${V()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`;\n}, Ee = function() {\n return `<?xml version=\"1.0\"?>\n\t\t<oc:filter-files ${L()}>\n\t\t\t<d:prop>\n\t\t\t\t${V()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`;\n}, or = function(e) {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<d:searchrequest ${L()}\n\txmlns:ns=\"https://github.com/icewind1991/SearchDAV/ns\">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${V()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${A()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${e}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst be = function(e = \"\") {\n let t = N.NONE;\n return e && ((e.includes(\"C\") || e.includes(\"K\")) && (t |= N.CREATE), e.includes(\"G\") && (t |= N.READ), (e.includes(\"W\") || e.includes(\"N\") || e.includes(\"V\")) && (t |= N.UPDATE), e.includes(\"D\") && (t |= N.DELETE), e.includes(\"R\") && (t |= N.SHARE)), t;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar R = /* @__PURE__ */ ((e) => (e.Folder = \"folder\", e.File = \"file\", e))(R || {});\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst J = function(e, t) {\n return e.match(t) !== null;\n}, X = (e, t) => {\n if (e.id && typeof e.id != \"number\")\n throw new Error(\"Invalid id type of value\");\n if (!e.source)\n throw new Error(\"Missing mandatory source\");\n try {\n new URL(e.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!e.source.startsWith(\"http\"))\n throw new Error(\"Invalid source format, only http(s) is supported\");\n if (e.mtime && !(e.mtime instanceof Date))\n throw new Error(\"Invalid mtime type\");\n if (e.crtime && !(e.crtime instanceof Date))\n throw new Error(\"Invalid crtime type\");\n if (!e.mime || typeof e.mime != \"string\" || !e.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi))\n throw new Error(\"Missing or invalid mandatory mime\");\n if (\"size\" in e && typeof e.size != \"number\" && e.size !== void 0)\n throw new Error(\"Invalid size type\");\n if (\"permissions\" in e && e.permissions !== void 0 && !(typeof e.permissions == \"number\" && e.permissions >= N.NONE && e.permissions <= N.ALL))\n throw new Error(\"Invalid permissions\");\n if (e.owner && e.owner !== null && typeof e.owner != \"string\")\n throw new Error(\"Invalid owner type\");\n if (e.attributes && typeof e.attributes != \"object\")\n throw new Error(\"Invalid attributes type\");\n if (e.root && typeof e.root != \"string\")\n throw new Error(\"Invalid root type\");\n if (e.root && !e.root.startsWith(\"/\"))\n throw new Error(\"Root must start with a leading slash\");\n if (e.root && !e.source.includes(e.root))\n throw new Error(\"Root must be part of the source\");\n if (e.root && J(e.source, t)) {\n const r = e.source.match(t)[0];\n if (!e.source.includes(le(r, e.root)))\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n if (e.status && !Object.values(Q).includes(e.status))\n throw new Error(\"Status must be a valid NodeStatus\");\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar Q = /* @__PURE__ */ ((e) => (e.NEW = \"new\", e.FAILED = \"failed\", e.LOADING = \"loading\", e.LOCKED = \"locked\", e))(Q || {});\nclass D {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(t, r) {\n X(t, r || this._knownDavService), this._data = t;\n const s = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set: (n, i, d) => (this.updateMtime(), Reflect.set(n, i, d)),\n deleteProperty: (n, i) => (this.updateMtime(), Reflect.deleteProperty(n, i))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n };\n this._attributes = new Proxy(t.attributes || {}, s), delete this._data.attributes, r && (this._knownDavService = r);\n }\n /**\n * Get the source url to this object\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin: t } = new URL(this.source);\n return t + he(this.source.slice(t.length));\n }\n /**\n * Get this object name\n */\n get basename() {\n return fe(this.source);\n }\n /**\n * Get this object's extension\n */\n get extension() {\n return ce(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n */\n get dirname() {\n if (this.root) {\n const r = this.source.indexOf(this.root);\n return I(this.source.slice(r + this.root.length) || \"/\");\n }\n const t = new URL(this.source);\n return I(t.pathname);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Get the file creation time\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Get the file attribute\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n return this.owner === null && !this.isDavRessource ? N.READ : this._data.permissions !== void 0 ? this._data.permissions : N.NONE;\n }\n /**\n * Get the file owner\n */\n get owner() {\n return this.isDavRessource ? this._data.owner : null;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return J(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n */\n get root() {\n return this._data.root ? this._data.root.replace(/^(.+)\\/$/, \"$1\") : this.isDavRessource && I(this.source).split(this._knownDavService).pop() || null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n const t = this.source.indexOf(this.root);\n return this.source.slice(t + this.root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * Will look for the fileid in attributes if undefined.\n */\n get fileid() {\n return this._data?.id || this.attributes?.fileid;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(t) {\n this._data.status = t;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(t) {\n X({ ...this._data, source: t }, this._knownDavService), this._data.source = t, this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(t) {\n if (t.includes(\"/\"))\n throw new Error(\"Invalid basename\");\n this.move(I(this.source) + \"/\" + t);\n }\n /**\n * Update the mtime if exists.\n */\n updateMtime() {\n this._data.mtime && (this._data.mtime = /* @__PURE__ */ new Date());\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass ye extends D {\n get type() {\n return R.File;\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass _e extends D {\n constructor(t) {\n super({\n ...t,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return R.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst ee = `/files/${A()?.uid}`, te = pe(\"dav\"), ur = function(e = te) {\n const t = ge(e);\n function r(n) {\n t.setHeaders({\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: n ?? \"\"\n });\n }\n return ue(r), r(de()), we().patch(\"fetch\", (n, i) => {\n const d = i.headers;\n return d?.method && (i.method = d.method, delete d.method), fetch(n, i);\n }), t;\n}, dr = async (e, t = \"/\", r = ee) => (await e.getDirectoryContents(`${r}${t}`, {\n details: !0,\n data: Ee(),\n headers: {\n // see davGetClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: !0\n})).data.filter((n) => n.filename !== t).map((n) => ve(n, r)), ve = function(e, t = ee, r = te) {\n const s = e.props, n = be(s?.permissions), i = A()?.uid, d = {\n id: s?.fileid || 0,\n source: `${r}${e.filename}`,\n mtime: new Date(Date.parse(e.lastmod)),\n mime: e.mime,\n size: s?.size || Number.parseInt(s.getcontentlength || \"0\"),\n permissions: n,\n owner: i,\n root: t,\n attributes: {\n ...e,\n ...s,\n hasPreview: s?.[\"has-preview\"]\n }\n };\n return delete d.attributes?.props, e.type === \"file\" ? new ye(d) : new _e(d);\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Te {\n _views = [];\n _currentView = null;\n register(t) {\n if (this._views.find((r) => r.id === t.id))\n throw new Error(`View id ${t.id} is already registered`);\n this._views.push(t);\n }\n remove(t) {\n const r = this._views.findIndex((s) => s.id === t);\n r !== -1 && this._views.splice(r, 1);\n }\n get views() {\n return this._views;\n }\n setActive(t) {\n this._currentView = t;\n }\n get active() {\n return this._currentView;\n }\n}\nconst ar = function() {\n return typeof window._nc_navigation > \"u\" && (window._nc_navigation = new Te(), m.debug(\"Navigation service initialized\")), window._nc_navigation;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Ie {\n _column;\n constructor(t) {\n Ae(t), this._column = t;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst Ae = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"A column id is required\");\n if (!e.title || typeof e.title != \"string\")\n throw new Error(\"A column title is required\");\n if (!e.render || typeof e.render != \"function\")\n throw new Error(\"A render function is required\");\n if (e.sort && typeof e.sort != \"function\")\n throw new Error(\"Column sortFunction must be a function\");\n if (e.summary && typeof e.summary != \"function\")\n throw new Error(\"Column summary must be a function\");\n return !0;\n};\nvar S = {}, O = {};\n(function(e) {\n const t = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", r = t + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\", s = \"[\" + t + \"][\" + r + \"]*\", n = new RegExp(\"^\" + s + \"$\"), i = function(u, o) {\n const a = [];\n let l = o.exec(u);\n for (; l; ) {\n const f = [];\n f.startIndex = o.lastIndex - l[0].length;\n const c = l.length;\n for (let g = 0; g < c; g++)\n f.push(l[g]);\n a.push(f), l = o.exec(u);\n }\n return a;\n }, d = function(u) {\n const o = n.exec(u);\n return !(o === null || typeof o > \"u\");\n };\n e.isExist = function(u) {\n return typeof u < \"u\";\n }, e.isEmptyObject = function(u) {\n return Object.keys(u).length === 0;\n }, e.merge = function(u, o, a) {\n if (o) {\n const l = Object.keys(o), f = l.length;\n for (let c = 0; c < f; c++)\n a === \"strict\" ? u[l[c]] = [o[l[c]]] : u[l[c]] = o[l[c]];\n }\n }, e.getValue = function(u) {\n return e.isExist(u) ? u : \"\";\n }, e.isName = d, e.getAllMatches = i, e.nameRegexp = s;\n})(O);\nconst M = O, Oe = {\n allowBooleanAttributes: !1,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nS.validate = function(e, t) {\n t = Object.assign({}, Oe, t);\n const r = [];\n let s = !1, n = !1;\n e[0] === \"\\uFEFF\" && (e = e.substr(1));\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\" && e[i + 1] === \"?\") {\n if (i += 2, i = G(e, i), i.err)\n return i;\n } else if (e[i] === \"<\") {\n let d = i;\n if (i++, e[i] === \"!\") {\n i = z(e, i);\n continue;\n } else {\n let u = !1;\n e[i] === \"/\" && (u = !0, i++);\n let o = \"\";\n for (; i < e.length && e[i] !== \">\" && e[i] !== \" \" && e[i] !== \"\t\" && e[i] !== `\n` && e[i] !== \"\\r\"; i++)\n o += e[i];\n if (o = o.trim(), o[o.length - 1] === \"/\" && (o = o.substring(0, o.length - 1), i--), !Re(o)) {\n let f;\n return o.trim().length === 0 ? f = \"Invalid space after '<'.\" : f = \"Tag '\" + o + \"' is an invalid name.\", p(\"InvalidTag\", f, w(e, i));\n }\n const a = xe(e, i);\n if (a === !1)\n return p(\"InvalidAttr\", \"Attributes for '\" + o + \"' have open quote.\", w(e, i));\n let l = a.value;\n if (i = a.index, l[l.length - 1] === \"/\") {\n const f = i - l.length;\n l = l.substring(0, l.length - 1);\n const c = H(l, t);\n if (c === !0)\n s = !0;\n else\n return p(c.err.code, c.err.msg, w(e, f + c.err.line));\n } else if (u)\n if (a.tagClosed) {\n if (l.trim().length > 0)\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' can't have attributes or invalid starting.\", w(e, d));\n {\n const f = r.pop();\n if (o !== f.tagName) {\n let c = w(e, f.tagStartPos);\n return p(\n \"InvalidTag\",\n \"Expected closing tag '\" + f.tagName + \"' (opened in line \" + c.line + \", col \" + c.col + \") instead of closing tag '\" + o + \"'.\",\n w(e, d)\n );\n }\n r.length == 0 && (n = !0);\n }\n } else\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' doesn't have proper closing.\", w(e, i));\n else {\n const f = H(l, t);\n if (f !== !0)\n return p(f.err.code, f.err.msg, w(e, i - l.length + f.err.line));\n if (n === !0)\n return p(\"InvalidXml\", \"Multiple possible root nodes found.\", w(e, i));\n t.unpairedTags.indexOf(o) !== -1 || r.push({ tagName: o, tagStartPos: d }), s = !0;\n }\n for (i++; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"!\") {\n i++, i = z(e, i);\n continue;\n } else if (e[i + 1] === \"?\") {\n if (i = G(e, ++i), i.err)\n return i;\n } else\n break;\n else if (e[i] === \"&\") {\n const f = Ve(e, i);\n if (f == -1)\n return p(\"InvalidChar\", \"char '&' is not expected.\", w(e, i));\n i = f;\n } else if (n === !0 && !U(e[i]))\n return p(\"InvalidXml\", \"Extra text at the end\", w(e, i));\n e[i] === \"<\" && i--;\n }\n } else {\n if (U(e[i]))\n continue;\n return p(\"InvalidChar\", \"char '\" + e[i] + \"' is not expected.\", w(e, i));\n }\n if (s) {\n if (r.length == 1)\n return p(\"InvalidTag\", \"Unclosed tag '\" + r[0].tagName + \"'.\", w(e, r[0].tagStartPos));\n if (r.length > 0)\n return p(\"InvalidXml\", \"Invalid '\" + JSON.stringify(r.map((i) => i.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n } else\n return p(\"InvalidXml\", \"Start tag expected.\", 1);\n return !0;\n};\nfunction U(e) {\n return e === \" \" || e === \"\t\" || e === `\n` || e === \"\\r\";\n}\nfunction G(e, t) {\n const r = t;\n for (; t < e.length; t++)\n if (e[t] == \"?\" || e[t] == \" \") {\n const s = e.substr(r, t - r);\n if (t > 5 && s === \"xml\")\n return p(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", w(e, t));\n if (e[t] == \"?\" && e[t + 1] == \">\") {\n t++;\n break;\n } else\n continue;\n }\n return t;\n}\nfunction z(e, t) {\n if (e.length > t + 5 && e[t + 1] === \"-\" && e[t + 2] === \"-\") {\n for (t += 3; t < e.length; t++)\n if (e[t] === \"-\" && e[t + 1] === \"-\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n } else if (e.length > t + 8 && e[t + 1] === \"D\" && e[t + 2] === \"O\" && e[t + 3] === \"C\" && e[t + 4] === \"T\" && e[t + 5] === \"Y\" && e[t + 6] === \"P\" && e[t + 7] === \"E\") {\n let r = 1;\n for (t += 8; t < e.length; t++)\n if (e[t] === \"<\")\n r++;\n else if (e[t] === \">\" && (r--, r === 0))\n break;\n } else if (e.length > t + 9 && e[t + 1] === \"[\" && e[t + 2] === \"C\" && e[t + 3] === \"D\" && e[t + 4] === \"A\" && e[t + 5] === \"T\" && e[t + 6] === \"A\" && e[t + 7] === \"[\") {\n for (t += 8; t < e.length; t++)\n if (e[t] === \"]\" && e[t + 1] === \"]\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n }\n return t;\n}\nconst Ce = '\"', Pe = \"'\";\nfunction xe(e, t) {\n let r = \"\", s = \"\", n = !1;\n for (; t < e.length; t++) {\n if (e[t] === Ce || e[t] === Pe)\n s === \"\" ? s = e[t] : s !== e[t] || (s = \"\");\n else if (e[t] === \">\" && s === \"\") {\n n = !0;\n break;\n }\n r += e[t];\n }\n return s !== \"\" ? !1 : {\n value: r,\n index: t,\n tagClosed: n\n };\n}\nconst $e = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction H(e, t) {\n const r = M.getAllMatches(e, $e), s = {};\n for (let n = 0; n < r.length; n++) {\n if (r[n][1].length === 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' has no space in starting.\", v(r[n]));\n if (r[n][3] !== void 0 && r[n][4] === void 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' is without value.\", v(r[n]));\n if (r[n][3] === void 0 && !t.allowBooleanAttributes)\n return p(\"InvalidAttr\", \"boolean attribute '\" + r[n][2] + \"' is not allowed.\", v(r[n]));\n const i = r[n][2];\n if (!Le(i))\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is an invalid name.\", v(r[n]));\n if (!s.hasOwnProperty(i))\n s[i] = 1;\n else\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is repeated.\", v(r[n]));\n }\n return !0;\n}\nfunction Fe(e, t) {\n let r = /\\d/;\n for (e[t] === \"x\" && (t++, r = /[\\da-fA-F]/); t < e.length; t++) {\n if (e[t] === \";\")\n return t;\n if (!e[t].match(r))\n break;\n }\n return -1;\n}\nfunction Ve(e, t) {\n if (t++, e[t] === \";\")\n return -1;\n if (e[t] === \"#\")\n return t++, Fe(e, t);\n let r = 0;\n for (; t < e.length; t++, r++)\n if (!(e[t].match(/\\w/) && r < 20)) {\n if (e[t] === \";\")\n break;\n return -1;\n }\n return t;\n}\nfunction p(e, t, r) {\n return {\n err: {\n code: e,\n msg: t,\n line: r.line || r,\n col: r.col\n }\n };\n}\nfunction Le(e) {\n return M.isName(e);\n}\nfunction Re(e) {\n return M.isName(e);\n}\nfunction w(e, t) {\n const r = e.substring(0, t).split(/\\r?\\n/);\n return {\n line: r.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: r[r.length - 1].length + 1\n };\n}\nfunction v(e) {\n return e.startIndex + e[1].length;\n}\nvar B = {};\nconst re = {\n preserveOrder: !1,\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n removeNSPrefix: !1,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: !1,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: !0,\n parseAttributeValue: !1,\n trimValues: !0,\n //Trim string values of tag and attributes\n cdataPropName: !1,\n numberParseOptions: {\n hex: !0,\n leadingZeros: !0,\n eNotation: !0\n },\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: !1,\n isArray: () => !1,\n commentPropName: !1,\n unpairedTags: [],\n processEntities: !0,\n htmlEntities: !1,\n ignoreDeclaration: !1,\n ignorePiTags: !1,\n transformTagName: !1,\n transformAttributeName: !1,\n updateTag: function(e, t, r) {\n return e;\n }\n // skipEmptyListItem: false\n}, Se = function(e) {\n return Object.assign({}, re, e);\n};\nB.buildOptions = Se;\nB.defaultOptions = re;\nclass Me {\n constructor(t) {\n this.tagname = t, this.child = [], this[\":@\"] = {};\n }\n add(t, r) {\n t === \"__proto__\" && (t = \"#__proto__\"), this.child.push({ [t]: r });\n }\n addChild(t) {\n t.tagname === \"__proto__\" && (t.tagname = \"#__proto__\"), t[\":@\"] && Object.keys(t[\":@\"]).length > 0 ? this.child.push({ [t.tagname]: t.child, \":@\": t[\":@\"] }) : this.child.push({ [t.tagname]: t.child });\n }\n}\nvar Be = Me;\nconst ke = O;\nfunction qe(e, t) {\n const r = {};\n if (e[t + 3] === \"O\" && e[t + 4] === \"C\" && e[t + 5] === \"T\" && e[t + 6] === \"Y\" && e[t + 7] === \"P\" && e[t + 8] === \"E\") {\n t = t + 9;\n let s = 1, n = !1, i = !1, d = \"\";\n for (; t < e.length; t++)\n if (e[t] === \"<\" && !i) {\n if (n && Ge(e, t))\n t += 7, [entityName, val, t] = Xe(e, t + 1), val.indexOf(\"&\") === -1 && (r[We(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n });\n else if (n && ze(e, t))\n t += 8;\n else if (n && He(e, t))\n t += 8;\n else if (n && Ke(e, t))\n t += 9;\n else if (Ue)\n i = !0;\n else\n throw new Error(\"Invalid DOCTYPE\");\n s++, d = \"\";\n } else if (e[t] === \">\") {\n if (i ? e[t - 1] === \"-\" && e[t - 2] === \"-\" && (i = !1, s--) : s--, s === 0)\n break;\n } else\n e[t] === \"[\" ? n = !0 : d += e[t];\n if (s !== 0)\n throw new Error(\"Unclosed DOCTYPE\");\n } else\n throw new Error(\"Invalid Tag instead of DOCTYPE\");\n return { entities: r, i: t };\n}\nfunction Xe(e, t) {\n let r = \"\";\n for (; t < e.length && e[t] !== \"'\" && e[t] !== '\"'; t++)\n r += e[t];\n if (r = r.trim(), r.indexOf(\" \") !== -1)\n throw new Error(\"External entites are not supported\");\n const s = e[t++];\n let n = \"\";\n for (; t < e.length && e[t] !== s; t++)\n n += e[t];\n return [r, n, t];\n}\nfunction Ue(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"-\" && e[t + 3] === \"-\";\n}\nfunction Ge(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"N\" && e[t + 4] === \"T\" && e[t + 5] === \"I\" && e[t + 6] === \"T\" && e[t + 7] === \"Y\";\n}\nfunction ze(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"L\" && e[t + 4] === \"E\" && e[t + 5] === \"M\" && e[t + 6] === \"E\" && e[t + 7] === \"N\" && e[t + 8] === \"T\";\n}\nfunction He(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"A\" && e[t + 3] === \"T\" && e[t + 4] === \"T\" && e[t + 5] === \"L\" && e[t + 6] === \"I\" && e[t + 7] === \"S\" && e[t + 8] === \"T\";\n}\nfunction Ke(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"N\" && e[t + 3] === \"O\" && e[t + 4] === \"T\" && e[t + 5] === \"A\" && e[t + 6] === \"T\" && e[t + 7] === \"I\" && e[t + 8] === \"O\" && e[t + 9] === \"N\";\n}\nfunction We(e) {\n if (ke.isName(e))\n return e;\n throw new Error(`Invalid entity name ${e}`);\n}\nvar Ze = qe;\nconst je = /^[-+]?0x[a-fA-F0-9]+$/, Ye = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n!Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt);\n!Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat);\nconst Je = {\n hex: !0,\n leadingZeros: !0,\n decimalPoint: \".\",\n eNotation: !0\n //skipLike: /regex/\n};\nfunction Qe(e, t = {}) {\n if (t = Object.assign({}, Je, t), !e || typeof e != \"string\")\n return e;\n let r = e.trim();\n if (t.skipLike !== void 0 && t.skipLike.test(r))\n return e;\n if (t.hex && je.test(r))\n return Number.parseInt(r, 16);\n {\n const s = Ye.exec(r);\n if (s) {\n const n = s[1], i = s[2];\n let d = De(s[3]);\n const u = s[4] || s[6];\n if (!t.leadingZeros && i.length > 0 && n && r[2] !== \".\")\n return e;\n if (!t.leadingZeros && i.length > 0 && !n && r[1] !== \".\")\n return e;\n {\n const o = Number(r), a = \"\" + o;\n return a.search(/[eE]/) !== -1 || u ? t.eNotation ? o : e : r.indexOf(\".\") !== -1 ? a === \"0\" && d === \"\" || a === d || n && a === \"-\" + d ? o : e : i ? d === a || n + d === a ? o : e : r === a || r === n + a ? o : e;\n }\n } else\n return e;\n }\n}\nfunction De(e) {\n return e && e.indexOf(\".\") !== -1 && (e = e.replace(/0+$/, \"\"), e === \".\" ? e = \"0\" : e[0] === \".\" ? e = \"0\" + e : e[e.length - 1] === \".\" && (e = e.substr(0, e.length - 1))), e;\n}\nvar et = Qe;\nconst k = O, T = Be, tt = Ze, rt = et;\n\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g, k.nameRegexp);\nlet nt = class {\n constructor(t) {\n this.options = t, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = {\n apos: { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n gt: { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n lt: { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n quot: { regex: /&(quot|#34|#x22);/g, val: '\"' }\n }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" }, this.htmlEntities = {\n space: { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n cent: { regex: /&(cent|#162);/g, val: \"¢\" },\n pound: { regex: /&(pound|#163);/g, val: \"£\" },\n yen: { regex: /&(yen|#165);/g, val: \"¥\" },\n euro: { regex: /&(euro|#8364);/g, val: \"€\" },\n copyright: { regex: /&(copy|#169);/g, val: \"©\" },\n reg: { regex: /&(reg|#174);/g, val: \"®\" },\n inr: { regex: /&(inr|#8377);/g, val: \"₹\" }\n }, this.addExternalEntities = it, this.parseXml = at, this.parseTextData = st, this.resolveNameSpace = ot, this.buildAttributesMap = dt, this.isItStopNode = ht, this.replaceEntitiesValue = ft, this.readStopNodeData = gt, this.saveTextToParentTag = ct, this.addChild = lt;\n }\n};\nfunction it(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n this.lastEntities[s] = {\n regex: new RegExp(\"&\" + s + \";\", \"g\"),\n val: e[s]\n };\n }\n}\nfunction st(e, t, r, s, n, i, d) {\n if (e !== void 0 && (this.options.trimValues && !s && (e = e.trim()), e.length > 0)) {\n d || (e = this.replaceEntitiesValue(e));\n const u = this.options.tagValueProcessor(t, e, r, n, i);\n return u == null ? e : typeof u != typeof e || u !== e ? u : this.options.trimValues ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e.trim() === e ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e;\n }\n}\nfunction ot(e) {\n if (this.options.removeNSPrefix) {\n const t = e.split(\":\"), r = e.charAt(0) === \"/\" ? \"/\" : \"\";\n if (t[0] === \"xmlns\")\n return \"\";\n t.length === 2 && (e = r + t[1]);\n }\n return e;\n}\nconst ut = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction dt(e, t, r) {\n if (!this.options.ignoreAttributes && typeof e == \"string\") {\n const s = k.getAllMatches(e, ut), n = s.length, i = {};\n for (let d = 0; d < n; d++) {\n const u = this.resolveNameSpace(s[d][1]);\n let o = s[d][4], a = this.options.attributeNamePrefix + u;\n if (u.length)\n if (this.options.transformAttributeName && (a = this.options.transformAttributeName(a)), a === \"__proto__\" && (a = \"#__proto__\"), o !== void 0) {\n this.options.trimValues && (o = o.trim()), o = this.replaceEntitiesValue(o);\n const l = this.options.attributeValueProcessor(u, o, t);\n l == null ? i[a] = o : typeof l != typeof o || l !== o ? i[a] = l : i[a] = $(\n o,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n } else\n this.options.allowBooleanAttributes && (i[a] = !0);\n }\n if (!Object.keys(i).length)\n return;\n if (this.options.attributesGroupName) {\n const d = {};\n return d[this.options.attributesGroupName] = i, d;\n }\n return i;\n }\n}\nconst at = function(e) {\n e = e.replace(/\\r\\n?/g, `\n`);\n const t = new T(\"!xml\");\n let r = t, s = \"\", n = \"\";\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"/\") {\n const u = y(e, \">\", i, \"Closing Tag is not closed.\");\n let o = e.substring(i + 2, u).trim();\n if (this.options.removeNSPrefix) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1));\n }\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && (s = this.saveTextToParentTag(s, r, n));\n const a = n.substring(n.lastIndexOf(\".\") + 1);\n if (o && this.options.unpairedTags.indexOf(o) !== -1)\n throw new Error(`Unpaired tag can not be used as closing tag: </${o}>`);\n let l = 0;\n a && this.options.unpairedTags.indexOf(a) !== -1 ? (l = n.lastIndexOf(\".\", n.lastIndexOf(\".\") - 1), this.tagsNodeStack.pop()) : l = n.lastIndexOf(\".\"), n = n.substring(0, l), r = this.tagsNodeStack.pop(), s = \"\", i = u;\n } else if (e[i + 1] === \"?\") {\n let u = x(e, i, !1, \"?>\");\n if (!u)\n throw new Error(\"Pi Tag is not closed.\");\n if (s = this.saveTextToParentTag(s, r, n), !(this.options.ignoreDeclaration && u.tagName === \"?xml\" || this.options.ignorePiTags)) {\n const o = new T(u.tagName);\n o.add(this.options.textNodeName, \"\"), u.tagName !== u.tagExp && u.attrExpPresent && (o[\":@\"] = this.buildAttributesMap(u.tagExp, n, u.tagName)), this.addChild(r, o, n);\n }\n i = u.closeIndex + 1;\n } else if (e.substr(i + 1, 3) === \"!--\") {\n const u = y(e, \"-->\", i + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const o = e.substring(i + 4, u - 2);\n s = this.saveTextToParentTag(s, r, n), r.add(this.options.commentPropName, [{ [this.options.textNodeName]: o }]);\n }\n i = u;\n } else if (e.substr(i + 1, 2) === \"!D\") {\n const u = tt(e, i);\n this.docTypeEntities = u.entities, i = u.i;\n } else if (e.substr(i + 1, 2) === \"![\") {\n const u = y(e, \"]]>\", i, \"CDATA is not closed.\") - 2, o = e.substring(i + 9, u);\n if (s = this.saveTextToParentTag(s, r, n), this.options.cdataPropName)\n r.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o }]);\n else {\n let a = this.parseTextData(o, r.tagname, n, !0, !1, !0);\n a == null && (a = \"\"), r.add(this.options.textNodeName, a);\n }\n i = u + 2;\n } else {\n let u = x(e, i, this.options.removeNSPrefix), o = u.tagName;\n const a = u.rawTagName;\n let l = u.tagExp, f = u.attrExpPresent, c = u.closeIndex;\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && s && r.tagname !== \"!xml\" && (s = this.saveTextToParentTag(s, r, n, !1));\n const g = r;\n if (g && this.options.unpairedTags.indexOf(g.tagname) !== -1 && (r = this.tagsNodeStack.pop(), n = n.substring(0, n.lastIndexOf(\".\"))), o !== t.tagname && (n += n ? \".\" + o : o), this.isItStopNode(this.options.stopNodes, n, o)) {\n let h = \"\";\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1)\n i = u.closeIndex;\n else if (this.options.unpairedTags.indexOf(o) !== -1)\n i = u.closeIndex;\n else {\n const E = this.readStopNodeData(e, a, c + 1);\n if (!E)\n throw new Error(`Unexpected end of ${a}`);\n i = E.i, h = E.tagContent;\n }\n const _ = new T(o);\n o !== l && f && (_[\":@\"] = this.buildAttributesMap(l, n, o)), h && (h = this.parseTextData(h, o, n, !0, f, !0, !0)), n = n.substr(0, n.lastIndexOf(\".\")), _.add(this.options.textNodeName, h), this.addChild(r, _, n);\n } else {\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1) {\n o[o.length - 1] === \"/\" ? (o = o.substr(0, o.length - 1), n = n.substr(0, n.length - 1), l = o) : l = l.substr(0, l.length - 1), this.options.transformTagName && (o = this.options.transformTagName(o));\n const h = new T(o);\n o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), n = n.substr(0, n.lastIndexOf(\".\"));\n } else {\n const h = new T(o);\n this.tagsNodeStack.push(r), o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), r = h;\n }\n s = \"\", i = c;\n }\n }\n else\n s += e[i];\n return t.child;\n};\nfunction lt(e, t, r) {\n const s = this.options.updateTag(t.tagname, r, t[\":@\"]);\n s === !1 || (typeof s == \"string\" && (t.tagname = s), e.addChild(t));\n}\nconst ft = function(e) {\n if (this.options.processEntities) {\n for (let t in this.docTypeEntities) {\n const r = this.docTypeEntities[t];\n e = e.replace(r.regx, r.val);\n }\n for (let t in this.lastEntities) {\n const r = this.lastEntities[t];\n e = e.replace(r.regex, r.val);\n }\n if (this.options.htmlEntities)\n for (let t in this.htmlEntities) {\n const r = this.htmlEntities[t];\n e = e.replace(r.regex, r.val);\n }\n e = e.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return e;\n};\nfunction ct(e, t, r, s) {\n return e && (s === void 0 && (s = Object.keys(t.child).length === 0), e = this.parseTextData(\n e,\n t.tagname,\n r,\n !1,\n t[\":@\"] ? Object.keys(t[\":@\"]).length !== 0 : !1,\n s\n ), e !== void 0 && e !== \"\" && t.add(this.options.textNodeName, e), e = \"\"), e;\n}\nfunction ht(e, t, r) {\n const s = \"*.\" + r;\n for (const n in e) {\n const i = e[n];\n if (s === i || t === i)\n return !0;\n }\n return !1;\n}\nfunction pt(e, t, r = \">\") {\n let s, n = \"\";\n for (let i = t; i < e.length; i++) {\n let d = e[i];\n if (s)\n d === s && (s = \"\");\n else if (d === '\"' || d === \"'\")\n s = d;\n else if (d === r[0])\n if (r[1]) {\n if (e[i + 1] === r[1])\n return {\n data: n,\n index: i\n };\n } else\n return {\n data: n,\n index: i\n };\n else\n d === \"\t\" && (d = \" \");\n n += d;\n }\n}\nfunction y(e, t, r, s) {\n const n = e.indexOf(t, r);\n if (n === -1)\n throw new Error(s);\n return n + t.length - 1;\n}\nfunction x(e, t, r, s = \">\") {\n const n = pt(e, t + 1, s);\n if (!n)\n return;\n let i = n.data;\n const d = n.index, u = i.search(/\\s/);\n let o = i, a = !0;\n u !== -1 && (o = i.substr(0, u).replace(/\\s\\s*$/, \"\"), i = i.substr(u + 1));\n const l = o;\n if (r) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1), a = o !== n.data.substr(f + 1));\n }\n return {\n tagName: o,\n tagExp: i,\n closeIndex: d,\n attrExpPresent: a,\n rawTagName: l\n };\n}\nfunction gt(e, t, r) {\n const s = r;\n let n = 1;\n for (; r < e.length; r++)\n if (e[r] === \"<\")\n if (e[r + 1] === \"/\") {\n const i = y(e, \">\", r, `${t} is not closed`);\n if (e.substring(r + 2, i).trim() === t && (n--, n === 0))\n return {\n tagContent: e.substring(s, r),\n i\n };\n r = i;\n } else if (e[r + 1] === \"?\")\n r = y(e, \"?>\", r + 1, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 3) === \"!--\")\n r = y(e, \"-->\", r + 3, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 2) === \"![\")\n r = y(e, \"]]>\", r, \"StopNode is not closed.\") - 2;\n else {\n const i = x(e, r, \">\");\n i && ((i && i.tagName) === t && i.tagExp[i.tagExp.length - 1] !== \"/\" && n++, r = i.closeIndex);\n }\n}\nfunction $(e, t, r) {\n if (t && typeof e == \"string\") {\n const s = e.trim();\n return s === \"true\" ? !0 : s === \"false\" ? !1 : rt(e, r);\n } else\n return k.isExist(e) ? e : \"\";\n}\nvar wt = nt, ne = {};\nfunction mt(e, t) {\n return ie(e, t);\n}\nfunction ie(e, t, r) {\n let s;\n const n = {};\n for (let i = 0; i < e.length; i++) {\n const d = e[i], u = Nt(d);\n let o = \"\";\n if (r === void 0 ? o = u : o = r + \".\" + u, u === t.textNodeName)\n s === void 0 ? s = d[u] : s += \"\" + d[u];\n else {\n if (u === void 0)\n continue;\n if (d[u]) {\n let a = ie(d[u], t, o);\n const l = bt(a, t);\n d[\":@\"] ? Et(a, d[\":@\"], o, t) : Object.keys(a).length === 1 && a[t.textNodeName] !== void 0 && !t.alwaysCreateTextNode ? a = a[t.textNodeName] : Object.keys(a).length === 0 && (t.alwaysCreateTextNode ? a[t.textNodeName] = \"\" : a = \"\"), n[u] !== void 0 && n.hasOwnProperty(u) ? (Array.isArray(n[u]) || (n[u] = [n[u]]), n[u].push(a)) : t.isArray(u, o, l) ? n[u] = [a] : n[u] = a;\n }\n }\n }\n return typeof s == \"string\" ? s.length > 0 && (n[t.textNodeName] = s) : s !== void 0 && (n[t.textNodeName] = s), n;\n}\nfunction Nt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (s !== \":@\")\n return s;\n }\n}\nfunction Et(e, t, r, s) {\n if (t) {\n const n = Object.keys(t), i = n.length;\n for (let d = 0; d < i; d++) {\n const u = n[d];\n s.isArray(u, r + \".\" + u, !0, !0) ? e[u] = [t[u]] : e[u] = t[u];\n }\n }\n}\nfunction bt(e, t) {\n const { textNodeName: r } = t, s = Object.keys(e).length;\n return !!(s === 0 || s === 1 && (e[r] || typeof e[r] == \"boolean\" || e[r] === 0));\n}\nne.prettify = mt;\nconst { buildOptions: yt } = B, _t = wt, { prettify: vt } = ne, Tt = S;\nlet It = class {\n constructor(t) {\n this.externalEntities = {}, this.options = yt(t);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(t, r) {\n if (typeof t != \"string\")\n if (t.toString)\n t = t.toString();\n else\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n if (r) {\n r === !0 && (r = {});\n const i = Tt.validate(t, r);\n if (i !== !0)\n throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`);\n }\n const s = new _t(this.options);\n s.addExternalEntities(this.externalEntities);\n const n = s.parseXml(t);\n return this.options.preserveOrder || n === void 0 ? n : vt(n, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(t, r) {\n if (r.indexOf(\"&\") !== -1)\n throw new Error(\"Entity value can't have '&'\");\n if (t.indexOf(\"&\") !== -1 || t.indexOf(\";\") !== -1)\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");\n if (r === \"&\")\n throw new Error(\"An entity with value '&' is not permitted\");\n this.externalEntities[t] = r;\n }\n};\nvar At = It;\nconst Ot = `\n`;\nfunction Ct(e, t) {\n let r = \"\";\n return t.format && t.indentBy.length > 0 && (r = Ot), se(e, t, \"\", r);\n}\nfunction se(e, t, r, s) {\n let n = \"\", i = !1;\n for (let d = 0; d < e.length; d++) {\n const u = e[d], o = Pt(u);\n if (o === void 0)\n continue;\n let a = \"\";\n if (r.length === 0 ? a = o : a = `${r}.${o}`, o === t.textNodeName) {\n let h = u[o];\n xt(a, t) || (h = t.tagValueProcessor(o, h), h = oe(h, t)), i && (n += s), n += h, i = !1;\n continue;\n } else if (o === t.cdataPropName) {\n i && (n += s), n += `<![CDATA[${u[o][0][t.textNodeName]}]]>`, i = !1;\n continue;\n } else if (o === t.commentPropName) {\n n += s + `<!--${u[o][0][t.textNodeName]}-->`, i = !0;\n continue;\n } else if (o[0] === \"?\") {\n const h = K(u[\":@\"], t), _ = o === \"?xml\" ? \"\" : s;\n let E = u[o][0][t.textNodeName];\n E = E.length !== 0 ? \" \" + E : \"\", n += _ + `<${o}${E}${h}?>`, i = !0;\n continue;\n }\n let l = s;\n l !== \"\" && (l += t.indentBy);\n const f = K(u[\":@\"], t), c = s + `<${o}${f}`, g = se(u[o], t, a, l);\n t.unpairedTags.indexOf(o) !== -1 ? t.suppressUnpairedNode ? n += c + \">\" : n += c + \"/>\" : (!g || g.length === 0) && t.suppressEmptyNode ? n += c + \"/>\" : g && g.endsWith(\">\") ? n += c + `>${g}${s}</${o}>` : (n += c + \">\", g && s !== \"\" && (g.includes(\"/>\") || g.includes(\"</\")) ? n += s + t.indentBy + g + s : n += g, n += `</${o}>`), i = !0;\n }\n return n;\n}\nfunction Pt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (e.hasOwnProperty(s) && s !== \":@\")\n return s;\n }\n}\nfunction K(e, t) {\n let r = \"\";\n if (e && !t.ignoreAttributes)\n for (let s in e) {\n if (!e.hasOwnProperty(s))\n continue;\n let n = t.attributeValueProcessor(s, e[s]);\n n = oe(n, t), n === !0 && t.suppressBooleanAttributes ? r += ` ${s.substr(t.attributeNamePrefix.length)}` : r += ` ${s.substr(t.attributeNamePrefix.length)}=\"${n}\"`;\n }\n return r;\n}\nfunction xt(e, t) {\n e = e.substr(0, e.length - t.textNodeName.length - 1);\n let r = e.substr(e.lastIndexOf(\".\") + 1);\n for (let s in t.stopNodes)\n if (t.stopNodes[s] === e || t.stopNodes[s] === \"*.\" + r)\n return !0;\n return !1;\n}\nfunction oe(e, t) {\n if (e && e.length > 0 && t.processEntities)\n for (let r = 0; r < t.entities.length; r++) {\n const s = t.entities[r];\n e = e.replace(s.regex, s.val);\n }\n return e;\n}\nvar $t = Ct;\nconst Ft = $t, Vt = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n cdataPropName: !1,\n format: !1,\n indentBy: \" \",\n suppressEmptyNode: !1,\n suppressUnpairedNode: !0,\n suppressBooleanAttributes: !0,\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n preserveOrder: !1,\n commentPropName: !1,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp('\"', \"g\"), val: \"&quot;\" }\n ],\n processEntities: !0,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: !1\n};\nfunction b(e) {\n this.options = Object.assign({}, Vt, e), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {\n return !1;\n } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = St), this.processTextOrObjNode = Lt, this.options.format ? (this.indentate = Rt, this.tagEndChar = `>\n`, this.newLine = `\n`) : (this.indentate = function() {\n return \"\";\n }, this.tagEndChar = \">\", this.newLine = \"\");\n}\nb.prototype.build = function(e) {\n return this.options.preserveOrder ? Ft(e, this.options) : (Array.isArray(e) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (e = {\n [this.options.arrayNodeName]: e\n }), this.j2x(e, 0).val);\n};\nb.prototype.j2x = function(e, t) {\n let r = \"\", s = \"\";\n for (let n in e)\n if (Object.prototype.hasOwnProperty.call(e, n))\n if (typeof e[n] > \"u\")\n this.isAttribute(n) && (s += \"\");\n else if (e[n] === null)\n this.isAttribute(n) ? s += \"\" : n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar;\n else if (e[n] instanceof Date)\n s += this.buildTextValNode(e[n], n, \"\", t);\n else if (typeof e[n] != \"object\") {\n const i = this.isAttribute(n);\n if (i)\n r += this.buildAttrPairStr(i, \"\" + e[n]);\n else if (n === this.options.textNodeName) {\n let d = this.options.tagValueProcessor(n, \"\" + e[n]);\n s += this.replaceEntitiesValue(d);\n } else\n s += this.buildTextValNode(e[n], n, \"\", t);\n } else if (Array.isArray(e[n])) {\n const i = e[n].length;\n let d = \"\";\n for (let u = 0; u < i; u++) {\n const o = e[n][u];\n typeof o > \"u\" || (o === null ? n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar : typeof o == \"object\" ? this.options.oneListGroup ? d += this.j2x(o, t + 1).val : d += this.processTextOrObjNode(o, n, t) : d += this.buildTextValNode(o, n, \"\", t));\n }\n this.options.oneListGroup && (d = this.buildObjectNode(d, n, \"\", t)), s += d;\n } else if (this.options.attributesGroupName && n === this.options.attributesGroupName) {\n const i = Object.keys(e[n]), d = i.length;\n for (let u = 0; u < d; u++)\n r += this.buildAttrPairStr(i[u], \"\" + e[n][i[u]]);\n } else\n s += this.processTextOrObjNode(e[n], n, t);\n return { attrStr: r, val: s };\n};\nb.prototype.buildAttrPairStr = function(e, t) {\n return t = this.options.attributeValueProcessor(e, \"\" + t), t = this.replaceEntitiesValue(t), this.options.suppressBooleanAttributes && t === \"true\" ? \" \" + e : \" \" + e + '=\"' + t + '\"';\n};\nfunction Lt(e, t, r) {\n const s = this.j2x(e, r + 1);\n return e[this.options.textNodeName] !== void 0 && Object.keys(e).length === 1 ? this.buildTextValNode(e[this.options.textNodeName], t, s.attrStr, r) : this.buildObjectNode(s.val, t, s.attrStr, r);\n}\nb.prototype.buildObjectNode = function(e, t, r, s) {\n if (e === \"\")\n return t[0] === \"?\" ? this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar : this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar;\n {\n let n = \"</\" + t + this.tagEndChar, i = \"\";\n return t[0] === \"?\" && (i = \"?\", n = \"\"), (r || r === \"\") && e.indexOf(\"<\") === -1 ? this.indentate(s) + \"<\" + t + r + i + \">\" + e + n : this.options.commentPropName !== !1 && t === this.options.commentPropName && i.length === 0 ? this.indentate(s) + `<!--${e}-->` + this.newLine : this.indentate(s) + \"<\" + t + r + i + this.tagEndChar + e + this.indentate(s) + n;\n }\n};\nb.prototype.closeTag = function(e) {\n let t = \"\";\n return this.options.unpairedTags.indexOf(e) !== -1 ? this.options.suppressUnpairedNode || (t = \"/\") : this.options.suppressEmptyNode ? t = \"/\" : t = `></${e}`, t;\n};\nb.prototype.buildTextValNode = function(e, t, r, s) {\n if (this.options.cdataPropName !== !1 && t === this.options.cdataPropName)\n return this.indentate(s) + `<![CDATA[${e}]]>` + this.newLine;\n if (this.options.commentPropName !== !1 && t === this.options.commentPropName)\n return this.indentate(s) + `<!--${e}-->` + this.newLine;\n if (t[0] === \"?\")\n return this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar;\n {\n let n = this.options.tagValueProcessor(t, e);\n return n = this.replaceEntitiesValue(n), n === \"\" ? this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar : this.indentate(s) + \"<\" + t + r + \">\" + n + \"</\" + t + this.tagEndChar;\n }\n};\nb.prototype.replaceEntitiesValue = function(e) {\n if (e && e.length > 0 && this.options.processEntities)\n for (let t = 0; t < this.options.entities.length; t++) {\n const r = this.options.entities[t];\n e = e.replace(r.regex, r.val);\n }\n return e;\n};\nfunction Rt(e) {\n return this.options.indentBy.repeat(e);\n}\nfunction St(e) {\n return e.startsWith(this.options.attributeNamePrefix) && e !== this.options.textNodeName ? e.substr(this.attrPrefixLen) : !1;\n}\nvar Mt = b;\nconst Bt = S, kt = At, qt = Mt;\nvar W = {\n XMLParser: kt,\n XMLValidator: Bt,\n XMLBuilder: qt\n};\nfunction Xt(e) {\n if (typeof e != \"string\")\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);\n if (e = e.trim(), e.length === 0 || W.XMLValidator.validate(e) !== !0)\n return !1;\n let t;\n const r = new W.XMLParser();\n try {\n t = r.parse(e);\n } catch {\n return !1;\n }\n return !(!t || !(\"svg\" in t));\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass cr {\n _view;\n constructor(t) {\n Ut(t), this._view = t;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(t) {\n this._view.icon = t;\n }\n get order() {\n return this._view.order;\n }\n set order(t) {\n this._view.order = t;\n }\n get params() {\n return this._view.params;\n }\n set params(t) {\n this._view.params = t;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(t) {\n this._view.expanded = t;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n}\nconst Ut = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"View id is required and must be a string\");\n if (!e.name || typeof e.name != \"string\")\n throw new Error(\"View name is required and must be a string\");\n if (e.columns && e.columns.length > 0 && (!e.caption || typeof e.caption != \"string\"))\n throw new Error(\"View caption is required for top-level views and must be a string\");\n if (!e.getContents || typeof e.getContents != \"function\")\n throw new Error(\"View getContents is required and must be a function\");\n if (!e.icon || typeof e.icon != \"string\" || !Xt(e.icon))\n throw new Error(\"View icon is required and must be a valid svg string\");\n if (!(\"order\" in e) || typeof e.order != \"number\")\n throw new Error(\"View order is required and must be a number\");\n if (e.columns && e.columns.forEach((t) => {\n if (!(t instanceof Ie))\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }), e.emptyView && typeof e.emptyView != \"function\")\n throw new Error(\"View emptyView must be a function\");\n if (e.parent && typeof e.parent != \"string\")\n throw new Error(\"View parent must be a string\");\n if (\"sticky\" in e && typeof e.sticky != \"boolean\")\n throw new Error(\"View sticky must be a boolean\");\n if (\"expanded\" in e && typeof e.expanded != \"boolean\")\n throw new Error(\"View expanded must be a boolean\");\n if (e.defaultSortKey && typeof e.defaultSortKey != \"string\")\n throw new Error(\"View defaultSortKey must be a string\");\n return !0;\n};\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst hr = function(e) {\n return F().registerEntry(e);\n}, pr = function(e) {\n return F().unregisterEntry(e);\n}, gr = function(e) {\n return F().getEntries(e).sort((r, s) => r.order !== void 0 && s.order !== void 0 && r.order !== s.order ? r.order - s.order : r.displayName.localeCompare(s.displayName, void 0, { numeric: !0, sensitivity: \"base\" }));\n};\nexport {\n Ie as Column,\n Z as DefaultType,\n ye as File,\n Qt as FileAction,\n R as FileType,\n _e as Folder,\n tr as Header,\n Te as Navigation,\n D as Node,\n Q as NodeStatus,\n N as Permission,\n cr as View,\n hr as addNewFileMenuEntry,\n ur as davGetClient,\n sr as davGetDefaultPropfind,\n Ee as davGetFavoritesReport,\n or as davGetRecentSearch,\n be as davParsePermissions,\n te as davRemoteURL,\n ve as davResultToNode,\n ee as davRootPath,\n Y as defaultDavNamespaces,\n j as defaultDavProperties,\n Yt as formatFileSize,\n L as getDavNameSpaces,\n V as getDavProperties,\n dr as getFavoriteNodes,\n er as getFileActions,\n nr as getFileListHeaders,\n ar as getNavigation,\n gr as getNewFileMenuEntries,\n Jt as parseFileSize,\n ir as registerDavProperty,\n Dt as registerFileAction,\n rr as registerFileListHeaders,\n pr as removeNewFileMenuEntry\n};\n","import \"../assets/index-ffa6d11c.css\";\nimport { r as c } from \"../chunks/index-5f2a5f57.mjs\";\nimport { N as rt } from \"../chunks/index-5f2a5f57.mjs\";\nimport { generateUrl as p } from \"@nextcloud/router\";\nimport { n as u } from \"../chunks/_plugin-vue2_normalizer-71e2aa87.mjs\";\nimport { t as o } from \"../chunks/l10n-ef44019c.mjs\";\nimport \"../Directives/Tooltip.mjs\";\nimport { emojiAddRecent as m, emojiSearch as d } from \"../Functions/emoji.mjs\";\nimport { n as h, j as f } from \"../chunks/referencePickerModal-c2f33569.mjs\";\nimport \"@nextcloud/axios\";\nimport \"unist-util-visit\";\nimport \"unist-builder\";\nimport \"unified\";\nimport \"remark-parse\";\nimport \"remark-breaks\";\nimport \"remark-rehype\";\nimport \"rehype-react\";\nimport \"rehype-external-links\";\nimport \"./NcEmptyContent.mjs\";\nimport \"./NcSelect.mjs\";\nimport \"./NcLoadingIcon.mjs\";\nimport \"./NcTextField.mjs\";\nimport \"./NcButton.mjs\";\nimport \"./NcModal.mjs\";\nimport \"@nextcloud/event-bus\";\nimport l from \"tributejs/dist/tribute.esm.js\";\nimport _ from \"debounce\";\nimport g from \"string-length\";\nimport { VTooltip as b } from \"floating-vue\";\nconst y = {\n name: \"NcAutoCompleteResult\",\n props: {\n title: {\n type: String,\n required: !0\n },\n subline: {\n type: String,\n default: null\n },\n id: {\n type: String,\n default: null\n },\n icon: {\n type: String,\n required: !0\n },\n iconUrl: {\n type: String,\n default: null\n },\n source: {\n type: String,\n required: !0\n },\n status: {\n type: [Object, Array],\n default: () => ({})\n }\n },\n computed: {\n avatarUrl() {\n return this.iconUrl ? this.iconUrl : this.id && this.source === \"users\" ? this.getAvatarUrl(this.id, 44) : null;\n },\n haveStatus() {\n var e, t, n;\n return ((e = this.status) == null ? void 0 : e.icon) || ((t = this.status) == null ? void 0 : t.status) && ((n = this.status) == null ? void 0 : n.status) !== \"offline\";\n }\n },\n methods: {\n getAvatarUrl(e, t) {\n return p(\"/avatar/{user}/{size}\", {\n user: e,\n size: t\n });\n }\n }\n};\nvar C = function() {\n var t = this, n = t._self._c;\n return n(\"div\", { staticClass: \"autocomplete-result\" }, [n(\"div\", { staticClass: \"autocomplete-result__icon\", class: [t.icon, `autocomplete-result__icon--${t.avatarUrl ? \"with-avatar\" : \"\"}`], style: t.avatarUrl ? { backgroundImage: `url(${t.avatarUrl})` } : null }, [t.haveStatus ? n(\"div\", { staticClass: \"autocomplete-result__status\", class: [`autocomplete-result__status--${t.status && t.status.icon ? \"icon\" : t.status.status}`] }, [t._v(\" \" + t._s(t.status && t.status.icon || \"\") + \" \")]) : t._e()]), n(\"span\", { staticClass: \"autocomplete-result__content\" }, [n(\"span\", { staticClass: \"autocomplete-result__title\", attrs: { title: t.title } }, [t._v(\" \" + t._s(t.title) + \" \")]), t.subline ? n(\"span\", { staticClass: \"autocomplete-result__subline\" }, [t._v(\" \" + t._s(t.subline) + \" \")]) : t._e()])]);\n}, v = [], k = /* @__PURE__ */ u(\n y,\n C,\n v,\n !1,\n null,\n \"25cf09d8\",\n null,\n null\n);\nconst x = k.exports;\nconst T = {\n name: \"NcRichContenteditable\",\n directives: {\n tooltip: b\n },\n mixins: [c],\n props: {\n value: {\n type: String,\n default: \"\",\n required: !0\n },\n placeholder: {\n type: String,\n default: o(\"Write a message …\")\n },\n autoComplete: {\n type: Function,\n default: () => []\n },\n menuContainer: {\n type: Element,\n default: () => document.body\n },\n /**\n * Make the contenteditable looks like a textarea or not.\n * Default looks like a single-line input.\n * This also handle the default enter/shift+enter behaviour.\n * if multiline, enter = newline; otherwise enter = submit\n * shift+enter always add a new line. ctrl+enter always submits\n */\n multiline: {\n type: Boolean,\n default: !1\n },\n /**\n * Is the content editable ?\n */\n contenteditable: {\n type: Boolean,\n default: !0\n },\n /**\n * Disable the editing and show specific disabled design\n */\n disabled: {\n type: Boolean,\n default: !1\n },\n /**\n * Max allowed length\n */\n maxlength: {\n type: Number,\n default: null\n },\n /**\n * Enable or disable emoji autocompletion\n */\n emojiAutocomplete: {\n type: Boolean,\n default: !0\n },\n /**\n * Enable or disable link autocompletion\n */\n linkAutocomplete: {\n type: Boolean,\n default: !0\n }\n },\n emits: [\n \"submit\",\n \"paste\",\n \"update:value\",\n \"smart-picker-submit\"\n ],\n data() {\n return {\n textSmiles: [],\n tribute: null,\n autocompleteOptions: {\n // Allow spaces in the middle of mentions\n allowSpaces: !0,\n fillAttr: \"id\",\n // Search against id and title (display name)\n lookup: (e) => `${e.id} ${e.title}`,\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: (e) => this.renderComponentHtml(e.original, x),\n // Hide if no results\n noMatchTemplate: () => '<span class=\"hidden\"></span>',\n // Inner display of mentions\n selectTemplate: (e) => {\n var t;\n return this.genSelectTemplate((t = e == null ? void 0 : e.original) == null ? void 0 : t.id);\n },\n // Autocompletion results\n values: this.debouncedAutoComplete\n },\n emojiOptions: {\n trigger: \":\",\n // Don't use the tribute search function at all\n // We pass search results as values (see below)\n lookup: (e, t) => t,\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: (e) => this.textSmiles.includes(e.original) ? e.original : `<span class=\"tribute-container-emoji__item__emoji\">${e.original.native}</span> :${e.original.short_name}`,\n // Hide if no results\n noMatchTemplate: () => o(\"No emoji found\"),\n // Display raw emoji along with its name\n selectTemplate: (e) => this.textSmiles.includes(e.original) ? e.original : (m(e.original), e.original.native),\n // Pass the search results as values\n values: (e, t) => {\n const n = d(e);\n this.textSmiles.includes(\":\" + e) && n.unshift(\":\" + e), t(n);\n },\n // Class added to the menu container\n containerClass: \"tribute-container-emoji\",\n // Class added to each list item\n itemClass: \"tribute-container-emoji__item\"\n },\n linkOptions: {\n trigger: \"/\",\n // Don't use the tribute search function at all\n // We pass search results as values (see below)\n lookup: (e, t) => t,\n // Where to inject the menu popup\n menuContainer: this.menuContainer,\n // Popup mention autocompletion templates\n menuItemTemplate: (e) => `<img class=\"tribute-container-link__item__icon\" src=\"${e.original.icon_url}\"> <span class=\"tribute-container-link__item__title\">${e.original.title}</span>`,\n // Hide if no results\n noMatchTemplate: () => o(\"No link provider found\"),\n selectTemplate: this.getLink,\n // Pass the search results as values\n values: (e, t) => t(h(e)),\n // Class added to the menu container\n containerClass: \"tribute-container-link\",\n // Class added to each list item\n itemClass: \"tribute-container-link__item\"\n },\n // Represent the raw untrimmed text of the contenteditable\n // serves no other purpose than to check whether the\n // content is empty or not\n localValue: this.value,\n // Is in text composition session in IME\n isComposing: !1\n };\n },\n computed: {\n /**\n * Is the current trimmed value empty?\n *\n * @return {boolean}\n */\n isEmptyValue() {\n return !this.localValue || this.localValue && this.localValue.trim() === \"\";\n },\n /**\n * Is this Firefox? 🙄\n *\n * @return {boolean}\n */\n isFF() {\n return !!navigator.userAgent.match(/firefox/i);\n },\n /**\n * Is the current value over maxlength?\n *\n * @return {boolean}\n */\n isOverMaxlength() {\n return this.isEmptyValue || !this.maxlength ? !1 : g(this.localValue) > this.maxlength;\n },\n /**\n * Tooltip to show if characters count is over limit\n *\n * @return {string}\n */\n tooltipString() {\n return this.isOverMaxlength ? {\n content: o(\"Message limit of {count} characters reached\", { count: this.maxlength }),\n shown: !0,\n trigger: \"manual\"\n } : null;\n },\n /**\n * Edit is only allowed when contenteditableis true and disabled is false\n *\n * @return {boolean}\n */\n canEdit() {\n return this.contenteditable && !this.disabled;\n },\n /**\n * Proxied native event handlers without custom event handlers\n *\n * @return {Record<string, Function>}\n */\n listeners() {\n const e = { ...this.$listeners };\n return delete e.paste, e;\n }\n },\n watch: {\n /**\n * If the parent value change, we compare the plain text rendering\n * If it's different, we render everything and update the main content\n */\n value() {\n const e = this.$refs.contenteditable.innerHTML;\n this.value.trim() !== this.parseContent(e).trim() && this.updateContent(this.value);\n }\n },\n mounted() {\n const e = [\"d\", \"D\", \"p\", \"P\", \"s\", \"S\", \"x\", \"X\", \")\", \"(\", \"|\", \"/\"];\n this.textSmiles = [], e.forEach((t) => {\n this.textSmiles.push(\":\" + t), this.textSmiles.push(\":-\" + t);\n }), this.autocompleteTribute = new l(this.autocompleteOptions), this.autocompleteTribute.attach(this.$el), this.emojiAutocomplete && (this.emojiTribute = new l(this.emojiOptions), this.emojiTribute.attach(this.$el)), this.linkAutocomplete && (this.linkTribute = new l(this.linkOptions), this.linkTribute.attach(this.$el)), this.updateContent(this.value), this.$refs.contenteditable.contentEditable = this.canEdit;\n },\n beforeDestroy() {\n this.autocompleteTribute && this.autocompleteTribute.detach(this.$el), this.emojiTribute && this.emojiTribute.detach(this.$el), this.linkTribute && this.linkTribute.detach(this.$el);\n },\n methods: {\n /**\n * Focus the richContenteditable\n *\n * @public\n */\n focus() {\n this.$refs.contenteditable.focus();\n },\n getLink(e) {\n return f(e.original.id).then((t) => {\n const n = document.getElementById(\"tmp-smart-picker-result-node\"), i = {\n result: t,\n insertText: !0\n };\n if (this.$emit(\"smart-picker-submit\", i), i.insertText) {\n const s = document.createTextNode(t);\n n.replaceWith(s), this.setCursorAfter(s), this.updateValue(this.$refs.contenteditable.innerHTML);\n } else\n n.remove();\n }).catch((t) => {\n console.debug(\"Smart picker promise rejected:\", t);\n const n = document.getElementById(\"tmp-smart-picker-result-node\");\n this.setCursorAfter(n), n.remove();\n }), '<span id=\"tmp-smart-picker-result-node\"></span>';\n },\n setCursorAfter(e) {\n const t = document.createRange();\n t.setEndAfter(e), t.collapse();\n const n = window.getSelection();\n n.removeAllRanges(), n.addRange(t);\n },\n /**\n * Re-emit the input event to the parent\n *\n * @param {Event} event the input event\n */\n onInput(e) {\n this.updateValue(e.target.innerHTML);\n },\n /**\n * When pasting, sanitize the content, extract text\n * and render it again\n *\n * @param {Event} event the paste event\n * @fires Event paste the original paste event\n */\n onPaste(e) {\n if (!this.canEdit)\n return;\n e.preventDefault();\n const t = e.clipboardData;\n if (this.$emit(\"paste\", e), t.files.length !== 0 || !Object.values(t.items).find((a) => a == null ? void 0 : a.type.startsWith(\"text\")))\n return;\n const n = t.getData(\"text\"), i = window.getSelection();\n if (!i.rangeCount) {\n this.updateValue(n);\n return;\n }\n const s = i.getRangeAt(0);\n i.deleteFromDocument(), s.insertNode(document.createTextNode(n));\n const r = document.createRange();\n r.setStart(e.target, s.endOffset), r.collapse(!0), i.removeAllRanges(), i.addRange(r), this.updateValue(this.$refs.contenteditable.innerHTML);\n },\n /**\n * Update the value text from the provided html\n *\n * @param {string} htmlOrText the html content (or raw text with @mentions)\n */\n updateValue(e) {\n const t = this.parseContent(e);\n this.localValue = t, this.$emit(\"update:value\", t);\n },\n /**\n * Update content and local value\n *\n * @param {string} value the message value\n */\n updateContent(e) {\n const t = this.renderContent(e);\n this.$refs.contenteditable.innerHTML = t, this.localValue = e;\n },\n /**\n * Because FF have a decade old bug preventing contenteditable=false\n * to properly be deleted on backspace, we have to hack 👀\n * https://stackoverflow.com/a/59383394/3885878\n * https://stackoverflow.com/a/30574622\n *\n * @param {Event} event the delete keydown event\n */\n onDelete(e) {\n if (!this.isFF || !window.getSelection || !this.canEdit)\n return;\n const t = window.getSelection(), n = e.target;\n if (!t.isCollapsed || !t.rangeCount)\n return;\n const i = t.getRangeAt(t.rangeCount - 1);\n if (i.commonAncestorContainer.nodeType === 3 && i.startOffset > 0)\n return;\n const s = document.createRange();\n if (t.anchorNode !== n)\n s.selectNodeContents(n), s.setEndBefore(t.anchorNode);\n else if (t.anchorOffset > 0)\n s.setEnd(n, t.anchorOffset);\n else\n return;\n s.setStart(n, s.endOffset - 1);\n const r = s.cloneContents().lastChild;\n r && r.contentEditable === \"false\" && (s.deleteContents(), e.preventDefault());\n },\n /**\n * Enter key pressed. Submits if not multiline\n *\n * @param {Event} event the keydown event\n */\n onEnter(e) {\n this.multiline || this.isOverMaxlength || this.autocompleteTribute.isActive || this.emojiTribute.isActive || this.linkTribute.isActive || this.isComposing || (e.preventDefault(), e.stopPropagation(), this.$emit(\"submit\", e));\n },\n /**\n * Ctrl + Enter key pressed is used to submit\n *\n * @param {Event} event the keydown event\n */\n onCtrlEnter(e) {\n this.isOverMaxlength || this.$emit(\"submit\", e);\n },\n /**\n * Debounce the autocomplete function\n */\n debouncedAutoComplete: _(async function(e, t) {\n this.autoComplete(e, t);\n }, 100),\n onKeyUp(e) {\n e.stopImmediatePropagation();\n }\n }\n};\nvar S = function() {\n var t = this, n = t._self._c;\n return n(\"div\", t._g({ directives: [{ name: \"tooltip\", rawName: \"v-tooltip\", value: t.tooltipString, expression: \"tooltipString\" }], ref: \"contenteditable\", staticClass: \"rich-contenteditable__input\", class: {\n \"rich-contenteditable__input--empty\": t.isEmptyValue,\n \"rich-contenteditable__input--multiline\": t.multiline,\n \"rich-contenteditable__input--overflow\": t.isOverMaxlength,\n \"rich-contenteditable__input--disabled\": t.disabled\n }, attrs: { contenteditable: t.canEdit, \"aria-placeholder\": t.placeholder, \"aria-multiline\": \"true\", role: \"textbox\" }, on: { input: t.onInput, compositionstart: function(i) {\n t.isComposing = !0;\n }, compositionend: function(i) {\n t.isComposing = !1;\n }, keydown: [function(i) {\n return !i.type.indexOf(\"key\") && t._k(i.keyCode, \"delete\", [8, 46], i.key, [\"Backspace\", \"Delete\", \"Del\"]) ? null : t.onDelete.apply(null, arguments);\n }, function(i) {\n return !i.type.indexOf(\"key\") && t._k(i.keyCode, \"enter\", 13, i.key, \"Enter\") || i.ctrlKey || i.shiftKey || i.altKey || i.metaKey ? null : t.onEnter.apply(null, arguments);\n }, function(i) {\n return !i.type.indexOf(\"key\") && t._k(i.keyCode, \"enter\", 13, i.key, \"Enter\") || !i.ctrlKey || i.shiftKey || i.altKey || i.metaKey ? null : (i.stopPropagation(), i.preventDefault(), t.onCtrlEnter.apply(null, arguments));\n }], paste: t.onPaste, \"!keyup\": function(i) {\n return i.stopPropagation(), i.preventDefault(), t.onKeyUp.apply(null, arguments);\n } } }, t.listeners));\n}, A = [], E = /* @__PURE__ */ u(\n T,\n S,\n A,\n !1,\n null,\n \"9e395f41\",\n null,\n null\n);\nconst it = E.exports;\nexport {\n x as NcAutoCompleteResult,\n rt as NcMentionBubble,\n it as default\n};\n","import { isMobileState as e } from \"../Composables/useIsMobile.mjs\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst o = {\n computed: {\n /**\n * @deprecated Is to be removed in v9.0.0 with Vue 3 migration.\n * Use `composables/useIsMobile` instead.\n */\n isMobile() {\n return e.value;\n }\n }\n};\nexport {\n o as default\n};\n","import { N as b } from \"./referencePickerModal-c2f33569.mjs\";\nimport h from \"@nextcloud/axios\";\nimport { generateOcsUrl as d } from \"@nextcloud/router\";\nimport { n as g } from \"./_plugin-vue2_normalizer-71e2aa87.mjs\";\nimport { visit as _, SKIP as v } from \"unist-util-visit\";\nimport { u as l } from \"unist-builder\";\nimport { unified as y } from \"unified\";\nimport w from \"remark-parse\";\nimport R from \"remark-breaks\";\nimport N from \"remark-rehype\";\nimport A from \"rehype-react\";\nimport L from \"rehype-external-links\";\nconst m = /(\\s|^)(https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z]+(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig, x = /(\\s|\\(|^)((https?:\\/\\/)((?:[-A-Z0-9+_]+\\.)+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig, $ = {\n name: \"NcReferenceList\",\n components: {\n NcReferenceWidget: b\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n referenceData: {\n type: Object,\n default: null\n },\n limit: {\n type: Number,\n default: 1\n }\n },\n data() {\n return {\n references: null,\n loading: !0\n };\n },\n computed: {\n isVisible() {\n return this.loading || this.displayedReferences;\n },\n values() {\n return this.referenceData ? this.referenceData : this.references ? Object.values(this.references) : [];\n },\n firstReference() {\n var e;\n return (e = this.values[0]) != null ? e : null;\n },\n displayedReferences() {\n return this.values.slice(0, this.limit);\n }\n },\n watch: {\n text: \"fetch\"\n },\n mounted() {\n this.fetch();\n },\n methods: {\n fetch() {\n if (this.loading = !0, this.referenceData) {\n this.loading = !1;\n return;\n }\n if (!new RegExp(m).exec(this.text)) {\n this.loading = !1;\n return;\n }\n this.resolve().then((e) => {\n this.references = e.data.ocs.data.references, this.loading = !1;\n }).catch((e) => {\n console.error(\"Failed to extract references\", e), this.loading = !1;\n });\n },\n resolve() {\n const e = new RegExp(m).exec(this.text.trim());\n return this.limit === 1 && e ? h.get(d(\"references/resolve\", 2) + `?reference=${encodeURIComponent(e[0])}`) : h.post(d(\"references/extract\", 2), {\n text: this.text,\n resolve: !0,\n limit: this.limit\n });\n }\n }\n};\nvar j = function() {\n var s = this, t = s._self._c;\n return s.isVisible ? t(\"div\", { staticClass: \"widgets--list\", class: { \"icon-loading\": s.loading } }, s._l(s.displayedReferences, function(r) {\n var i;\n return t(\"div\", { key: (i = r == null ? void 0 : r.openGraphObject) == null ? void 0 : i.id }, [t(\"NcReferenceWidget\", { attrs: { reference: r } })], 1);\n }), 0) : s._e();\n}, T = [], O = /* @__PURE__ */ g(\n $,\n j,\n T,\n !1,\n null,\n \"bd1fbb02\",\n null,\n null\n);\nconst f = O.exports, C = {\n name: \"NcLink\",\n props: {\n href: {\n type: String,\n required: !0\n }\n },\n render(e) {\n return e(\"a\", {\n attrs: {\n href: this.href,\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n class: \"rich-text--external-link\"\n }\n }, [this.href.trim()]);\n }\n}, M = function({ autolink: e, useMarkdown: s }) {\n return function(t) {\n !s || !e || _(t, (r) => r.type === \"text\", (r, i, n) => {\n let c = k(r.value);\n return c = c.map((a) => typeof a == \"string\" ? l(\"text\", a) : l(\"link\", {\n url: a.props.href\n }, [l(\"text\", a.props.href)])).filter((a) => a), n.children.splice(i, 1, ...c.flat()), [v, i + c.flat().length];\n });\n };\n}, k = (e) => {\n let s = x.exec(e);\n const t = [];\n let r = 0;\n for (; s !== null; ) {\n let n = s[2], c, a = e.substring(r, s.index + s[1].length);\n n[0] === \" \" && (a += n[0], n = n.substring(1).trim());\n const o = n[n.length - 1];\n (o === \".\" || o === \",\" || o === \";\" || s[0][0] === \"(\" && o === \")\") && (n = n.substring(0, n.length - 1), c = o), t.push(a), t.push({ component: C, props: { href: n } }), c && t.push(c), r = s.index + s[0].length, s = x.exec(e);\n }\n t.push(e.substring(r));\n const i = t.map((n) => typeof n == \"string\" ? n : n.props.href).join(\"\");\n return e === i ? t : (console.error(\"Failed to reassemble the chunked text: \" + e), e);\n}, D = function() {\n return function(e) {\n _(e, (t) => t.type === \"text\", s);\n function s(t, r, i) {\n const n = t.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((c, a, o) => {\n const p = c.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!p)\n return l(\"text\", c);\n const [, u] = p;\n return l(\"element\", {\n tagName: `#${u}`\n });\n });\n i.children.splice(r, 1, ...n);\n }\n };\n}, E = ({ h: e, context: s }, t) => (s.autolink && (t = k(t)), Array.isArray(t) ? t.map((r) => {\n if (typeof r == \"string\")\n return r;\n const { component: i, props: n } = r, c = i.name === \"NcLink\" ? void 0 : \"rich-text--component\";\n return e(i, {\n props: n,\n class: c\n });\n}) : t), P = {\n name: \"NcRichText\",\n components: {\n NcReferenceList: f\n },\n props: {\n text: {\n type: String,\n default: \"\"\n },\n arguments: {\n type: Object,\n default: () => ({})\n },\n referenceLimit: {\n type: Number,\n default: 0\n },\n /** Provide data upfront to avoid extra http request */\n references: {\n type: Object,\n default: null\n },\n markdownCssClasses: {\n type: Object,\n default: () => ({\n a: \"rich-text--external-link\",\n ol: \"rich-text--ordered-list\",\n ul: \"rich-text--un-ordered-list\",\n li: \"rich-text--list-item\",\n strong: \"rich-text--strong\",\n em: \"rich-text--italic\",\n h1: \"rich-text--heading rich-text--heading-1\",\n h2: \"rich-text--heading rich-text--heading-2\",\n h3: \"rich-text--heading rich-text--heading-3\",\n h4: \"rich-text--heading rich-text--heading-4\",\n h5: \"rich-text--heading rich-text--heading-5\",\n h6: \"rich-text--heading rich-text--heading-6\",\n hr: \"rich-text--hr\",\n table: \"rich-text--table\",\n pre: \"rich-text--pre\",\n code: \"rich-text--code\",\n blockquote: \"rich-text--blockquote\"\n })\n },\n useMarkdown: {\n type: Boolean,\n default: !1\n },\n autolink: {\n type: Boolean,\n default: !0\n }\n },\n methods: {\n renderPlaintext(e) {\n const s = this, t = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map(function(r, i, n) {\n const c = r.match(/^\\{([a-z\\-_.0-9]+)\\}$/i);\n if (!c)\n return E({ h: e, context: s }, r);\n const a = c[1], o = s.arguments[a];\n if (typeof o == \"object\") {\n const { component: p, props: u } = o;\n return e(p, {\n props: u,\n class: \"rich-text--component\"\n });\n }\n return o ? e(\"span\", { class: \"rich-text--fallback\" }, o) : r;\n });\n return e(\"div\", { class: \"rich-text--wrapper\" }, [\n e(\"div\", {}, t.flat()),\n this.referenceLimit > 0 ? e(\"div\", { class: \"rich-text--reference-widget\" }, [\n e(f, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n },\n renderMarkdown(e) {\n const s = y().use(w).use(M, {\n autolink: this.autolink,\n useMarkdown: this.useMarkdown\n }).use(R).use(N, {\n handlers: {\n component(t, r) {\n return t(r, r.component, { value: r.value });\n }\n }\n }).use(D).use(L, {\n target: \"_blank\",\n rel: [\"noopener noreferrer\"]\n }).use(A, {\n createElement: (t, r, i) => {\n if (i = i == null ? void 0 : i.map(\n (c) => typeof c == \"string\" ? c.replace(/&lt;/gmi, \"<\") : c\n ), !t.startsWith(\"#\"))\n return e(t, r, i);\n const n = this.arguments[t.slice(1)];\n return n ? n.component ? e(\n n.component,\n {\n attrs: r,\n props: n.props,\n class: \"rich-text--component\"\n },\n i\n ) : e(\"span\", r, [n]) : e(\"span\", { attrs: r, class: \"rich-text--fallback\" }, [`{${t.slice(1)}}`]);\n },\n prefix: !1\n }).processSync(\n this.text.replace(/</gmi, \"&lt;\").replace(/&gt;/gmi, \">\")\n ).result;\n return e(\"div\", { class: \"rich-text--wrapper rich-text--wrapper-markdown\" }, [\n s,\n this.referenceLimit > 0 ? e(\"div\", { class: \"rich-text--reference-widget\" }, [\n e(f, { props: { text: this.text, referenceData: this.references } })\n ]) : null\n ]);\n }\n },\n render(e) {\n return this.useMarkdown ? this.renderMarkdown(e) : this.renderPlaintext(e);\n }\n}, U = null, Z = null;\nvar z = /* @__PURE__ */ g(\n P,\n U,\n Z,\n !1,\n null,\n \"5f33f45b\",\n null,\n null\n);\nconst X = z.exports;\nexport {\n X as N,\n f as a\n};\n"],"names":["Z","Symbol","toStringTag","toValue","r","unref","cacheStringFunction","fn","cache","Object","create","str","util","warn","WorkerGlobalScope","globalThis","prototype","toString","hyphenateRE","camelizeRE","replace","toLowerCase","_","c","toUpperCase","k","s","e","i","t","n","l","o","u","options","render","staticRenderFns","_compiled","functional","_scopeId","f","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","p","g","d","b","beforeCreate","concat","exports","ae","name","emits","props","title","type","String","fillColor","default","size","Number","_self","_c","_b","staticClass","attrs","role","on","click","$emit","$attrs","fill","width","height","viewBox","_v","_s","_e","oe","show_hidden","sort_favorites_first","crop_image_previews","get","then","S","$","value","data","showHiddenFiles","sortFavoritesFirst","cropImagePreviews","Te","je","ce","Xe","__name","showCheckbox","Boolean","setup","__sfc","fileListIconStyles","_setupProxy","class","_m","A","at","node","cropPreview","mimeFallback","attributes","previewUrl","fileid","URL","window","location","origin","searchParams","set","etag","Je","File","document","createElement","src","href","onerror","remove","onload","body","appendChild","immediate","previewURL","isFile","canLoadPreview","IconFile","IconFolder","style","backgroundImage","mime","_t","allowPickDirectory","selected","canPick","emit","displayName","basename","slice","extension","length","Folder","fileExtension","isDirectory","isPickable","toggleSelected","handleClick","handleKeyDown","key","formatFileSize","NcCheckboxRadioSwitch","NcDateTime","FilePreview","_g","tabindex","keydown","disabled","checked","nodename","stopPropagation","domProps","textContent","timestamp","mtime","gt","currentView","multiselect","loading","files","selectedFiles","path","currentConfig","C","sortBy","sorting_mode","order","sorting_direction","recent","P","favorites","h","a","F","x","z","B","T","E","U","O","j","G","W","q","K","X","J","Q","Y","N","L","m","filesViewConfig","favoritesViewConfig","recentViewConfig","Re","ascending","descending","none","localeCompare","getTime","sort","favorite","filter","parentElement","children","clientHeight","isSameNode","Math","floor","addEventListener","removeEventListener","customSortingConfig","filesAppSorting","sortingConfig","sortByName","sortBySize","sortByModified","toggleSorting","sortedFiles","selectableFiles","allSelected","onSelectAll","onNodeSelected","includes","onChangeDirectory","skeletonNumber","fileContainer","NcButton","IconSortAscending","IconSortDescending","LoadingTableRow","FileListRow","ref","wide","scopedSlots","_u","staticStyle","proxy","_l","Ct","xt","Bt","showMenu","trim","$el","querySelector","OC","config","blacklist_files_regex","match","setCustomValidity","split","map","join","newNodeName","nameInput","validateInput","onSubmit","pathElements","IconHome","IconPlus","NcActions","NcActionInput","NcBreadcrumbs","NcBreadcrumb","close","label","placeholder","submit","input","Dt","Ut","Wt","Qt","ni","filterString","isCollapsed","id","icon","allViews","currentViewObject","updateFilterValue","IconClose","IconMagnify","NcSelect","NcTextField","Fragment","clearable","searchable","tag","ki","buttons","container","filterFn","mimetypeFilter","contentClasses","dialogClasses","navigationClasses","callback","async","sessionStorage","getItem","setItem","isSupportedMimeType","some","si","isLoading","loadFiles","getFile","client","round","Date","now","search","details","results","getDirectoryContents","stat","li","startsWith","dialogProps","dialogButtons","viewHeadline","savedPath","navigatedPath","currentPath","filteredFiles","noFilesDescription","onCreateFolder","createDirectory","error","handleClose","FileList","FilePickerBreadcrumbs","FilePickerNavigation","NcDialog","NcEmptyContent","description","setApp","build","setUid","uid","Ne","_entries","registerEntry","validateEntry","push","unregisterEntry","getEntryIndex","splice","entry","entries","getEntries","enabled","findIndex","iconSvgInline","iconClass","handler","Error","_nc_newfilemenu","debug","Yt","log","min","pow","toFixed","parseFloat","toLocaleString","DEFAULT","HIDDEN","_action","constructor","validateAction","exec","execBatch","inline","renderInline","values","_nc_fileactions","find","action","er","nr","_nc_filelistheader","NONE","CREATE","READ","UPDATE","DELETE","SHARE","ALL","nc","oc","ocs","ir","_nc_dav_properties","_nc_dav_namespaces","prop","namespaces","V","keys","sr","or","be","R","source","crtime","permissions","owner","root","status","NEW","FAILED","LOADING","LOCKED","D","_data","_attributes","_knownDavService","updateMtime","Reflect","deleteProperty","Proxy","encodedSource","dirname","indexOf","pathname","isDavRessource","pop","move","rename","ye","super","ee","te","ur","setHeaders","requesttoken","patch","headers","method","fetch","dr","includeSelf","filename","ve","parse","lastmod","parseInt","getcontentlength","hasPreview","_views","_currentView","register","views","setActive","active","ar","_nc_navigation","Ie","_column","Ae","summary","RegExp","isExist","isEmptyObject","merge","getValue","isName","getAllMatches","startIndex","lastIndex","nameRegexp","M","Oe","allowBooleanAttributes","unpairedTags","substr","w","validate","assign","err","substring","xe","index","H","code","msg","line","tagClosed","tagName","tagStartPos","col","Ve","JSON","stringify","Ce","Pe","$e","v","Le","hasOwnProperty","Fe","re","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","isArray","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","defaultOptions","ke","Ue","Ge","ze","He","Ke","We","Ye","decimalPoint","tagname","child","addChild","tt","entityName","val","regx","entities","rt","skipLike","test","De","it","lastEntities","regex","st","replaceEntitiesValue","ot","charAt","ut","dt","resolveNameSpace","y","saveTextToParentTag","lastIndexOf","tagsNodeStack","tagExp","attrExpPresent","buildAttributesMap","closeIndex","docTypeEntities","parseTextData","rawTagName","isItStopNode","readStopNodeData","tagContent","lt","ft","ampEntity","ct","ht","pt","ne","ie","Nt","bt","Et","Array","prettify","yt","currentNode","apos","quot","space","cent","pound","yen","euro","copyright","reg","inr","addExternalEntities","parseXml","vt","Tt","se","Pt","indentBy","suppressUnpairedNode","suppressEmptyNode","endsWith","suppressBooleanAttributes","Ft","format","Vt","oneListGroup","isAttribute","attrPrefixLen","St","processTextOrObjNode","Lt","indentate","Rt","tagEndChar","newLine","j2x","buildTextValNode","attrStr","buildObjectNode","repeat","arrayNodeName","buildAttrPairStr","closeTag","XMLParser","externalEntities","addEntity","XMLValidator","XMLBuilder","cr","_view","caption","emptyTitle","emptyCaption","getContents","params","columns","emptyView","sticky","expanded","defaultSortKey","TypeError","Xt","forEach","hr","pr","gr","numeric","sensitivity","required","subline","iconUrl","computed","avatarUrl","getAvatarUrl","haveStatus","methods","user","directives","tooltip","mixins","autoComplete","Function","menuContainer","Element","multiline","contenteditable","maxlength","emojiAutocomplete","linkAutocomplete","textSmiles","tribute","autocompleteOptions","allowSpaces","fillAttr","lookup","menuItemTemplate","renderComponentHtml","original","noMatchTemplate","selectTemplate","genSelectTemplate","debouncedAutoComplete","emojiOptions","trigger","native","short_name","unshift","containerClass","itemClass","linkOptions","icon_url","getLink","localValue","isComposing","isEmptyValue","isFF","navigator","userAgent","isOverMaxlength","tooltipString","content","count","shown","canEdit","listeners","$listeners","paste","watch","$refs","innerHTML","parseContent","updateContent","mounted","autocompleteTribute","attach","emojiTribute","linkTribute","contentEditable","beforeDestroy","detach","focus","getElementById","result","insertText","createTextNode","replaceWith","setCursorAfter","updateValue","catch","console","createRange","setEndAfter","collapse","getSelection","removeAllRanges","addRange","onInput","target","onPaste","preventDefault","clipboardData","items","getData","rangeCount","getRangeAt","deleteFromDocument","insertNode","setStart","endOffset","renderContent","onDelete","commonAncestorContainer","nodeType","startOffset","anchorNode","selectNodeContents","setEndBefore","anchorOffset","setEnd","cloneContents","lastChild","deleteContents","onEnter","isActive","onCtrlEnter","onKeyUp","stopImmediatePropagation","rawName","expression","compositionstart","compositionend","_k","keyCode","apply","arguments","ctrlKey","shiftKey","altKey","metaKey","isMobile","components","NcReferenceWidget","text","referenceData","limit","references","isVisible","displayedReferences","firstReference","resolve","encodeURIComponent","post","openGraphObject","reference","rel","autolink","useMarkdown","url","flat","component","NcReferenceList","referenceLimit","markdownCssClasses","ol","ul","strong","em","h1","h2","h3","h4","h5","h6","table","pre","blockquote","renderPlaintext","context","renderMarkdown","use","handlers","prefix","processSync"],"sourceRoot":""}