{"version":3,"file":"settings-apps-view-7418.js?v=69cedcd7a6b9b9f96711","mappings":"2JAGIA,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,0wBAA2wB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2DAA2D,MAAQ,GAAG,SAAW,4OAA4O,eAAiB,CAAC,wzBAAwzB,WAAa,MAEn+D,S,mFCJIH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,sSAAuS,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wDAAwD,MAAQ,GAAG,SAAW,8HAA8H,eAAiB,CAAC,0TAA0T,WAAa,MAEh5B,S,mFCJIH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,mHAAoH,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gEAAgE,MAAQ,GAAG,SAAW,mCAAmC,eAAiB,CAAC,4GAA4G,WAAa,MAE5b,S,mFCJIH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,kkDAAmkD,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yDAAyD,MAAQ,GAAG,SAAW,0bAA0b,eAAiB,CAAC,wqCAAwqC,WAAa,MAEv1G,S,mFCJIH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,u0CAAw0C,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gDAAgD,MAAQ,GAAG,SAAW,uSAAuS,eAAiB,CAAC,8oDAA8oD,WAAa,MAEt6G,S,8DCPA,I,kICoBA,MCpB+G,EDoB/G,CACEC,KAAM,mBACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,M,eEff,SAXgB,OACd,GCRW,WAAkB,IAAIG,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,OAAOF,EAAII,GAAG,CAACC,YAAY,0CAA0CC,MAAM,CAAC,eAAeN,EAAIP,MAAM,aAAaO,EAAIP,MAAM,KAAO,OAAOc,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIS,MAAM,QAASD,EAAO,IAAI,OAAOR,EAAIU,QAAO,GAAO,CAACR,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,KAAON,EAAIJ,UAAU,MAAQI,EAAIF,KAAK,OAASE,EAAIF,KAAK,QAAU,cAAc,CAACI,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,ihBAAihB,CAAEN,EAAS,MAAEE,EAAG,QAAQ,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIP,UAAUO,EAAIa,UACthC,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,QElBhC,I,WC4BA,MC5B0L,ED4B1L,CACAvB,KAAA,WACAE,MAAA,UACAsB,SAAA,CACAC,UAAAA,GACA,MACAC,EAAA,WADAC,KAAAC,MAAA,QAAAC,OACA,OACA,OAAAC,EAAAA,EAAAA,WAAA,OAAAJ,EACA,IElBA,GAXgB,OACd,GCRW,WAA+C,OAAOd,EAA5BD,KAAYE,MAAMD,IAAa,MAAM,CAACG,YAAY,kBAAkBC,MAAM,CAAC,IAA3EL,KAAqFc,aAC5H,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,Q,0BEdhC,YACQM,EAAAA,EAAMC,KAAIC,EAAAA,EAAAA,gBAAe,kBAAmB,GAAK,qBACtDC,MAAKC,IAAc,IAAb,KAAEC,GAAMD,EACmB,MAA7BC,EAAKC,IAAIC,KAAKC,cAIlBC,EAAAA,EAAAA,IAAK,6BAA8B,CAAEC,KAAML,EAAKC,IAAID,OACpDM,OAAOC,cAAc,IAAIC,MAAM,WAAU,ICa5C,GACCpB,SAAU,CACTqB,SAAAA,GACC,OAAOlC,KAAKmC,IAAIC,OAAOC,KAAIC,IAAkB,CAAElD,GAAIkD,EAAOjD,KAAMiD,KACjE,EACAC,UAAAA,GACC,OAAOvC,KAAKwC,OAAOC,QAAQC,QAAQ,UACpC,EACAC,SAAAA,GACC,OAAO3C,KAAKmC,KAAOnC,KAAKwC,OAAOC,QAAQC,QAAQ1C,KAAKmC,IAAI/C,GACzD,EACAwD,gBAAAA,GACC,OAAI5C,KAAKmC,IAAIU,cACLC,EAAE,WAAY,uBAEfA,EAAE,WAAY,SACtB,EACAC,qBAAAA,GACC,OAAI/C,KAAKmC,IAAIU,cACLC,EAAE,WAAY,qBAGvB,EACAE,mBAAAA,GACC,QAAIhD,KAAKmC,IAAIU,eACLC,EAAE,WAAY,gDAGvB,EACAG,wBAAAA,GACC,MAAMC,EAAOJ,EAAE,WAAY,8KAC3B,OAAI9C,KAAKmC,IAAIU,cACLK,EAAO,IAAMJ,EAAE,WAAY,iDAE5BI,CACR,GAGDzB,KAAIA,KACI,CACN0B,sBAAsB,IAIxBC,OAAAA,GACKpD,KAAKmC,KAAOnC,KAAKmC,IAAIC,QAAUpC,KAAKmC,IAAIC,OAAOiB,OAAS,IAC3DrD,KAAKmD,sBAAuB,EAE9B,EAEAG,QAAS,CACRC,cAAAA,CAAeC,GACd,OAAOxD,KAAKwC,OAAOiB,SAAS,YAAa,CAAEC,OAAQF,EAAOG,MAAO,EAAGC,OAAQ,GAC7E,EACAC,iBAAAA,CAAkB1B,GACjB,SAAInC,KAAKmC,IAAIC,OAAOiB,SAAUrD,KAAKmD,qBAIpC,EACAW,aAAAA,GACM9D,KAAKmD,sBACTnD,KAAKwC,OAAOiB,SAAS,YAAa,CAAEM,MAAO/D,KAAKmC,IAAI/C,GAAIgD,OAAQ,IAElE,EACA4B,iBAAiB7B,KACXA,EAAI8B,OAAS9B,EAAI8B,MAAMC,SAAS,eAChC/B,EAAI8B,MAAMC,SAAS,aACnB/B,EAAI8B,MAAMC,SAAS,mBACnB/B,EAAI8B,MAAMC,SAAS,YACnB/B,EAAI8B,MAAMC,SAAS,8BAKzBC,kBAAAA,CAAmBC,GAClB,MAAM9B,EAAQ8B,EAAWC,MACnBjC,EAASpC,KAAKmC,IAAIC,OAAOkC,OAAO,IAAIA,OAAO,CAAChC,EAAMlD,KACxDY,KAAKwC,OAAOiB,SAAS,YAAa,CAAEM,MAAO/D,KAAKmC,IAAI/C,GAAIgD,UACzD,EACAmC,qBAAAA,CAAsBjC,GACrB,MAAMkC,EAAgBxE,KAAKmC,IAAIC,OAAOkC,OAAO,IACvCG,EAAQD,EAAcE,QAAQpC,EAAMlD,IACtCqF,GAAS,GACZD,EAAcG,OAAOF,EAAO,GAE7BzE,KAAKwC,OAAOiB,SAAS,YAAa,CAAEM,MAAO/D,KAAKmC,IAAI/C,GAAIgD,OAAQoC,GACjE,EACAI,WAAAA,CAAYb,GACX/D,KAAKwC,OAAOiB,SAAS,iBAAkB,CAAEM,QAAO3B,OAAQ,KACtDb,MAAMsD,IAAeC,GAAmB,IACxCC,OAAOC,KAAYC,EAAAA,EAAAA,IAAUD,EAAM,GACtC,EACAE,MAAAA,CAAOnB,GACN/D,KAAKwC,OAAOiB,SAAS,YAAa,CAAEM,QAAO3B,OAAQ,KACjDb,MAAMsD,IAAeC,GAAmB,IACxCC,OAAOC,KAAYC,EAAAA,EAAAA,IAAUD,EAAM,GACtC,EACAG,OAAAA,CAAQpB,GACP/D,KAAKwC,OAAOiB,SAAS,aAAc,CAAEM,UACnCxC,MAAMsD,IAAeC,GAAmB,IACxCC,OAAOC,KAAYC,EAAAA,EAAAA,IAAUD,EAAM,GACtC,EACAI,MAAAA,CAAOrB,GACN/D,KAAKwC,OAAOiB,SAAS,eAAgB,CAAEM,UACrCxC,MAAMsD,IAAeC,GAAmB,IACxCC,OAAOC,KAAYC,EAAAA,EAAAA,IAAUD,EAAM,GACtC,EACAK,OAAAA,CAAQtB,GACP/D,KAAKwC,OAAOiB,SAAS,YAAa,CAAEM,UAClCxC,MAAMsD,IAAeC,GAAmB,IACxCC,OAAOC,KAAYC,EAAAA,EAAAA,IAAUD,EAAM,GACtC,EACAM,MAAAA,CAAOvB,GACN/D,KAAKwC,OAAOiB,SAAS,YAAa,CAAEM,UAClCxC,MAAMsD,IAAeC,GAAmB,IACxCC,OAAOC,KAAYC,EAAAA,EAAAA,IAAUD,EAAM,GACtC,IC9IwL,ECuB1L,CACA3F,KAAA,iBACAoC,KAAAA,KACA,CACA8D,SAAA,KAGA1E,SAAA,CACA2E,SAAAA,GACA,mBAAAD,WACA,GAEAnC,OAAAA,GACA,KAAAmC,SAAA,kBAAAvE,KAAAyE,SAAAC,SAAA,IAAAC,UAAA,EACA,GCnBA,GAXgB,OACd,OARE,OAAQ,GAWV,EACA,KACA,KACA,MAI8B,Q,eCgHhC,MClIyL,EDkIzL,CACAtG,KAAA,UACAuG,WAAA,CACAC,SAAA,EACAC,SAAAA,EAAAA,GAEAC,OAAA,CAAAC,EAAAC,GACA1G,MAAA,CACA4C,IAAA,GACA+D,SAAA,GACAC,SAAA,CACA1G,KAAA2G,QACAxG,SAAA,GAEAyG,cAAA,CACA5G,KAAA2G,QACAxG,SAAA,GAEA0G,QAAA,CACA7G,KAAAC,OACAE,QAAA,OAGA6B,KAAAA,KACA,CACA8E,YAAA,EACAC,UAAA,EACAC,kBAAA,IAGA5F,SAAA,CACA6F,SAAAA,GACA,YAAAvE,IAAAwE,cAAA,KAAAxE,IAAAwE,aAAAC,iBAAA,CACA,EACAC,WAAAA,GACA,YAAAV,SAAA,UACA,GAEAW,MAAA,CACA,mBAAA1H,GACA,KAAAmH,WAAA,KAAApE,IAAA/C,KAAAA,CACA,GAEAgE,OAAAA,GAEA,GADA,KAAAmD,WAAA,KAAApE,IAAA/C,KAAA,KAAA2H,OAAAC,OAAA5H,GACA,KAAA+C,IAAA8E,UAAA,KAAA9E,IAAA+E,WAAA,CACA,MAAAC,EAAA,IAAAC,MACAD,EAAAE,OAAAC,IACA,KAAAb,kBAAA,GAEAU,EAAAI,IAAA,KAAApF,IAAA+E,UACA,CACA,EACAM,SAAA,CAEA,EACAlE,QAAA,CACA,oBAAAmE,CAAAC,GACA,aAAAA,EAAAC,cAAAC,SAAA,MAAAF,EAAAC,cAAAC,QAGA,UACA,KAAAC,QAAA3I,KAAA,CACAG,KAAA,eACA2H,OAAA,CAAAd,SAAA,KAAAA,SAAA9G,GAAA,KAAA+C,IAAA/C,KAEA,OAAAkI,GACA,CAEA,EACAQ,OAAAA,CAAAA,EAAAC,IACAD,EAAA,IAAAC,EAGAC,kBAAAA,CAAAC,GACA,YAAA5B,cAAA,MAAAC,QAAA2B,GAAAC,KAAA,SACA,I,qIEnMIC,EAAU,CAAC,EAEfA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,IAAQM,QAAS,IAAQA,OCP1D,SAXgB,OACd,GCTW,WAAkB,IAAI1I,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAGF,EAAIoG,SAAY,KAAO,KAAI,CAACuC,IAAI,YAAYtI,YAAY,UAAUuI,MAAM,CAAEC,SAAU7I,EAAIwG,YAAajG,GAAG,CAAC,MAAQP,EAAI0H,iBAAiB,CAACxH,EAAGF,EAAI8G,YAAY,CAAC6B,IAAI,YAAYtI,YAAY,2BAA2BC,MAAM,CAAC,QAAUN,EAAIiI,mBAAoB,uBAAsB1H,GAAG,CAAC,MAAQP,EAAI0H,iBAAiB,CAAG1H,EAAIoG,WAAapG,EAAIoC,IAAI0G,UAAc9I,EAAIoG,WAAapG,EAAI0G,iBAAmBxG,EAAG,MAAM,CAACG,YAAY,uBAAwBL,EAAIoG,UAAYpG,EAAIoC,IAAI0G,QAAS5I,EAAG,MAAM,CAACI,MAAM,CAAC,MAAQ,KAAK,OAAS,KAAK,QAAU,cAAc,CAACJ,EAAG,QAAQ,CAACG,YAAY,WAAWC,MAAM,CAAC,EAAI,IAAI,EAAI,IAAI,MAAQ,KAAK,OAAS,KAAK,oBAAsB,gBAAgB,aAAaN,EAAIoC,IAAI0G,aAAa9I,EAAIa,KAAKb,EAAIW,GAAG,MAAOX,EAAIoG,UAAYpG,EAAIoC,IAAI+E,YAAcnH,EAAI0G,iBAAkBxG,EAAG,MAAM,CAACI,MAAM,CAAC,IAAMN,EAAIoC,IAAI+E,WAAW,IAAM,MAAMnH,EAAIa,OAAOb,EAAIW,GAAG,KAAKT,EAAGF,EAAI8G,YAAY,CAAC6B,IAAI,YAAYtI,YAAY,WAAWC,MAAM,CAAC,QAAUN,EAAIiI,mBAAoB,uBAAsB1H,GAAG,CAAC,MAAQP,EAAI0H,iBAAiB,CAAC1H,EAAIW,GAAG,SAASX,EAAIY,GAAGZ,EAAIoC,IAAI9C,MAAM,UAAUU,EAAIW,GAAG,KAAOX,EAAIoG,SAAoLpG,EAAIa,KAA9KX,EAAGF,EAAI8G,YAAY,CAAC6B,IAAI,YAAYtI,YAAY,cAAcC,MAAM,CAAC,QAAUN,EAAIiI,mBAAoB,iBAAgB,CAACjI,EAAIW,GAAG,SAASX,EAAIY,GAAGZ,EAAIoC,IAAI2G,SAAS,UAAmB/I,EAAIW,GAAG,KAAMX,EAAIoG,SAAUlG,EAAGF,EAAI8G,YAAY,CAAC6B,IAAI,YAAYtI,YAAY,cAAcC,MAAM,CAAC,QAAUN,EAAIiI,mBAAoB,2BAA0B,CAAEjI,EAAIoC,IAAI4G,QAAS9I,EAAG,OAAO,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIoC,IAAI4G,YAAahJ,EAAIoC,IAAIwE,aAAaM,SAAS,GAAG8B,QAAS9I,EAAG,OAAO,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIoC,IAAIwE,aAAaM,SAAS,GAAG8B,YAAYhJ,EAAIa,OAAOb,EAAIa,KAAKb,EAAIW,GAAG,KAAKT,EAAGF,EAAI8G,YAAY,CAAC6B,IAAI,YAAYtI,YAAY,YAAYC,MAAM,CAAC,QAAUN,EAAIiI,mBAAoB,yBAAwB,CAAoB,MAAlBjI,EAAIoC,IAAI6G,MAAe/I,EAAG,OAAO,CAACG,YAAY,iCAAiCC,MAAM,CAAC,MAAQN,EAAI+C,EAAE,WAAY,kEAAkE,aAAa/C,EAAI+C,EAAE,WAAY,oEAAoE,CAAC/C,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,iBAAiB/C,EAAIa,KAAKb,EAAIW,GAAG,KAAwB,MAAlBX,EAAIoC,IAAI6G,MAAe/I,EAAG,OAAO,CAACG,YAAY,0BAA0BC,MAAM,CAAC,MAAQN,EAAI+C,EAAE,WAAY,+HAA+H,aAAa/C,EAAI+C,EAAE,WAAY,iIAAiI,CAAC/C,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,gBAAgB/C,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAI2G,YAAc3G,EAAIoG,SAAUlG,EAAG,WAAW,CAACI,MAAM,CAAC,MAAQN,EAAIoC,IAAIjB,SAASnB,EAAIa,MAAM,GAAGb,EAAIW,GAAG,KAAKT,EAAGF,EAAI8G,YAAY,CAAC6B,IAAI,YAAYtI,YAAY,UAAUC,MAAM,CAAC,QAAUN,EAAIiI,mBAAoB,2BAA0B,CAAEjI,EAAIoC,IAAI6C,MAAO/E,EAAG,MAAM,CAACG,YAAY,WAAW,CAACL,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAIoC,IAAI6C,OAAO,YAAYjF,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAI4C,UAAW1C,EAAG,MAAM,CAACG,YAAY,4BAA4BL,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAImD,OAAQrF,EAAG,WAAW,CAACI,MAAM,CAAC,KAAO,UAAU,SAAWN,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAO0I,kBAAyBlJ,EAAIuF,OAAOvF,EAAIoC,IAAI/C,GAAG,IAAI,CAACW,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,qBAAsB,CAACwC,OAAOvF,EAAIoC,IAAImD,UAAU,YAAYvF,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAI+G,aAAcjJ,EAAG,WAAW,CAACG,YAAY,YAAYC,MAAM,CAAC,KAAO,WAAW,SAAWN,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAO0I,kBAAyBlJ,EAAIqF,OAAOrF,EAAIoC,IAAI/C,GAAG,IAAI,CAACW,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,WAAW,YAAY/C,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAIgH,OAAQlJ,EAAG,WAAW,CAACI,MAAM,CAAC,SAAWN,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAO0I,kBAAyBlJ,EAAIoF,QAAQpF,EAAIoC,IAAI/C,GAAG,IAAI,CAACW,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAW,YAAY,YAAY/C,EAAIa,KAAKb,EAAIW,GAAG,KAAOX,EAAIoC,IAAIgH,SAAWpJ,EAAIoC,IAAIiH,aAAcrJ,EAAIoC,IAAIkH,aAAmVtJ,EAAIoC,IAAIgH,OAAyUpJ,EAAIa,KAArUX,EAAG,WAAW,CAACI,MAAM,CAAC,MAAQN,EAAIkD,yBAAyB,aAAalD,EAAIkD,yBAAyB,KAAO,YAAY,SAAWlD,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAO0I,kBAAyBlJ,EAAI6E,YAAY7E,EAAIoC,IAAI/C,GAAG,IAAI,CAACW,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAIgD,uBAAuB,YAAzoB9C,EAAG,WAAW,CAACI,MAAM,CAAC,MAAQN,EAAIiD,oBAAoB,aAAajD,EAAIiD,oBAAoB,KAAO,UAAU,UAAYjD,EAAIoC,IAAIiH,YAAcrJ,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAiC,OAAzBA,EAAO0I,kBAAyBlJ,EAAImF,OAAOnF,EAAIoC,IAAI/C,GAAG,IAAI,CAACW,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI6C,kBAAkB,aAAyW,IAAI,EAC7mJ,GACsB,IDUpB,EACA,KACA,WACA,MAI8B,QEDhC,GAXgB,OCgBhB,CACAvD,KAAA,cACAiE,QAAA,CACAwE,OAAAA,CAAAA,EAAAC,IACAD,EAAA,IAAAC,SD3BI,OAAQ,GAWV,EACA,KACA,KACA,MAI8B,Q,0BEgIhC,MClJmL,EDkJnL,CACA1I,KAAA,UACAuG,WAAA,CACA0D,QAAA,EACAxD,SAAAA,EAAAA,GAEAC,OAAA,CAAAwD,GACAhK,MAAA,4BACAsB,SAAA,CACA2I,OAAAA,GACA,YAAA1H,KAAA2H,QAAAtH,GAAAA,EAAAmD,SAAAjC,MACA,EACAX,OAAAA,GACA,YAAAF,OAAAC,QAAAC,QAAA,OACA,EACAgH,gBAAAA,GACA,YAAA5H,KAAA2H,QAAAtH,GAAAA,EAAAmD,SAAAjC,OAAA,CACA,EACAsG,aAAAA,GACA,YAAAD,kBAAA,KAAAE,WACA,EACA9H,IAAAA,GACA,MAAAA,EAAA,KAAAU,OAAAC,QAAAoH,WACAJ,QAAAtH,IAAA,IAAAA,EAAA9C,KAAAyK,cAAApG,OAAA,KAAAA,OAAAoG,iBACAC,MAAA,SAAAC,EAAAC,GACA,MAAAC,EAAA,IAAAF,EAAAb,OAAA,MAAAa,EAAA1E,OAAA,KAAA0E,EAAA3K,KACA8K,EAAA,IAAAF,EAAAd,OAAA,MAAAc,EAAA3E,OAAA,KAAA2E,EAAA5K,KACA,OAAA+K,GAAAC,KAAAC,mBAAAJ,EAAAC,EACA,IAEA,yBAAAjE,SACApE,EAAA2H,QAAAtH,GAAAA,EAAAoI,YAEA,iBAAArE,SACApE,EAAA2H,QAAAtH,GAAAA,EAAAgH,QAAAhH,EAAAoI,YAEA,kBAAArE,SACApE,EAAA2H,QAAAtH,IAAAA,EAAAgH,QAAAhH,EAAAoI,YAEA,qBAAArE,SACApE,EAAA2H,QAAAtH,GAAAA,EAAAqI,UAEA,iBAAAtE,SACApE,EAAA2H,QAAAtH,GAAAA,EAAAmD,SAEA,mBAAAY,SAEApE,EAAA2H,QAAAtH,GAAA,MAAAA,EAAA6G,QAEA,kBAAA9C,SAEApE,EAAA2H,QAAAtH,GAAA,MAAAA,EAAA6G,QAGAlH,EAAA2H,QAAAtH,GACAA,EAAAsI,eAAAC,IAAAvI,EAAA+D,WACA/D,EAAA+D,WAAA,KAAAA,UAAA/D,EAAA+D,SAAAxB,QAAA,KAAAwB,WAAA,IAEA,EACAsE,OAAAA,GACA,YAAAhI,OAAAC,QAAAkI,cAAAH,QAAAf,QAAAmB,GAAA,KAAAC,WAAAD,EAAAxL,IAAAiE,OAAA,GACA,EACAwH,WAAAA,IACA,SAAAD,GACA,YAAApI,OAAAC,QAAAoH,WACAJ,QAAAtH,QACAuI,IAAAvI,EAAA2I,WAAA3I,EAAA2I,UAAA5G,SAAA0G,IAEA,EAEAG,UAAAA,GACA,gBAAArH,OACA,GAEA,KAAAlB,OAAAC,QAAAoH,WACAJ,QAAAtH,IACA,IAAAA,EAAA9C,KAAAyK,cAAApG,OAAA,KAAAA,OAAAoG,iBACA,KAAAhI,KAAAkJ,MAAAC,GAAAA,EAAA7L,KAAA+C,EAAA/C,MAIA,EACA8L,eAAAA,GACA,YAAAtB,cAAA,KAAAvD,aACA,EACAuD,WAAAA,GACA,yBAAA1D,UAAA,iBAAAA,UAAA,kBAAAA,UAAA,iBAAAA,UAAA,kBAAAA,UAAA,mBAAAA,QACA,EACAG,aAAAA,GACA,2BAAAH,QACA,EACAiF,iBAAAA,GACA,OAAA/L,GACA,SAAAyL,WAAAzL,GAAAqK,QAAAtH,IAAAA,EAAAgH,SAAA9F,MAEA,EACA+H,gBAAAA,GACA,OAAAhM,GACA,KAAA+L,kBAAA/L,GACA0D,EAAA,0BAEAA,EAAA,qCAEA,GAEAQ,QAAA,CACA+H,YAAAA,CAAAjM,GACA,YAAA+L,kBAAA/L,GACA,KAAAkM,cAAAlM,GAEA,KAAAmM,aAAAnM,EACA,EACAmM,YAAAA,CAAAnM,GACA,MAAA0C,EAAA,KAAA+I,WAAAzL,GAAAiD,KAAAF,GAAAA,EAAA/C,KACA,KAAAoD,OAAAiB,SAAA,aAAAM,MAAAjC,EAAAM,OAAA,KACA2C,OAAAC,IACAwG,EAAAxG,MAAAA,GACAoF,GAAAqB,aAAAC,KAAA1G,EAAA,GAEA,EACAsG,aAAAA,CAAAlM,GACA,MAAA0C,EAAA,KAAA+I,WAAAzL,GAAAiD,KAAAF,GAAAA,EAAA/C,KACA,KAAAoD,OAAAiB,SAAA,cAAAM,MAAAjC,EAAAM,OAAA,KACA2C,OAAAC,IACAoF,GAAAqB,aAAAC,KAAA1G,EAAA,GAEA,EACA2G,SAAAA,GACA,MAAAhI,GAAAiI,EAAAA,EAAAA,GAAA,GACA,KAAA9J,KACA2H,QAAAtH,GAAAA,EAAAmD,SACAjD,KAAAF,GAAAwB,GAAA,SAAAnB,OAAAiB,SAAA,aAAAM,MAAA5B,EAAA/C,QAEA,I,eE5QI,EAAU,CAAC,EAEf,EAAQgJ,kBAAoB,IAC5B,EAAQC,cAAgB,IAElB,EAAQC,OAAS,SAAc,KAAM,QAE3C,EAAQC,OAAS,IACjB,EAAQC,mBAAqB,IAEhB,IAAI,IAAS,GAKJ,KAAW,IAAQC,QAAS,IAAQA,OCP1D,SAXgB,OACd,GpBTW,WAAkB,IAAI1I,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,sBAAsB,CAACJ,EAAG,MAAM,CAACG,YAAY,YAAYuI,MAAM,CAAC4B,UAAYxK,EAAIsG,eAAiBtG,EAAI6J,YAAciC,MAAO9L,EAAImL,iBAAiB7K,MAAM,CAAC,GAAK,cAAc,CAAEN,EAAI6J,YAAa,CAAE7J,EAAI4J,cAAe1J,EAAG,MAAM,CAACG,YAAY,WAAW,CAACL,EAAIW,GAAG,aAAaX,EAAIY,GAAGZ,EAAI+L,EAAE,WAAY,iCAAkC,mCAAoC/L,EAAIyJ,UAAU,cAAezJ,EAAI4J,cAAe1J,EAAG,WAAW,CAACI,MAAM,CAAC,GAAK,sBAAsB,KAAO,WAAWC,GAAG,CAAC,MAAQP,EAAI4L,YAAY,CAAC5L,EAAIW,GAAG,eAAeX,EAAIY,GAAGZ,EAAI+L,EAAE,WAAY,SAAU,aAAc/L,EAAIyJ,UAAU,gBAAgBzJ,EAAIa,MAAM,GAAGb,EAAIa,KAAKb,EAAIW,GAAG,KAAOX,EAAI4J,cAAyI5J,EAAIa,KAA9HX,EAAG,MAAM,CAACG,YAAY,WAAW,CAACL,EAAIW,GAAG,aAAaX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,6BAA6B,cAAuB/C,EAAIW,GAAG,KAAKT,EAAG,mBAAmB,CAACG,YAAY,sBAAsBC,MAAM,CAAC,KAAO,WAAW,IAAM,UAAU,CAACJ,EAAG,KAAK,CAAC8L,IAAI,uBAAuB3L,YAAY,eAAe,CAACH,EAAG,KAAK,CAACG,YAAY,aAAa,CAACH,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,cAAc/C,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACG,YAAY,YAAY,CAACH,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,cAAc/C,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACG,YAAY,eAAe,CAACH,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,iBAAiB/C,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACG,YAAY,aAAa,CAACH,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,eAAe/C,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACG,YAAY,WAAW,CAACH,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,mBAAmB/C,EAAIW,GAAG,KAAKX,EAAIiM,GAAIjM,EAAI+B,MAAM,SAASK,GAAK,OAAOlC,EAAG,UAAU,CAAC8L,IAAI5J,EAAI/C,GAAGiB,MAAM,CAAC,IAAM8B,EAAI,SAAWpC,EAAImG,WAAW,KAAI,IAAInG,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIsG,cAAepG,EAAG,QAAQ,CAACG,YAAY,uBAAuB,CAACH,EAAG,KAAK,CAAC8L,IAAI,uBAAuB3L,YAAY,eAAe,CAACH,EAAG,KAAK,CAACG,YAAY,YAAYC,MAAM,CAAC,GAAK,uBAAuB,CAACJ,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,cAAc/C,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACG,YAAY,WAAWC,MAAM,CAAC,GAAK,uBAAuB,CAACJ,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,cAAc/C,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACG,YAAY,cAAcC,MAAM,CAAC,GAAK,0BAA0B,CAACJ,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,iBAAiB/C,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACG,YAAY,YAAYC,MAAM,CAAC,GAAK,wBAAwB,CAACJ,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,eAAe/C,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACG,YAAY,UAAUC,MAAM,CAAC,GAAK,0BAA0B,CAACJ,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACL,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,mBAAmB/C,EAAIW,GAAG,KAAKX,EAAIiM,GAAIjM,EAAIyK,SAAS,SAASI,GAAQ,MAAO,CAAC3K,EAAG,KAAK,CAAC8L,IAAInB,EAAOxL,IAAI,CAACa,EAAG,KAAK,CAACI,MAAM,CAAC,GAAM,sBAAqBuK,EAAOxL,KAAK,QAAU,IAAI,MAAQ,aAAa,CAACa,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACH,EAAG,OAAO,CAACG,YAAY,qBAAqB,CAACL,EAAIW,GAAG,qBAAqBX,EAAIY,GAAGiK,EAAOvL,MAAM,sBAAsBU,EAAIW,GAAG,KAAKT,EAAG,WAAW,CAACI,MAAM,CAAC,KAAO,aAAaC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIsL,aAAaT,EAAOxL,GAAG,IAAI,CAACW,EAAIW,GAAG,qBAAqBX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY/C,EAAIqL,iBAAiBR,EAAOxL,MAAM,uBAAuB,OAAOW,EAAIW,GAAG,KAAKX,EAAIiM,GAAIjM,EAAI8K,WAAWD,EAAOxL,KAAK,SAAS+C,GAAK,OAAOlC,EAAG,UAAU,CAAC8L,IAAInB,EAAOxL,GAAK+C,EAAI/C,GAAGiB,MAAM,CAAC,mBAAkB,EAAK,QAAW,sBAAqBuK,EAAOxL,KAAK,IAAM+C,EAAI,SAAWpC,EAAImG,WAAW,IAAG,KAAI,GAAGnG,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAImL,gBAAiBjL,EAAG,KAAK,CAACG,YAAY,mBAAmBL,EAAIiM,GAAIjM,EAAI+B,MAAM,SAASK,GAAK,OAAOlC,EAAG,UAAU,CAAC8L,IAAI5J,EAAI/C,GAAGiB,MAAM,CAAC,IAAM8B,EAAI,SAAWpC,EAAImG,SAAS,aAAY,IAAQ,IAAG,GAAGnG,EAAIa,MAAM,GAAGb,EAAIW,GAAG,KAAKT,EAAG,MAAM,CAACG,YAAY,sBAAsBC,MAAM,CAAC,GAAK,qBAAqB,CAACJ,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAAiB,KAAfL,EAAI2D,QAAiB3D,EAAIgL,WAAW1H,OAAS,EAAG,CAACpD,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,OAAOF,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACI,MAAM,CAAC,QAAU,MAAM,CAACJ,EAAG,KAAK,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,yCAAyC/C,EAAIW,GAAG,KAAKX,EAAIiM,GAAIjM,EAAIgL,YAAY,SAAS5I,GAAK,OAAOlC,EAAG,UAAU,CAAC8L,IAAI5J,EAAI/C,GAAGiB,MAAM,CAAC,IAAM8B,EAAI,SAAWpC,EAAImG,WAAW,KAAInG,EAAIa,MAAM,KAAKb,EAAIW,GAAG,KAAqB,KAAfX,EAAI2D,QAAkB3D,EAAI2C,SAAqC,IAA1B3C,EAAIgL,WAAW1H,QAAoC,IAApBtD,EAAI+B,KAAKuB,OAAqRtD,EAAIa,KAA3QX,EAAG,MAAM,CAACG,YAAY,mCAAmCC,MAAM,CAAC,GAAK,oBAAoB,CAACJ,EAAG,MAAM,CAACG,YAAY,qBAAqBC,MAAM,CAAC,GAAK,yBAAyBN,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,wCAAiD/C,EAAIW,GAAG,KAAKT,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,oBAC9rJ,GACsB,IoBUpB,EACA,KACA,WACA,MAI8B,QCnBhC,I,sBC4BA,IAAI4L,GAbO,CACHC,OAAO,EACPC,QAAQ,EACRC,WAAY,KACZC,KAAK,EACLC,MAAO,KACPC,UAAU,EACVC,SAAU,KACVC,QAAQ,EACRC,UAAW,KACXC,WAAY,MAIpB,SAASC,GAAeC,GACpBZ,GAAYY,CAChB,CAKA,MAAMC,GAAa,UACbC,GAAgB,IAAIC,OAAOF,GAAWG,OAAQ,KAC9CC,GAAqB,oDACrBC,GAAwB,IAAIH,OAAOE,GAAmBD,OAAQ,KAC9DG,GAAqB,CACvB,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SAEHC,GAAwBC,GAAOF,GAAmBE,GACxD,SAAS,GAAOC,EAAMC,GAClB,GAAIA,GACA,GAAIV,GAAWW,KAAKF,GAChB,OAAOA,EAAKG,QAAQX,GAAeM,SAIvC,GAAIH,GAAmBO,KAAKF,GACxB,OAAOA,EAAKG,QAAQP,GAAuBE,IAGnD,OAAOE,CACX,CACA,MAAMI,GAAe,6CAefC,GAAQ,eACd,SAASC,GAAKC,EAAOC,GACjBD,EAAyB,iBAAVA,EAAqBA,EAAQA,EAAMb,OAClDc,EAAMA,GAAO,GACb,MAAMC,EAAM,CACRN,QAAS,CAACrO,EAAM4O,KAEZA,GADAA,EAAqB,iBAARA,GAAoB,WAAYA,EAAMA,EAAIhB,OAASgB,GACtDP,QAAQE,GAAO,MACzBE,EAAQA,EAAMJ,QAAQrO,EAAM4O,GACrBD,GAEXE,SAAU,IACC,IAAIlB,OAAOc,EAAOC,IAGjC,OAAOC,CACX,CACA,SAASG,GAASC,GACd,IACIA,EAAOC,UAAUD,GAAMV,QAAQ,OAAQ,IAC3C,CACA,MAAOpG,GACH,OAAO,IACX,CACA,OAAO8G,CACX,CACA,MAAME,GAAW,CAAEC,KAAM,IAAM,MAC/B,SAASC,GAAWC,EAAUC,GAG1B,MAcIC,EAdQF,EAASf,QAAQ,OAAO,CAACkB,EAAOhL,EAAQiL,KAChD,IAAIC,GAAU,EACVC,EAAOnL,EACX,OAASmL,GAAQ,GAAmB,OAAdF,EAAIE,IACtBD,GAAWA,EACf,OAAIA,EAGO,IAIA,IACX,IACYE,MAAM,OACtB,IAAIC,EAAI,EAQR,GANKN,EAAM,GAAGO,QACVP,EAAMQ,QAENR,EAAMtL,OAAS,IAAMsL,EAAMA,EAAMtL,OAAS,GAAG6L,QAC7CP,EAAMtK,MAENqK,EACA,GAAIC,EAAMtL,OAASqL,EACfC,EAAMhK,OAAO+J,QAGb,KAAOC,EAAMtL,OAASqL,GAClBC,EAAMzP,KAAK,IAGvB,KAAO+P,EAAIN,EAAMtL,OAAQ4L,IAErBN,EAAMM,GAAKN,EAAMM,GAAGC,OAAOxB,QAAQ,QAAS,KAEhD,OAAOiB,CACX,CASA,SAASS,GAAMP,EAAKQ,EAAGC,GACnB,MAAMC,EAAIV,EAAIxL,OACd,GAAU,IAANkM,EACA,MAAO,GAGX,IAAIC,EAAU,EAEd,KAAOA,EAAUD,GAAG,CAChB,MAAME,EAAWZ,EAAIa,OAAOH,EAAIC,EAAU,GAC1C,GAAIC,IAAaJ,GAAMC,EAGlB,IAAIG,IAAaJ,IAAKC,EAIvB,MAHAE,GAIJ,MAPIA,GAQR,CACA,OAAOX,EAAIc,MAAM,EAAGJ,EAAIC,EAC5B,CAuBA,SAASI,GAAWC,EAAKC,EAAMC,EAAKC,GAChC,MAAM5B,EAAO0B,EAAK1B,KACZ5O,EAAQsQ,EAAKtQ,MAAQ,GAAOsQ,EAAKtQ,OAAS,KAC1CyQ,EAAOJ,EAAI,GAAGnC,QAAQ,cAAe,MAC3C,GAAyB,MAArBmC,EAAI,GAAGH,OAAO,GAAY,CAC1BM,EAAME,MAAMC,QAAS,EACrB,MAAMC,EAAQ,CACV3Q,KAAM,OACNsQ,MACA3B,OACA5O,QACAyQ,OACAI,OAAQL,EAAMM,aAAaL,IAG/B,OADAD,EAAME,MAAMC,QAAS,EACdC,CACX,CACA,MAAO,CACH3Q,KAAM,QACNsQ,MACA3B,OACA5O,QACAyQ,KAAM,GAAOA,GAErB,CAyBA,MAAMM,GACFpI,QAEAqI,MACAR,MACA,WAAAS,CAAYtI,GACRnI,KAAKmI,QAAUA,GAAW8D,EAC9B,CACA,KAAAyE,CAAMnJ,GACF,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAMC,QAAQrC,KAAKhH,GAC1C,GAAIsI,GAAOA,EAAI,GAAGxM,OAAS,EACvB,MAAO,CACH5D,KAAM,QACNsQ,IAAKF,EAAI,GAGrB,CACA,IAAAgB,CAAKtJ,GACD,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAME,KAAKtC,KAAKhH,GACvC,GAAIsI,EAAK,CACL,MAAMI,EAAOJ,EAAI,GAAGnC,QAAQ,YAAa,IACzC,MAAO,CACHjO,KAAM,OACNsQ,IAAKF,EAAI,GACTiB,eAAgB,WAChBb,KAAOjQ,KAAKmI,QAAQoE,SAEd0D,EADAb,GAAMa,EAAM,MAG1B,CACJ,CACA,MAAAc,CAAOxJ,GACH,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAMI,OAAOxC,KAAKhH,GACzC,GAAIsI,EAAK,CACL,MAAME,EAAMF,EAAI,GACVI,EA3DlB,SAAgCF,EAAKE,GACjC,MAAMe,EAAoBjB,EAAInB,MAAM,iBACpC,GAA0B,OAAtBoC,EACA,OAAOf,EAEX,MAAMgB,EAAeD,EAAkB,GACvC,OAAOf,EACFjB,MAAM,MACN3M,KAAI6O,IACL,MAAMC,EAAoBD,EAAKtC,MAAM,QACrC,GAA0B,OAAtBuC,EACA,OAAOD,EAEX,MAAOE,GAAgBD,EACvB,OAAIC,EAAa/N,QAAU4N,EAAa5N,OAC7B6N,EAAKvB,MAAMsB,EAAa5N,QAE5B6N,CAAI,IAEVhJ,KAAK,KACd,CAuCyBmJ,CAAuBtB,EAAKF,EAAI,IAAM,IACnD,MAAO,CACHpQ,KAAM,OACNsQ,MACAuB,KAAMzB,EAAI,GAAKA,EAAI,GAAGX,OAAOxB,QAAQ1N,KAAKwQ,MAAMe,OAAOC,SAAU,MAAQ3B,EAAI,GAC7EI,OAER,CACJ,CACA,OAAAwB,CAAQlK,GACJ,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAMc,QAAQlD,KAAKhH,GAC1C,GAAIsI,EAAK,CACL,IAAII,EAAOJ,EAAI,GAAGX,OAElB,GAAI,KAAKzB,KAAKwC,GAAO,CACjB,MAAMyB,EAAUtC,GAAMa,EAAM,KACxBjQ,KAAKmI,QAAQoE,SACb0D,EAAOyB,EAAQxC,OAETwC,IAAW,KAAKjE,KAAKiE,KAE3BzB,EAAOyB,EAAQxC,OAEvB,CACA,MAAO,CACHzP,KAAM,UACNsQ,IAAKF,EAAI,GACT8B,MAAO9B,EAAI,GAAGxM,OACd4M,OACAI,OAAQrQ,KAAKgQ,MAAMuB,OAAOtB,GAElC,CACJ,CACA,EAAA2B,CAAGrK,GACC,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAMiB,GAAGrD,KAAKhH,GACrC,GAAIsI,EACA,MAAO,CACHpQ,KAAM,KACNsQ,IAAKF,EAAI,GAGrB,CACA,UAAAgC,CAAWtK,GACP,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAMkB,WAAWtD,KAAKhH,GAC7C,GAAIsI,EAAK,CACL,MAAMI,EAAOb,GAAMS,EAAI,GAAGnC,QAAQ,eAAgB,IAAK,MACjDoE,EAAM9R,KAAKgQ,MAAME,MAAM4B,IAC7B9R,KAAKgQ,MAAME,MAAM4B,KAAM,EACvB,MAAMzB,EAASrQ,KAAKgQ,MAAM+B,YAAY9B,GAEtC,OADAjQ,KAAKgQ,MAAME,MAAM4B,IAAMA,EAChB,CACHrS,KAAM,aACNsQ,IAAKF,EAAI,GACTQ,SACAJ,OAER,CACJ,CACA,IAAA+B,CAAKzK,GACD,IAAIsI,EAAM7P,KAAKwQ,MAAMG,MAAMqB,KAAKzD,KAAKhH,GACrC,GAAIsI,EAAK,CACL,IAAIoC,EAAOpC,EAAI,GAAGX,OAClB,MAAMgD,EAAYD,EAAK5O,OAAS,EAC1B2O,EAAO,CACTvS,KAAM,OACNsQ,IAAK,GACLoC,QAASD,EACTE,MAAOF,GAAaD,EAAKtC,MAAM,GAAI,GAAK,GACxC0C,OAAO,EACPC,MAAO,IAEXL,EAAOC,EAAY,aAAaD,EAAKtC,OAAO,KAAO,KAAKsC,IACpDjS,KAAKmI,QAAQoE,WACb0F,EAAOC,EAAYD,EAAO,SAG9B,MAAMM,EAAY,IAAIvF,OAAO,WAAWiF,kCACxC,IAAIlC,EAAM,GACNyC,EAAe,GACfC,GAAoB,EAExB,KAAOlL,GAAK,CACR,IAAImL,GAAW,EACf,KAAM7C,EAAM0C,EAAUhE,KAAKhH,IACvB,MAEJ,GAAIvH,KAAKwQ,MAAMG,MAAMiB,GAAGnE,KAAKlG,GACzB,MAEJwI,EAAMF,EAAI,GACVtI,EAAMA,EAAI5B,UAAUoK,EAAI1M,QACxB,IAAIsP,EAAO9C,EAAI,GAAGb,MAAM,KAAM,GAAG,GAAGtB,QAAQ,QAAS5K,GAAM,IAAI8P,OAAO,EAAI9P,EAAEO,UACxEwP,EAAWtL,EAAIyH,MAAM,KAAM,GAAG,GAC9B8D,EAAS,EACT9S,KAAKmI,QAAQoE,UACbuG,EAAS,EACTN,EAAeG,EAAKI,cAGpBD,EAASjD,EAAI,GAAGnM,OAAO,QACvBoP,EAASA,EAAS,EAAI,EAAIA,EAC1BN,EAAeG,EAAKhD,MAAMmD,GAC1BA,GAAUjD,EAAI,GAAGxM,QAErB,IAAI2P,GAAY,EAMhB,IALKL,GAAQ,OAAOlF,KAAKoF,KACrB9C,GAAO8C,EAAW,KAClBtL,EAAMA,EAAI5B,UAAUkN,EAASxP,OAAS,GACtCqP,GAAW,IAEVA,EAAU,CACX,MAAMO,EAAkB,IAAIjG,OAAO,QAAQhM,KAAKkS,IAAI,EAAGJ,EAAS,yDAC1DK,EAAU,IAAInG,OAAO,QAAQhM,KAAKkS,IAAI,EAAGJ,EAAS,wDAClDM,EAAmB,IAAIpG,OAAO,QAAQhM,KAAKkS,IAAI,EAAGJ,EAAS,qBAC3DO,EAAoB,IAAIrG,OAAO,QAAQhM,KAAKkS,IAAI,EAAGJ,EAAS,QAElE,KAAOvL,GAAK,CACR,MAAM+L,EAAU/L,EAAIyH,MAAM,KAAM,GAAG,GAOnC,GANA6D,EAAWS,EAEPtT,KAAKmI,QAAQoE,WACbsG,EAAWA,EAASnF,QAAQ,0BAA2B,OAGvD0F,EAAiB3F,KAAKoF,GACtB,MAGJ,GAAIQ,EAAkB5F,KAAKoF,GACvB,MAGJ,GAAII,EAAgBxF,KAAKoF,GACrB,MAGJ,GAAIM,EAAQ1F,KAAKlG,GACb,MAEJ,GAAIsL,EAASnP,OAAO,SAAWoP,IAAWD,EAAS3D,OAC/CsD,GAAgB,KAAOK,EAASlD,MAAMmD,OAErC,CAED,GAAIE,EACA,MAGJ,GAAIL,EAAKjP,OAAO,SAAW,EACvB,MAEJ,GAAI0P,EAAiB3F,KAAKkF,GACtB,MAEJ,GAAIU,EAAkB5F,KAAKkF,GACvB,MAEJ,GAAIQ,EAAQ1F,KAAKkF,GACb,MAEJH,GAAgB,KAAOK,CAC3B,CACKG,GAAcH,EAAS3D,SACxB8D,GAAY,GAEhBjD,GAAOuD,EAAU,KACjB/L,EAAMA,EAAI5B,UAAU2N,EAAQjQ,OAAS,GACrCsP,EAAOE,EAASlD,MAAMmD,EAC1B,CACJ,CACKd,EAAKK,QAEFI,EACAT,EAAKK,OAAQ,EAER,YAAY5E,KAAKsC,KACtB0C,GAAoB,IAG5B,IACIc,EADAC,EAAS,KAGTxT,KAAKmI,QAAQkE,MACbmH,EAAS,cAAcjF,KAAKiE,GACxBgB,IACAD,EAA0B,SAAdC,EAAO,GACnBhB,EAAeA,EAAa9E,QAAQ,eAAgB,MAG5DsE,EAAKM,MAAMpT,KAAK,CACZO,KAAM,YACNsQ,MACA0D,OAAQD,EACRE,QAASH,EACTlB,OAAO,EACPpC,KAAMuC,EACNnC,OAAQ,KAEZ2B,EAAKjC,KAAOA,CAChB,CAEAiC,EAAKM,MAAMN,EAAKM,MAAMjP,OAAS,GAAG0M,IAAMA,EAAI4D,UAC5C3B,EAAKM,MAAMN,EAAKM,MAAMjP,OAAS,GAAG4M,KAAOuC,EAAamB,UACtD3B,EAAKjC,IAAMiC,EAAKjC,IAAI4D,UAEpB,IAAK,IAAI1E,EAAI,EAAGA,EAAI+C,EAAKM,MAAMjP,OAAQ4L,IAGnC,GAFAjP,KAAKgQ,MAAME,MAAM4B,KAAM,EACvBE,EAAKM,MAAMrD,GAAGoB,OAASrQ,KAAKgQ,MAAM+B,YAAYC,EAAKM,MAAMrD,GAAGgB,KAAM,KAC7D+B,EAAKK,MAAO,CAEb,MAAMuB,EAAU5B,EAAKM,MAAMrD,GAAGoB,OAAO5G,QAAO3G,GAAgB,UAAXA,EAAErD,OAC7CoU,EAAwBD,EAAQvQ,OAAS,GAAKuQ,EAAQE,MAAKhR,GAAK,SAAS2K,KAAK3K,EAAEiN,OACtFiC,EAAKK,MAAQwB,CACjB,CAGJ,GAAI7B,EAAKK,MACL,IAAK,IAAIpD,EAAI,EAAGA,EAAI+C,EAAKM,MAAMjP,OAAQ4L,IACnC+C,EAAKM,MAAMrD,GAAGoD,OAAQ,EAG9B,OAAOL,CACX,CACJ,CACA,IAAAzE,CAAKhG,GACD,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAMpD,KAAKgB,KAAKhH,GACvC,GAAIsI,EAQA,MAPc,CACVpQ,KAAM,OACNkR,OAAO,EACPZ,IAAKF,EAAI,GACTkE,IAAgB,QAAXlE,EAAI,IAA2B,WAAXA,EAAI,IAA8B,UAAXA,EAAI,GACpDI,KAAMJ,EAAI,GAItB,CACA,GAAAmE,CAAIzM,GACA,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAMqD,IAAIzF,KAAKhH,GACtC,GAAIsI,EAAK,CACL,MAAMnH,EAAMmH,EAAI,GAAG/F,cAAc4D,QAAQ,OAAQ,KAC3CU,EAAOyB,EAAI,GAAKA,EAAI,GAAGnC,QAAQ,WAAY,MAAMA,QAAQ1N,KAAKwQ,MAAMe,OAAOC,SAAU,MAAQ,GAC7FhS,EAAQqQ,EAAI,GAAKA,EAAI,GAAGlK,UAAU,EAAGkK,EAAI,GAAGxM,OAAS,GAAGqK,QAAQ1N,KAAKwQ,MAAMe,OAAOC,SAAU,MAAQ3B,EAAI,GAC9G,MAAO,CACHpQ,KAAM,MACNiJ,MACAqH,IAAKF,EAAI,GACTzB,OACA5O,QAER,CACJ,CACA,KAAAyU,CAAM1M,GACF,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAMsD,MAAM1F,KAAKhH,GACxC,GAAIsI,EAAK,CACL,IAAK,OAAOpC,KAAKoC,EAAI,IAEjB,OAEJ,MAAMqE,EAAO,CACTzU,KAAM,QACNsQ,IAAKF,EAAI,GACTsE,OAAQ3F,GAAWqB,EAAI,IAAIxN,KAAIgN,IACpB,CAAEY,KAAMZ,EAAGgB,OAAQ,OAE9B+D,MAAOvE,EAAI,GAAGnC,QAAQ,aAAc,IAAIsB,MAAM,KAC9CqF,KAAMxE,EAAI,IAAMA,EAAI,GAAGX,OAASW,EAAI,GAAGnC,QAAQ,YAAa,IAAIsB,MAAM,MAAQ,IAElF,GAAIkF,EAAKC,OAAO9Q,SAAW6Q,EAAKE,MAAM/Q,OAAQ,CAC1C,IACI4L,EAAGqF,EAAGC,EAAGC,EADTjF,EAAI2E,EAAKE,MAAM/Q,OAEnB,IAAK4L,EAAI,EAAGA,EAAIM,EAAGN,IAAK,CACpB,MAAMmF,EAAQF,EAAKE,MAAMnF,GACrBmF,IACI,YAAY3G,KAAK2G,GACjBF,EAAKE,MAAMnF,GAAK,QAEX,aAAaxB,KAAK2G,GACvBF,EAAKE,MAAMnF,GAAK,SAEX,YAAYxB,KAAK2G,GACtBF,EAAKE,MAAMnF,GAAK,OAGhBiF,EAAKE,MAAMnF,GAAK,KAG5B,CAEA,IADAM,EAAI2E,EAAKG,KAAKhR,OACT4L,EAAI,EAAGA,EAAIM,EAAGN,IACfiF,EAAKG,KAAKpF,GAAKT,GAAW0F,EAAKG,KAAKpF,GAAIiF,EAAKC,OAAO9Q,QAAQhB,KAAIgN,IACrD,CAAEY,KAAMZ,EAAGgB,OAAQ,OAMlC,IADAd,EAAI2E,EAAKC,OAAO9Q,OACXiR,EAAI,EAAGA,EAAI/E,EAAG+E,IACfJ,EAAKC,OAAOG,GAAGjE,OAASrQ,KAAKgQ,MAAMuB,OAAO2C,EAAKC,OAAOG,GAAGrE,MAI7D,IADAV,EAAI2E,EAAKG,KAAKhR,OACTiR,EAAI,EAAGA,EAAI/E,EAAG+E,IAEf,IADAE,EAAMN,EAAKG,KAAKC,GACXC,EAAI,EAAGA,EAAIC,EAAInR,OAAQkR,IACxBC,EAAID,GAAGlE,OAASrQ,KAAKgQ,MAAMuB,OAAOiD,EAAID,GAAGtE,MAGjD,OAAOiE,CACX,CACJ,CACJ,CACA,QAAAO,CAASlN,GACL,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAM8D,SAASlG,KAAKhH,GAC3C,GAAIsI,EACA,MAAO,CACHpQ,KAAM,UACNsQ,IAAKF,EAAI,GACT8B,MAA4B,MAArB9B,EAAI,GAAGH,OAAO,GAAa,EAAI,EACtCO,KAAMJ,EAAI,GACVQ,OAAQrQ,KAAKgQ,MAAMuB,OAAO1B,EAAI,IAG1C,CACA,SAAA6E,CAAUnN,GACN,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAM+D,UAAUnG,KAAKhH,GAC5C,GAAIsI,EAAK,CACL,MAAMI,EAA4C,OAArCJ,EAAI,GAAGH,OAAOG,EAAI,GAAGxM,OAAS,GACrCwM,EAAI,GAAGF,MAAM,GAAI,GACjBE,EAAI,GACV,MAAO,CACHpQ,KAAM,YACNsQ,IAAKF,EAAI,GACTI,OACAI,OAAQrQ,KAAKgQ,MAAMuB,OAAOtB,GAElC,CACJ,CACA,IAAAA,CAAK1I,GACD,MAAMsI,EAAM7P,KAAKwQ,MAAMG,MAAMV,KAAK1B,KAAKhH,GACvC,GAAIsI,EACA,MAAO,CACHpQ,KAAM,OACNsQ,IAAKF,EAAI,GACTI,KAAMJ,EAAI,GACVQ,OAAQrQ,KAAKgQ,MAAMuB,OAAO1B,EAAI,IAG1C,CACA,MAAA8E,CAAOpN,GACH,MAAMsI,EAAM7P,KAAKwQ,MAAMe,OAAOoD,OAAOpG,KAAKhH,GAC1C,GAAIsI,EACA,MAAO,CACHpQ,KAAM,SACNsQ,IAAKF,EAAI,GACTI,KAAM,GAAOJ,EAAI,IAG7B,CACA,GAAAnH,CAAInB,GACA,MAAMsI,EAAM7P,KAAKwQ,MAAMe,OAAO7I,IAAI6F,KAAKhH,GACvC,GAAIsI,EAaA,OAZK7P,KAAKgQ,MAAME,MAAMC,QAAU,QAAQ1C,KAAKoC,EAAI,IAC7C7P,KAAKgQ,MAAME,MAAMC,QAAS,EAErBnQ,KAAKgQ,MAAME,MAAMC,QAAU,UAAU1C,KAAKoC,EAAI,MACnD7P,KAAKgQ,MAAME,MAAMC,QAAS,IAEzBnQ,KAAKgQ,MAAME,MAAM0E,YAAc,iCAAiCnH,KAAKoC,EAAI,IAC1E7P,KAAKgQ,MAAME,MAAM0E,YAAa,EAEzB5U,KAAKgQ,MAAME,MAAM0E,YAAc,mCAAmCnH,KAAKoC,EAAI,MAChF7P,KAAKgQ,MAAME,MAAM0E,YAAa,GAE3B,CACHnV,KAAM,OACNsQ,IAAKF,EAAI,GACTM,OAAQnQ,KAAKgQ,MAAME,MAAMC,OACzByE,WAAY5U,KAAKgQ,MAAME,MAAM0E,WAC7BjE,OAAO,EACPV,KAAMJ,EAAI,GAGtB,CACA,IAAAC,CAAKvI,GACD,MAAMsI,EAAM7P,KAAKwQ,MAAMe,OAAOzB,KAAKvB,KAAKhH,GACxC,GAAIsI,EAAK,CACL,MAAMgF,EAAahF,EAAI,GAAGX,OAC1B,IAAKlP,KAAKmI,QAAQoE,UAAY,KAAKkB,KAAKoH,GAAa,CAEjD,IAAM,KAAKpH,KAAKoH,GACZ,OAGJ,MAAMC,EAAa1F,GAAMyF,EAAWlF,MAAM,GAAI,GAAI,MAClD,IAAKkF,EAAWxR,OAASyR,EAAWzR,QAAU,GAAM,EAChD,MAER,KACK,CAED,MAAM0R,EA3ftB,SAA4BlG,EAAK5E,GAC7B,IAA2B,IAAvB4E,EAAInK,QAAQuF,EAAE,IACd,OAAQ,EAEZ,IAAIjB,EAAQ,EACZ,IAAK,IAAIiG,EAAI,EAAGA,EAAIJ,EAAIxL,OAAQ4L,IAC5B,GAAe,OAAXJ,EAAII,GACJA,SAEC,GAAIJ,EAAII,KAAOhF,EAAE,GAClBjB,SAEC,GAAI6F,EAAII,KAAOhF,EAAE,KAClBjB,IACIA,EAAQ,GACR,OAAOiG,EAInB,OAAQ,CACZ,CAueuC+F,CAAmBnF,EAAI,GAAI,MAClD,GAAIkF,GAAkB,EAAG,CACrB,MACME,GADgC,IAAxBpF,EAAI,GAAGnL,QAAQ,KAAa,EAAI,GACtBmL,EAAI,GAAGxM,OAAS0R,EACxClF,EAAI,GAAKA,EAAI,GAAGlK,UAAU,EAAGoP,GAC7BlF,EAAI,GAAKA,EAAI,GAAGlK,UAAU,EAAGsP,GAAS/F,OACtCW,EAAI,GAAK,EACb,CACJ,CACA,IAAIzB,EAAOyB,EAAI,GACXrQ,EAAQ,GACZ,GAAIQ,KAAKmI,QAAQoE,SAAU,CAEvB,MAAMuD,EAAO,gCAAgCvB,KAAKH,GAC9C0B,IACA1B,EAAO0B,EAAK,GACZtQ,EAAQsQ,EAAK,GAErB,MAEItQ,EAAQqQ,EAAI,GAAKA,EAAI,GAAGF,MAAM,GAAI,GAAK,GAY3C,OAVAvB,EAAOA,EAAKc,OACR,KAAKzB,KAAKW,KAGNA,EAFApO,KAAKmI,QAAQoE,WAAc,KAAKkB,KAAKoH,GAE9BzG,EAAKuB,MAAM,GAGXvB,EAAKuB,MAAM,GAAI,IAGvBC,GAAWC,EAAK,CACnBzB,KAAMA,EAAOA,EAAKV,QAAQ1N,KAAKwQ,MAAMe,OAAOC,SAAU,MAAQpD,EAC9D5O,MAAOA,EAAQA,EAAMkO,QAAQ1N,KAAKwQ,MAAMe,OAAOC,SAAU,MAAQhS,GAClEqQ,EAAI,GAAI7P,KAAKgQ,MACpB,CACJ,CACA,OAAAkF,CAAQ3N,EAAK4N,GACT,IAAItF,EACJ,IAAKA,EAAM7P,KAAKwQ,MAAMe,OAAO2D,QAAQ3G,KAAKhH,MAClCsI,EAAM7P,KAAKwQ,MAAMe,OAAO6D,OAAO7G,KAAKhH,IAAO,CAC/C,IAAIuI,GAAQD,EAAI,IAAMA,EAAI,IAAInC,QAAQ,OAAQ,KAE9C,GADAoC,EAAOqF,EAAMrF,EAAKhG,gBACbgG,EAAM,CACP,MAAMG,EAAOJ,EAAI,GAAGH,OAAO,GAC3B,MAAO,CACHjQ,KAAM,OACNsQ,IAAKE,EACLA,OAER,CACA,OAAOL,GAAWC,EAAKC,EAAMD,EAAI,GAAI7P,KAAKgQ,MAC9C,CACJ,CACA,QAAAqF,CAAS9N,EAAK+N,EAAWC,EAAW,IAChC,IAAI3G,EAAQ5O,KAAKwQ,MAAMe,OAAO8D,SAASG,OAAOjH,KAAKhH,GACnD,GAAKqH,KAGDA,EAAM,KAAM2G,EAAS3G,MAAM,qBAEdA,EAAM,KAAMA,EAAM,KACjB2G,GAAYvV,KAAKwQ,MAAMe,OAAOkE,YAAYlH,KAAKgH,IAAW,CAExE,MAAMG,EAAU,IAAI9G,EAAM,IAAIvL,OAAS,EACvC,IAAIsS,EAAQC,EAASC,EAAaH,EAASI,EAAgB,EAC3D,MAAMC,EAAyB,MAAhBnH,EAAM,GAAG,GAAa5O,KAAKwQ,MAAMe,OAAO8D,SAASW,UAAYhW,KAAKwQ,MAAMe,OAAO8D,SAASY,UAIvG,IAHAF,EAAOG,UAAY,EAEnBZ,EAAYA,EAAU3F,OAAO,EAAIpI,EAAIlE,OAASqS,GACH,OAAnC9G,EAAQmH,EAAOxH,KAAK+G,KAAqB,CAE7C,GADAK,EAAS/G,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IACtE+G,EACD,SAEJ,GADAC,EAAU,IAAID,GAAQtS,OAClBuL,EAAM,IAAMA,EAAM,GAAI,CACtBiH,GAAcD,EACd,QACJ,CACK,IAAIhH,EAAM,IAAMA,EAAM,KACnB8G,EAAU,MAAQA,EAAUE,GAAW,GAAI,CAC3CE,GAAiBF,EACjB,QACJ,CAGJ,GADAC,GAAcD,EACVC,EAAa,EACb,SAEJD,EAAU5U,KAAKkS,IAAI0C,EAASA,EAAUC,EAAaC,GAEnD,MAAMK,EAAiB,IAAIvH,EAAM,IAAI,GAAGvL,OAClC0M,EAAMxI,EAAIoI,MAAM,EAAG+F,EAAU9G,EAAMnK,MAAQ0R,EAAiBP,GAElE,GAAI5U,KAAKkS,IAAIwC,EAASE,GAAW,EAAG,CAChC,MAAM3F,EAAOF,EAAIJ,MAAM,GAAI,GAC3B,MAAO,CACHlQ,KAAM,KACNsQ,MACAE,OACAI,OAAQrQ,KAAKgQ,MAAMM,aAAaL,GAExC,CAEA,MAAMA,EAAOF,EAAIJ,MAAM,GAAI,GAC3B,MAAO,CACHlQ,KAAM,SACNsQ,MACAE,OACAI,OAAQrQ,KAAKgQ,MAAMM,aAAaL,GAExC,CACJ,CACJ,CACA,QAAAmG,CAAS7O,GACL,MAAMsI,EAAM7P,KAAKwQ,MAAMe,OAAOV,KAAKtC,KAAKhH,GACxC,GAAIsI,EAAK,CACL,IAAII,EAAOJ,EAAI,GAAGnC,QAAQ,MAAO,KACjC,MAAM2I,EAAmB,OAAO5I,KAAKwC,GAC/BqG,EAA0B,KAAK7I,KAAKwC,IAAS,KAAKxC,KAAKwC,GAK7D,OAJIoG,GAAoBC,IACpBrG,EAAOA,EAAKtK,UAAU,EAAGsK,EAAK5M,OAAS,IAE3C4M,EAAO,GAAOA,GAAM,GACb,CACHxQ,KAAM,WACNsQ,IAAKF,EAAI,GACTI,OAER,CACJ,CACA,EAAAsG,CAAGhP,GACC,MAAMsI,EAAM7P,KAAKwQ,MAAMe,OAAOgF,GAAGhI,KAAKhH,GACtC,GAAIsI,EACA,MAAO,CACHpQ,KAAM,KACNsQ,IAAKF,EAAI,GAGrB,CACA,GAAA2G,CAAIjP,GACA,MAAMsI,EAAM7P,KAAKwQ,MAAMe,OAAOiF,IAAIjI,KAAKhH,GACvC,GAAIsI,EACA,MAAO,CACHpQ,KAAM,MACNsQ,IAAKF,EAAI,GACTI,KAAMJ,EAAI,GACVQ,OAAQrQ,KAAKgQ,MAAMM,aAAaT,EAAI,IAGhD,CACA,QAAA4G,CAASlP,GACL,MAAMsI,EAAM7P,KAAKwQ,MAAMe,OAAOkF,SAASlI,KAAKhH,GAC5C,GAAIsI,EAAK,CACL,IAAII,EAAM7B,EASV,MARe,MAAXyB,EAAI,IACJI,EAAO,GAAOJ,EAAI,IAClBzB,EAAO,UAAY6B,IAGnBA,EAAO,GAAOJ,EAAI,IAClBzB,EAAO6B,GAEJ,CACHxQ,KAAM,OACNsQ,IAAKF,EAAI,GACTI,OACA7B,OACAiC,OAAQ,CACJ,CACI5Q,KAAM,OACNsQ,IAAKE,EACLA,SAIhB,CACJ,CACA,GAAAyG,CAAInP,GACA,IAAIsI,EACJ,GAAIA,EAAM7P,KAAKwQ,MAAMe,OAAOmF,IAAInI,KAAKhH,GAAM,CACvC,IAAI0I,EAAM7B,EACV,GAAe,MAAXyB,EAAI,GACJI,EAAO,GAAOJ,EAAI,IAClBzB,EAAO,UAAY6B,MAElB,CAED,IAAI0G,EACJ,GACIA,EAAc9G,EAAI,GAClBA,EAAI,GAAK7P,KAAKwQ,MAAMe,OAAOqF,WAAWrI,KAAKsB,EAAI,IAAI,SAC9C8G,IAAgB9G,EAAI,IAC7BI,EAAO,GAAOJ,EAAI,IAEdzB,EADW,SAAXyB,EAAI,GACG,UAAYA,EAAI,GAGhBA,EAAI,EAEnB,CACA,MAAO,CACHpQ,KAAM,OACNsQ,IAAKF,EAAI,GACTI,OACA7B,OACAiC,OAAQ,CACJ,CACI5Q,KAAM,OACNsQ,IAAKE,EACLA,SAIhB,CACJ,CACA,UAAA4G,CAAWtP,GACP,MAAMsI,EAAM7P,KAAKwQ,MAAMe,OAAOtB,KAAK1B,KAAKhH,GACxC,GAAIsI,EAAK,CACL,IAAII,EAOJ,OALIA,EADAjQ,KAAKgQ,MAAME,MAAM0E,WACV/E,EAAI,GAGJ,GAAOA,EAAI,IAEf,CACHpQ,KAAM,OACNsQ,IAAKF,EAAI,GACTI,OAER,CACJ,EAQJ,MAAMU,GAAQ,CACVC,QAAS,mBACTC,KAAM,uCACNE,OAAQ,8GACRa,GAAI,qEACJH,QAAS,uCACTI,WAAY,0CACZG,KAAM,uCACNzE,KAAM,mdAUNyG,IAAK,kGACLC,MAAO3F,GACPmG,SAAU,mEAGVqC,WAAY,uFACZ7G,KAAM,UAEVU,OAAe,8BACfA,OAAe,gEACfA,GAAMqD,IAAMnG,GAAK8C,GAAMqD,KAClBtG,QAAQ,QAASiD,GAAMoG,QACvBrJ,QAAQ,QAASiD,GAAMqG,QACvB9I,WACLyC,GAAMsG,OAAS,wBACftG,GAAMuG,cAAgBrJ,GAAK,iBACtBH,QAAQ,OAAQiD,GAAMsG,QACtB/I,WACLyC,GAAMqB,KAAOnE,GAAK8C,GAAMqB,MACnBtE,QAAQ,QAASiD,GAAMsG,QACvBvJ,QAAQ,KAAM,mEACdA,QAAQ,MAAO,UAAYiD,GAAMqD,IAAI/G,OAAS,KAC9CiB,WACLyC,GAAMwG,KAAO,gWAMbxG,GAAMyG,SAAW,+BACjBzG,GAAMpD,KAAOM,GAAK8C,GAAMpD,KAAM,KACzBG,QAAQ,UAAWiD,GAAMyG,UACzB1J,QAAQ,MAAOiD,GAAMwG,MACrBzJ,QAAQ,YAAa,4EACrBQ,WACLyC,GAAM8D,SAAW5G,GAAK8C,GAAM8D,UACvB/G,QAAQ,QAASiD,GAAMsG,QACvB/I,WACLyC,GAAM+D,UAAY7G,GAAK8C,GAAMmG,YACxBpJ,QAAQ,KAAMiD,GAAMiB,IACpBlE,QAAQ,UAAW,yBACnBA,QAAQ,YAAa,IACrBA,QAAQ,SAAU,IAClBA,QAAQ,aAAc,WACtBA,QAAQ,SAAU,kDAClBA,QAAQ,OAAQ,0BAChBA,QAAQ,OAAQ,+DAChBA,QAAQ,MAAOiD,GAAMwG,MACrBjJ,WACLyC,GAAMkB,WAAahE,GAAK8C,GAAMkB,YACzBnE,QAAQ,YAAaiD,GAAM+D,WAC3BxG,WAILyC,GAAM0G,OAAS,IAAK1G,IAIpBA,GAAMtE,IAAM,IACLsE,GAAM0G,OACTpD,MAAO,+JAIXtD,GAAMtE,IAAI4H,MAAQpG,GAAK8C,GAAMtE,IAAI4H,OAC5BvG,QAAQ,KAAMiD,GAAMiB,IACpBlE,QAAQ,UAAW,yBACnBA,QAAQ,aAAc,WACtBA,QAAQ,OAAQ,cAChBA,QAAQ,SAAU,kDAClBA,QAAQ,OAAQ,0BAChBA,QAAQ,OAAQ,+DAChBA,QAAQ,MAAOiD,GAAMwG,MACrBjJ,WACLyC,GAAMtE,IAAIqI,UAAY7G,GAAK8C,GAAMmG,YAC5BpJ,QAAQ,KAAMiD,GAAMiB,IACpBlE,QAAQ,UAAW,yBACnBA,QAAQ,YAAa,IACrBA,QAAQ,QAASiD,GAAMtE,IAAI4H,OAC3BvG,QAAQ,aAAc,WACtBA,QAAQ,SAAU,kDAClBA,QAAQ,OAAQ,0BAChBA,QAAQ,OAAQ,+DAChBA,QAAQ,MAAOiD,GAAMwG,MACrBjJ,WAILyC,GAAMpE,SAAW,IACVoE,GAAM0G,OACT9J,KAAMM,GAAK,8IAGNH,QAAQ,UAAWiD,GAAMyG,UACzB1J,QAAQ,OAAQ,qKAIhBQ,WACL8F,IAAK,oEACLvC,QAAS,yBACTV,OAAQzC,GACRmG,SAAU,mCACVC,UAAW7G,GAAK8C,GAAM0G,OAAOP,YACxBpJ,QAAQ,KAAMiD,GAAMiB,IACpBlE,QAAQ,UAAW,mBACnBA,QAAQ,WAAYiD,GAAM8D,UAC1B/G,QAAQ,aAAc,WACtBA,QAAQ,UAAW,IACnBA,QAAQ,QAAS,IACjBA,QAAQ,QAAS,IACjBQ,YAOT,MAAMqD,GAAS,CACXoD,OAAQ,8CACR8B,SAAU,sCACVC,IAAKpI,GACL5F,IAAK,2JAMLoH,KAAM,gDACNoF,QAAS,0BACTE,OAAQ,wBACRkC,cAAe,wBACfjC,SAAU,CACNG,OAAQ,oEAGRQ,UAAW,mPACXC,UAAW,8MAEfpF,KAAM,sCACN0F,GAAI,wBACJC,IAAKlI,GACL2B,KAAM,8EACNwF,YAAa,6BAGjBlE,aAAsB,mBACtBA,GAAOkE,YAAc5H,GAAK0D,GAAOkE,YAAa,KAAK/H,QAAQ,eAAgB6D,GAAOgG,cAAcrJ,WAEhGqD,GAAOiG,UAAY,gDACnBjG,GAAOkG,eAAiB,aACxBlG,GAAOC,SAAW,eAClBD,GAAO6F,SAAWvJ,GAAK8C,GAAMyG,UAAU1J,QAAQ,eAAa,UAAOQ,WACnEqD,GAAO8D,SAASG,OAAS3H,GAAK0D,GAAO8D,SAASG,OAAQ,KACjD9H,QAAQ,SAAU6D,GAAOgG,cACzBrJ,WACLqD,GAAO8D,SAASW,UAAYnI,GAAK0D,GAAO8D,SAASW,UAAW,MACvDtI,QAAQ,SAAU6D,GAAOgG,cACzBrJ,WACLqD,GAAO8D,SAASY,UAAYpI,GAAK0D,GAAO8D,SAASY,UAAW,MACvDvI,QAAQ,SAAU6D,GAAOgG,cACzBrJ,WACLqD,GAAOkG,eAAiB5J,GAAK0D,GAAOkG,eAAgB,MAC/C/J,QAAQ,SAAU6D,GAAOgG,cACzBrJ,WACLqD,GAAOC,SAAW3D,GAAK0D,GAAOC,SAAU,MACnC9D,QAAQ,SAAU6D,GAAOgG,cACzBrJ,WACLqD,GAAOmG,QAAU,+BACjBnG,GAAOoG,OAAS,+IAChBpG,GAAOkF,SAAW5I,GAAK0D,GAAOkF,UACzB/I,QAAQ,SAAU6D,GAAOmG,SACzBhK,QAAQ,QAAS6D,GAAOoG,QACxBzJ,WACLqD,GAAOqG,WAAa,8EACpBrG,GAAO7I,IAAMmF,GAAK0D,GAAO7I,KACpBgF,QAAQ,UAAW6D,GAAO6F,UAC1B1J,QAAQ,YAAa6D,GAAOqG,YAC5B1J,WACLqD,GAAOwF,OAAS,sDAChBxF,GAAOsG,MAAQ,uCACftG,GAAOyF,OAAS,8DAChBzF,GAAOzB,KAAOjC,GAAK0D,GAAOzB,MACrBpC,QAAQ,QAAS6D,GAAOwF,QACxBrJ,QAAQ,OAAQ6D,GAAOsG,OACvBnK,QAAQ,QAAS6D,GAAOyF,QACxB9I,WACLqD,GAAO2D,QAAUrH,GAAK0D,GAAO2D,SACxBxH,QAAQ,QAAS6D,GAAOwF,QACxBrJ,QAAQ,MAAOiD,GAAMoG,QACrB7I,WACLqD,GAAO6D,OAASvH,GAAK0D,GAAO6D,QACvB1H,QAAQ,MAAOiD,GAAMoG,QACrB7I,WACLqD,GAAO+F,cAAgBzJ,GAAK0D,GAAO+F,cAAe,KAC7C5J,QAAQ,UAAW6D,GAAO2D,SAC1BxH,QAAQ,SAAU6D,GAAO6D,QACzBlH,WAILqD,GAAO8F,OAAS,IAAK9F,IAIrBA,GAAOhF,SAAW,IACXgF,GAAO8F,OACVS,OAAQ,CACJ1F,MAAO,WACP2F,OAAQ,iEACRC,OAAQ,cACRC,OAAQ,YAEZC,GAAI,CACA9F,MAAO,QACP2F,OAAQ,6DACRC,OAAQ,YACRC,OAAQ,WAEZnI,KAAMjC,GAAK,2BACNH,QAAQ,QAAS6D,GAAOwF,QACxB7I,WACLgH,QAASrH,GAAK,iCACTH,QAAQ,QAAS6D,GAAOwF,QACxB7I,YAKTqD,GAAOlF,IAAM,IACNkF,GAAO8F,OACV1C,OAAQ9G,GAAK0D,GAAOoD,QAAQjH,QAAQ,KAAM,QAAQQ,WAClDiK,gBAAiB,4EACjBzB,IAAK,mEACLE,WAAY,6EACZJ,IAAK,+CACLvG,KAAM,8NAEVsB,GAAOlF,IAAIqK,IAAM7I,GAAK0D,GAAOlF,IAAIqK,IAAK,KACjChJ,QAAQ,QAAS6D,GAAOlF,IAAI8L,iBAC5BjK,WAILqD,GAAOpF,OAAS,IACToF,GAAOlF,IACVkK,GAAI1I,GAAK0D,GAAOgF,IAAI7I,QAAQ,OAAQ,KAAKQ,WACzC+B,KAAMpC,GAAK0D,GAAOlF,IAAI4D,MACjBvC,QAAQ,OAAQ,iBAChBA,QAAQ,UAAW,KACnBQ,YAMT,MAAMkK,GACF/H,OACAlI,QACA+H,MACAxD,UACA2L,YACA,WAAA5H,CAAYtI,GAGRnI,KAAKqQ,OAAS,GACdrQ,KAAKqQ,OAAO8E,MAAQmD,OAAOC,OAAO,MAClCvY,KAAKmI,QAAUA,GAAW8D,GAC1BjM,KAAKmI,QAAQuE,UAAY1M,KAAKmI,QAAQuE,WAAa,IAAI6D,GACvDvQ,KAAK0M,UAAY1M,KAAKmI,QAAQuE,UAC9B1M,KAAK0M,UAAUvE,QAAUnI,KAAKmI,QAC9BnI,KAAK0M,UAAUsD,MAAQhQ,KACvBA,KAAKqY,YAAc,GACnBrY,KAAKkQ,MAAQ,CACTC,QAAQ,EACRyE,YAAY,EACZ9C,KAAK,GAET,MAAMtB,EAAQ,CACVG,MAAOA,GAAM0G,OACb9F,OAAQA,GAAO8F,QAEfrX,KAAKmI,QAAQoE,UACbiE,EAAMG,MAAQA,GAAMpE,SACpBiE,EAAMe,OAASA,GAAOhF,UAEjBvM,KAAKmI,QAAQkE,MAClBmE,EAAMG,MAAQA,GAAMtE,IAChBrM,KAAKmI,QAAQgE,OACbqE,EAAMe,OAASA,GAAOpF,OAGtBqE,EAAMe,OAASA,GAAOlF,KAG9BrM,KAAK0M,UAAU8D,MAAQA,CAC3B,CAIA,gBAAWA,GACP,MAAO,CACHG,SACAY,UAER,CAIA,UAAOiH,CAAIjR,EAAKY,GAEZ,OADc,IAAIiQ,GAAOjQ,GACZqQ,IAAIjR,EACrB,CAIA,gBAAOkR,CAAUlR,EAAKY,GAElB,OADc,IAAIiQ,GAAOjQ,GACZmI,aAAa/I,EAC9B,CAIA,GAAAiR,CAAIjR,GAIA,IAAImR,EACJ,IAJAnR,EAAMA,EACDmG,QAAQ,WAAY,MACzB1N,KAAK+R,YAAYxK,EAAKvH,KAAKqQ,QAEpBqI,EAAO1Y,KAAKqY,YAAYlJ,SAC3BnP,KAAKsQ,aAAaoI,EAAKnR,IAAKmR,EAAKrI,QAErC,OAAOrQ,KAAKqQ,MAChB,CACA,WAAA0B,CAAYxK,EAAK8I,EAAS,IAStB,IAAID,EACAuI,EACAC,EACAC,EACJ,IAXItR,EADAvH,KAAKmI,QAAQoE,SACPhF,EAAImG,QAAQ,MAAO,QAAQA,QAAQ,SAAU,IAG7CnG,EAAImG,QAAQ,gBAAgB,CAACoL,EAAGC,EAASC,IACpCD,EAAU,OAAOnG,OAAOoG,EAAK3V,UAOrCkE,GACH,KAAIvH,KAAKmI,QAAQiE,YACVpM,KAAKmI,QAAQiE,WAAWuE,OACxB3Q,KAAKmI,QAAQiE,WAAWuE,MAAMmD,MAAMmF,MAC/B7I,EAAQ6I,EAAaC,KAAK,CAAElJ,MAAOhQ,MAAQuH,EAAK8I,MAChD9I,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,IACL,MAOnB,GAAIA,EAAQpQ,KAAK0M,UAAUgE,MAAMnJ,GAC7BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QACL,IAArB+M,EAAML,IAAI1M,QAAgBgN,EAAOhN,OAAS,EAG1CgN,EAAOA,EAAOhN,OAAS,GAAG0M,KAAO,KAGjCM,EAAOnR,KAAKkR,QAKpB,GAAIA,EAAQpQ,KAAK0M,UAAUmE,KAAKtJ,GAC5BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BsV,EAAYtI,EAAOA,EAAOhN,OAAS,IAE/BsV,GAAiC,cAAnBA,EAAUlZ,MAA2C,SAAnBkZ,EAAUlZ,KAM1D4Q,EAAOnR,KAAKkR,IALZuI,EAAU5I,KAAO,KAAOK,EAAML,IAC9B4I,EAAU1I,MAAQ,KAAOG,EAAMH,KAC/BjQ,KAAKqY,YAAYrY,KAAKqY,YAAYhV,OAAS,GAAGkE,IAAMoR,EAAU1I,WAQtE,GAAIG,EAAQpQ,KAAK0M,UAAUqE,OAAOxJ,GAC9BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAU+E,QAAQlK,GAC/BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAUkF,GAAGrK,GAC1BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAUmF,WAAWtK,GAClCA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAUsF,KAAKzK,GAC5BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAUa,KAAKhG,GAC5BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAUsH,IAAIzM,GAC3BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BsV,EAAYtI,EAAOA,EAAOhN,OAAS,IAC/BsV,GAAiC,cAAnBA,EAAUlZ,MAA2C,SAAnBkZ,EAAUlZ,KAKpDO,KAAKqQ,OAAO8E,MAAM/E,EAAM1H,OAC9B1I,KAAKqQ,OAAO8E,MAAM/E,EAAM1H,KAAO,CAC3B0F,KAAMgC,EAAMhC,KACZ5O,MAAO4Q,EAAM5Q,SAPjBmZ,EAAU5I,KAAO,KAAOK,EAAML,IAC9B4I,EAAU1I,MAAQ,KAAOG,EAAML,IAC/B/P,KAAKqY,YAAYrY,KAAKqY,YAAYhV,OAAS,GAAGkE,IAAMoR,EAAU1I,WAWtE,GAAIG,EAAQpQ,KAAK0M,UAAUuH,MAAM1M,GAC7BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAU+H,SAASlN,GAChCA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,OAFhB,CAQA,GADAwI,EAASrR,EACLvH,KAAKmI,QAAQiE,YAAcpM,KAAKmI,QAAQiE,WAAW+M,WAAY,CAC/D,IAAIC,EAAaC,IACjB,MAAMC,EAAU/R,EAAIoI,MAAM,GAC1B,IAAI4J,EACJvZ,KAAKmI,QAAQiE,WAAW+M,WAAWK,SAASC,IACxCF,EAAYE,EAAcP,KAAK,CAAElJ,MAAOhQ,MAAQsZ,GACvB,iBAAdC,GAA0BA,GAAa,IAC9CH,EAAapY,KAAKkS,IAAIkG,EAAYG,GACtC,IAEAH,EAAaC,KAAYD,GAAc,IACvCR,EAASrR,EAAI5B,UAAU,EAAGyT,EAAa,GAE/C,CACA,GAAIpZ,KAAKkQ,MAAM4B,MAAQ1B,EAAQpQ,KAAK0M,UAAUgI,UAAUkE,IACpDD,EAAYtI,EAAOA,EAAOhN,OAAS,GAC/BwV,GAA2C,cAAnBF,EAAUlZ,MAClCkZ,EAAU5I,KAAO,KAAOK,EAAML,IAC9B4I,EAAU1I,MAAQ,KAAOG,EAAMH,KAC/BjQ,KAAKqY,YAAYhU,MACjBrE,KAAKqY,YAAYrY,KAAKqY,YAAYhV,OAAS,GAAGkE,IAAMoR,EAAU1I,MAG9DI,EAAOnR,KAAKkR,GAEhByI,EAAwBD,EAAOvV,SAAWkE,EAAIlE,OAC9CkE,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,aAIlC,GAAI+M,EAAQpQ,KAAK0M,UAAUuD,KAAK1I,GAC5BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BsV,EAAYtI,EAAOA,EAAOhN,OAAS,GAC/BsV,GAAgC,SAAnBA,EAAUlZ,MACvBkZ,EAAU5I,KAAO,KAAOK,EAAML,IAC9B4I,EAAU1I,MAAQ,KAAOG,EAAMH,KAC/BjQ,KAAKqY,YAAYhU,MACjBrE,KAAKqY,YAAYrY,KAAKqY,YAAYhV,OAAS,GAAGkE,IAAMoR,EAAU1I,MAG9DI,EAAOnR,KAAKkR,QAIpB,GAAI7I,EAAK,CACL,MAAMmS,EAAS,0BAA4BnS,EAAIoS,WAAW,GAC1D,GAAI3Z,KAAKmI,QAAQsE,OAAQ,CACrB,EAAQzH,MAAM0U,GACd,KACJ,CAEI,MAAM,IAAIE,MAAMF,EAExB,CAzDA,CA4DJ,OADA1Z,KAAKkQ,MAAM4B,KAAM,EACVzB,CACX,CACA,MAAAkB,CAAOhK,EAAK8I,EAAS,IAEjB,OADArQ,KAAKqY,YAAYnZ,KAAK,CAAEqI,MAAK8I,WACtBA,CACX,CAIA,YAAAC,CAAa/I,EAAK8I,EAAS,IACvB,IAAID,EAAOuI,EAAWC,EAGlBhK,EACAiL,EAActE,EAFdD,EAAY/N,EAIhB,GAAIvH,KAAKqQ,OAAO8E,MAAO,CACnB,MAAMA,EAAQmD,OAAOwB,KAAK9Z,KAAKqQ,OAAO8E,OACtC,GAAIA,EAAM9R,OAAS,EACf,KAA8E,OAAtEuL,EAAQ5O,KAAK0M,UAAU8D,MAAMe,OAAO+F,cAAc/I,KAAK+G,KACvDH,EAAMjR,SAAS0K,EAAM,GAAGe,MAAMf,EAAM,GAAGmL,YAAY,KAAO,GAAI,MAC9DzE,EAAYA,EAAU3F,MAAM,EAAGf,EAAMnK,OAAS,IAAM,IAAImO,OAAOhE,EAAM,GAAGvL,OAAS,GAAK,IAAMiS,EAAU3F,MAAM3P,KAAK0M,UAAU8D,MAAMe,OAAO+F,cAAcpB,WAItK,CAEA,KAA0E,OAAlEtH,EAAQ5O,KAAK0M,UAAU8D,MAAMe,OAAOiG,UAAUjJ,KAAK+G,KACvDA,EAAYA,EAAU3F,MAAM,EAAGf,EAAMnK,OAAS,IAAM,IAAImO,OAAOhE,EAAM,GAAGvL,OAAS,GAAK,IAAMiS,EAAU3F,MAAM3P,KAAK0M,UAAU8D,MAAMe,OAAOiG,UAAUtB,WAGtJ,KAA+E,OAAvEtH,EAAQ5O,KAAK0M,UAAU8D,MAAMe,OAAOkG,eAAelJ,KAAK+G,KAC5DA,EAAYA,EAAU3F,MAAM,EAAGf,EAAMnK,OAAS,KAAO6Q,EAAU3F,MAAM3P,KAAK0M,UAAU8D,MAAMe,OAAOkG,eAAevB,WAEpH,KAAO3O,GAMH,GALKsS,IACDtE,EAAW,IAEfsE,GAAe,IAEX7Z,KAAKmI,QAAQiE,YACVpM,KAAKmI,QAAQiE,WAAWmF,QACxBvR,KAAKmI,QAAQiE,WAAWmF,OAAOuC,MAAMmF,MAChC7I,EAAQ6I,EAAaC,KAAK,CAAElJ,MAAOhQ,MAAQuH,EAAK8I,MAChD9I,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,IACL,MAOnB,GAAIA,EAAQpQ,KAAK0M,UAAUiI,OAAOpN,GAC9BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAUhE,IAAInB,GAC3BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BsV,EAAYtI,EAAOA,EAAOhN,OAAS,GAC/BsV,GAA4B,SAAfvI,EAAM3Q,MAAsC,SAAnBkZ,EAAUlZ,MAChDkZ,EAAU5I,KAAOK,EAAML,IACvB4I,EAAU1I,MAAQG,EAAMH,MAGxBI,EAAOnR,KAAKkR,QAKpB,GAAIA,EAAQpQ,KAAK0M,UAAUoD,KAAKvI,GAC5BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAUwI,QAAQ3N,EAAKvH,KAAKqQ,OAAO8E,OAChD5N,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BsV,EAAYtI,EAAOA,EAAOhN,OAAS,GAC/BsV,GAA4B,SAAfvI,EAAM3Q,MAAsC,SAAnBkZ,EAAUlZ,MAChDkZ,EAAU5I,KAAOK,EAAML,IACvB4I,EAAU1I,MAAQG,EAAMH,MAGxBI,EAAOnR,KAAKkR,QAKpB,GAAIA,EAAQpQ,KAAK0M,UAAU2I,SAAS9N,EAAK+N,EAAWC,GAChDhO,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAU0J,SAAS7O,GAChCA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAU6J,GAAGhP,GAC1BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAU8J,IAAIjP,GAC3BA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAIA,EAAQpQ,KAAK0M,UAAU+J,SAASlP,GAChCA,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,QAIhB,GAAKpQ,KAAKkQ,MAAMC,UAAWC,EAAQpQ,KAAK0M,UAAUgK,IAAInP,IAAtD,CAQA,GADAqR,EAASrR,EACLvH,KAAKmI,QAAQiE,YAAcpM,KAAKmI,QAAQiE,WAAW4N,YAAa,CAChE,IAAIZ,EAAaC,IACjB,MAAMC,EAAU/R,EAAIoI,MAAM,GAC1B,IAAI4J,EACJvZ,KAAKmI,QAAQiE,WAAW4N,YAAYR,SAASC,IACzCF,EAAYE,EAAcP,KAAK,CAAElJ,MAAOhQ,MAAQsZ,GACvB,iBAAdC,GAA0BA,GAAa,IAC9CH,EAAapY,KAAKkS,IAAIkG,EAAYG,GACtC,IAEAH,EAAaC,KAAYD,GAAc,IACvCR,EAASrR,EAAI5B,UAAU,EAAGyT,EAAa,GAE/C,CACA,GAAIhJ,EAAQpQ,KAAK0M,UAAUmK,WAAW+B,GAClCrR,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QACF,MAAxB+M,EAAML,IAAIJ,OAAO,KACjB4F,EAAWnF,EAAML,IAAIJ,OAAO,IAEhCkK,GAAe,EACflB,EAAYtI,EAAOA,EAAOhN,OAAS,GAC/BsV,GAAgC,SAAnBA,EAAUlZ,MACvBkZ,EAAU5I,KAAOK,EAAML,IACvB4I,EAAU1I,MAAQG,EAAMH,MAGxBI,EAAOnR,KAAKkR,QAIpB,GAAI7I,EAAK,CACL,MAAMmS,EAAS,0BAA4BnS,EAAIoS,WAAW,GAC1D,GAAI3Z,KAAKmI,QAAQsE,OAAQ,CACrB,EAAQzH,MAAM0U,GACd,KACJ,CAEI,MAAM,IAAIE,MAAMF,EAExB,CA3CA,MAHInS,EAAMA,EAAI5B,UAAUyK,EAAML,IAAI1M,QAC9BgN,EAAOnR,KAAKkR,GA+CpB,OAAOC,CACX,EAMJ,MAAM4J,GACF9R,QACA,WAAAsI,CAAYtI,GACRnI,KAAKmI,QAAUA,GAAW8D,EAC9B,CACA,IAAA4E,CAAKA,EAAMqJ,EAAYpL,GACnB,MAAMwC,GAAQ4I,GAAc,IAAItL,MAAM,UAAU,GAEhD,OADAiC,EAAOA,EAAKnD,QAAQ,MAAO,IAAM,KAC5B4D,EAKE,8BACD,GAAOA,GACP,MACCxC,EAAU+B,EAAO,GAAOA,GAAM,IAC/B,kBARK,eACA/B,EAAU+B,EAAO,GAAOA,GAAM,IAC/B,iBAOd,CACA,UAAAgB,CAAWsI,GACP,MAAO,iBAAiBA,kBAC5B,CACA,IAAA5M,CAAKA,EAAMoD,GACP,OAAOpD,CACX,CACA,OAAAkE,CAAQxB,EAAMjH,EAAO+G,GAEjB,MAAO,KAAK/G,KAASiH,OAAUjH,MACnC,CACA,EAAA4I,GACI,MAAO,QACX,CACA,IAAAI,CAAKoI,EAAMjI,EAASC,GAChB,MAAM3S,EAAO0S,EAAU,KAAO,KAE9B,MAAO,IAAM1S,GADK0S,GAAqB,IAAVC,EAAgB,WAAaA,EAAQ,IAAO,IAC1C,MAAQgI,EAAO,KAAO3a,EAAO,KAChE,CACA,QAAA4a,CAASpK,EAAMwD,EAAMC,GACjB,MAAO,OAAOzD,UAClB,CACA,QAAAqK,CAAS5G,GACL,MAAO,WACAA,EAAU,cAAgB,IAC3B,8BACV,CACA,SAAAgB,CAAUzE,GACN,MAAO,MAAMA,SACjB,CACA,KAAAgE,CAAME,EAAQiG,GAGV,OAFIA,IACAA,EAAO,UAAUA,aACd,qBAEDjG,EACA,aACAiG,EACA,YACV,CACA,QAAAG,CAASxS,GACL,MAAO,SAASA,UACpB,CACA,SAAAyS,CAAUzS,EAAS0S,GACf,MAAMhb,EAAOgb,EAAMtG,OAAS,KAAO,KAInC,OAHYsG,EAAMrG,MACZ,IAAI3U,YAAegb,EAAMrG,UACzB,IAAI3U,MACGsI,EAAU,KAAKtI,MAChC,CAIA,MAAAqY,CAAO7H,GACH,MAAO,WAAWA,YACtB,CACA,EAAAiI,CAAGjI,GACC,MAAO,OAAOA,QAClB,CACA,QAAAmG,CAASnG,GACL,MAAO,SAASA,UACpB,CACA,EAAAsG,GACI,MAAO,MACX,CACA,GAAAC,CAAIvG,GACA,MAAO,QAAQA,SACnB,CACA,IAAAH,CAAK1B,EAAM5O,EAAOyQ,GACd,MAAMyK,EAAYvM,GAASC,GAC3B,GAAkB,OAAdsM,EACA,OAAOzK,EAGX,IAAI0K,EAAM,aADVvM,EAAOsM,GACwB,IAK/B,OAJIlb,IACAmb,GAAO,WAAanb,EAAQ,KAEhCmb,GAAO,IAAM1K,EAAO,OACb0K,CACX,CACA,KAAAxT,CAAMiH,EAAM5O,EAAOyQ,GACf,MAAMyK,EAAYvM,GAASC,GAC3B,GAAkB,OAAdsM,EACA,OAAOzK,EAGX,IAAI0K,EAAM,aADVvM,EAAOsM,WAC8BzK,KAKrC,OAJIzQ,IACAmb,GAAO,WAAWnb,MAEtBmb,GAAO,IACAA,CACX,CACA,IAAA1K,CAAKA,GACD,OAAOA,CACX,EAOJ,MAAM2K,GAEF,MAAA9C,CAAO7H,GACH,OAAOA,CACX,CACA,EAAAiI,CAAGjI,GACC,OAAOA,CACX,CACA,QAAAmG,CAASnG,GACL,OAAOA,CACX,CACA,GAAAuG,CAAIvG,GACA,OAAOA,CACX,CACA,IAAA1C,CAAK0C,GACD,OAAOA,CACX,CACA,IAAAA,CAAKA,GACD,OAAOA,CACX,CACA,IAAAH,CAAK1B,EAAM5O,EAAOyQ,GACd,MAAO,GAAKA,CAChB,CACA,KAAA9I,CAAMiH,EAAM5O,EAAOyQ,GACf,MAAO,GAAKA,CAChB,CACA,EAAAsG,GACI,MAAO,EACX,EAMJ,MAAMsE,GACF1S,QACAqE,SACAsO,aACA,WAAArK,CAAYtI,GACRnI,KAAKmI,QAAUA,GAAW8D,GAC1BjM,KAAKmI,QAAQqE,SAAWxM,KAAKmI,QAAQqE,UAAY,IAAIyN,GACrDja,KAAKwM,SAAWxM,KAAKmI,QAAQqE,SAC7BxM,KAAKwM,SAASrE,QAAUnI,KAAKmI,QAC7BnI,KAAK8a,aAAe,IAAIF,EAC5B,CAIA,YAAOG,CAAM1K,EAAQlI,GAEjB,OADe,IAAI0S,GAAQ1S,GACb4S,MAAM1K,EACxB,CAIA,kBAAO2K,CAAY3K,EAAQlI,GAEvB,OADe,IAAI0S,GAAQ1S,GACb6S,YAAY3K,EAC9B,CAIA,KAAA0K,CAAM1K,EAAQyB,GAAM,GAChB,IAAI6I,EAAM,GACV,IAAK,IAAI1L,EAAI,EAAGA,EAAIoB,EAAOhN,OAAQ4L,IAAK,CACpC,MAAMmB,EAAQC,EAAOpB,GAErB,GAAIjP,KAAKmI,QAAQiE,YAAcpM,KAAKmI,QAAQiE,WAAW6O,WAAajb,KAAKmI,QAAQiE,WAAW6O,UAAU7K,EAAM3Q,MAAO,CAC/G,MAAMyb,EAAe9K,EACf+K,EAAMnb,KAAKmI,QAAQiE,WAAW6O,UAAUC,EAAazb,MAAMyZ,KAAK,CAAEkC,OAAQpb,MAAQkb,GACxF,IAAY,IAARC,IAAkB,CAAC,QAAS,KAAM,UAAW,OAAQ,QAAS,aAAc,OAAQ,OAAQ,YAAa,QAAQjX,SAASgX,EAAazb,MAAO,CAC9Ikb,GAAOQ,GAAO,GACd,QACJ,CACJ,CACA,OAAQ/K,EAAM3Q,MACV,IAAK,QACD,SAEJ,IAAK,KACDkb,GAAO3a,KAAKwM,SAASoF,KACrB,SAEJ,IAAK,UAAW,CACZ,MAAMyJ,EAAejL,EACrBuK,GAAO3a,KAAKwM,SAASiF,QAAQzR,KAAKgb,YAAYK,EAAahL,QAASgL,EAAa1J,MAAgB3R,KAAKgb,YAAYK,EAAahL,OAAQrQ,KAAK8a,cA3uDhJpN,QAAQC,IAAc,CAACmL,EAAGhN,IAExB,WADVA,EAAIA,EAAEhC,eAEK,IACS,MAAhBgC,EAAE4D,OAAO,GACc,MAAhB5D,EAAE4D,OAAO,GACVhQ,OAAO4b,aAAaC,SAASzP,EAAEnG,UAAU,GAAI,KAC7CjG,OAAO4b,cAAcxP,EAAEnG,UAAU,IAEpC,MAmuDK,QACJ,CACA,IAAK,OAAQ,CACT,MAAM6V,EAAYpL,EAClBuK,GAAO3a,KAAKwM,SAASqE,KAAK2K,EAAUvL,KAAMuL,EAAUlK,OAAQkK,EAAU1M,SACtE,QACJ,CACA,IAAK,QAAS,CACV,MAAM2M,EAAarL,EACnB,IAAI+D,EAAS,GAETuH,EAAO,GACX,IAAK,IAAIpH,EAAI,EAAGA,EAAImH,EAAWtH,OAAO9Q,OAAQiR,IAC1CoH,GAAQ1b,KAAKwM,SAASgO,UAAUxa,KAAKgb,YAAYS,EAAWtH,OAAOG,GAAGjE,QAAS,CAAE8D,QAAQ,EAAMC,MAAOqH,EAAWrH,MAAME,KAE3HH,GAAUnU,KAAKwM,SAAS+N,SAASmB,GACjC,IAAItB,EAAO,GACX,IAAK,IAAI9F,EAAI,EAAGA,EAAImH,EAAWpH,KAAKhR,OAAQiR,IAAK,CAC7C,MAAME,EAAMiH,EAAWpH,KAAKC,GAC5BoH,EAAO,GACP,IAAK,IAAInH,EAAI,EAAGA,EAAIC,EAAInR,OAAQkR,IAC5BmH,GAAQ1b,KAAKwM,SAASgO,UAAUxa,KAAKgb,YAAYxG,EAAID,GAAGlE,QAAS,CAAE8D,QAAQ,EAAOC,MAAOqH,EAAWrH,MAAMG,KAE9G6F,GAAQpa,KAAKwM,SAAS+N,SAASmB,EACnC,CACAf,GAAO3a,KAAKwM,SAASyH,MAAME,EAAQiG,GACnC,QACJ,CACA,IAAK,aAAc,CACf,MAAMuB,EAAkBvL,EAClBgK,EAAOpa,KAAK+a,MAAMY,EAAgBtL,QACxCsK,GAAO3a,KAAKwM,SAASqF,WAAWuI,GAChC,QACJ,CACA,IAAK,OAAQ,CACT,MAAMwB,EAAYxL,EACZ+B,EAAUyJ,EAAUzJ,QACpBC,EAAQwJ,EAAUxJ,MAClBC,EAAQuJ,EAAUvJ,MACxB,IAAI+H,EAAO,GACX,IAAK,IAAI9F,EAAI,EAAGA,EAAIsH,EAAUtJ,MAAMjP,OAAQiR,IAAK,CAC7C,MAAMJ,EAAO0H,EAAUtJ,MAAMgC,GACvBZ,EAAUQ,EAAKR,QACfD,EAAOS,EAAKT,KAClB,IAAIoI,EAAW,GACf,GAAI3H,EAAKT,KAAM,CACX,MAAM6G,EAAWta,KAAKwM,SAAS8N,WAAW5G,GACtCrB,EACI6B,EAAK7D,OAAOhN,OAAS,GAA6B,cAAxB6Q,EAAK7D,OAAO,GAAG5Q,MACzCyU,EAAK7D,OAAO,GAAGJ,KAAOqK,EAAW,IAAMpG,EAAK7D,OAAO,GAAGJ,KAClDiE,EAAK7D,OAAO,GAAGA,QAAU6D,EAAK7D,OAAO,GAAGA,OAAOhN,OAAS,GAAuC,SAAlC6Q,EAAK7D,OAAO,GAAGA,OAAO,GAAG5Q,OACtFyU,EAAK7D,OAAO,GAAGA,OAAO,GAAGJ,KAAOqK,EAAW,IAAMpG,EAAK7D,OAAO,GAAGA,OAAO,GAAGJ,OAI9EiE,EAAK7D,OAAOyL,QAAQ,CAChBrc,KAAM,OACNwQ,KAAMqK,EAAW,MAKzBuB,GAAYvB,EAAW,GAE/B,CACAuB,GAAY7b,KAAK+a,MAAM7G,EAAK7D,OAAQgC,GACpC+H,GAAQpa,KAAKwM,SAAS6N,SAASwB,EAAUpI,IAAQC,EACrD,CACAiH,GAAO3a,KAAKwM,SAASwF,KAAKoI,EAAMjI,EAASC,GACzC,QACJ,CACA,IAAK,OAAQ,CACT,MAAM2J,EAAY3L,EAClBuK,GAAO3a,KAAKwM,SAASe,KAAKwO,EAAU9L,KAAM8L,EAAUpL,OACpD,QACJ,CACA,IAAK,YAAa,CACd,MAAMqL,EAAiB5L,EACvBuK,GAAO3a,KAAKwM,SAASkI,UAAU1U,KAAKgb,YAAYgB,EAAe3L,SAC/D,QACJ,CACA,IAAK,OAAQ,CACT,IAAI4L,EAAY7L,EACZgK,EAAO6B,EAAU5L,OAASrQ,KAAKgb,YAAYiB,EAAU5L,QAAU4L,EAAUhM,KAC7E,KAAOhB,EAAI,EAAIoB,EAAOhN,QAAiC,SAAvBgN,EAAOpB,EAAI,GAAGxP,MAC1Cwc,EAAY5L,IAASpB,GACrBmL,GAAQ,MAAQ6B,EAAU5L,OAASrQ,KAAKgb,YAAYiB,EAAU5L,QAAU4L,EAAUhM,MAEtF0K,GAAO7I,EAAM9R,KAAKwM,SAASkI,UAAU0F,GAAQA,EAC7C,QACJ,CACA,QAAS,CACL,MAAMV,EAAS,eAAiBtJ,EAAM3Q,KAAO,wBAC7C,GAAIO,KAAKmI,QAAQsE,OAEb,OADA,EAAQzH,MAAM0U,GACP,GAGP,MAAM,IAAIE,MAAMF,EAExB,EAER,CACA,OAAOiB,CACX,CAIA,WAAAK,CAAY3K,EAAQ7D,GAChBA,EAAWA,GAAYxM,KAAKwM,SAC5B,IAAImO,EAAM,GACV,IAAK,IAAI1L,EAAI,EAAGA,EAAIoB,EAAOhN,OAAQ4L,IAAK,CACpC,MAAMmB,EAAQC,EAAOpB,GAErB,GAAIjP,KAAKmI,QAAQiE,YAAcpM,KAAKmI,QAAQiE,WAAW6O,WAAajb,KAAKmI,QAAQiE,WAAW6O,UAAU7K,EAAM3Q,MAAO,CAC/G,MAAM0b,EAAMnb,KAAKmI,QAAQiE,WAAW6O,UAAU7K,EAAM3Q,MAAMyZ,KAAK,CAAEkC,OAAQpb,MAAQoQ,GACjF,IAAY,IAAR+K,IAAkB,CAAC,SAAU,OAAQ,OAAQ,QAAS,SAAU,KAAM,WAAY,KAAM,MAAO,QAAQjX,SAASkM,EAAM3Q,MAAO,CAC7Hkb,GAAOQ,GAAO,GACd,QACJ,CACJ,CACA,OAAQ/K,EAAM3Q,MACV,IAAK,SAAU,CACX,MAAMyc,EAAc9L,EACpBuK,GAAOnO,EAASyD,KAAKiM,EAAYjM,MACjC,KACJ,CACA,IAAK,OAAQ,CACT,MAAMkM,EAAW/L,EACjBuK,GAAOnO,EAASe,KAAK4O,EAASlM,MAC9B,KACJ,CACA,IAAK,OAAQ,CACT,MAAMmM,EAAYhM,EAClBuK,GAAOnO,EAASsD,KAAKsM,EAAUhO,KAAMgO,EAAU5c,MAAOQ,KAAKgb,YAAYoB,EAAU/L,OAAQ7D,IACzF,KACJ,CACA,IAAK,QAAS,CACV,MAAM6P,EAAajM,EACnBuK,GAAOnO,EAASrF,MAAMkV,EAAWjO,KAAMiO,EAAW7c,MAAO6c,EAAWpM,MACpE,KACJ,CACA,IAAK,SAAU,CACX,MAAMqM,EAAclM,EACpBuK,GAAOnO,EAASsL,OAAO9X,KAAKgb,YAAYsB,EAAYjM,OAAQ7D,IAC5D,KACJ,CACA,IAAK,KAAM,CACP,MAAM+P,EAAUnM,EAChBuK,GAAOnO,EAAS0L,GAAGlY,KAAKgb,YAAYuB,EAAQlM,OAAQ7D,IACpD,KACJ,CACA,IAAK,WAAY,CACb,MAAMgQ,EAAgBpM,EACtBuK,GAAOnO,EAAS4J,SAASoG,EAAcvM,MACvC,KACJ,CACA,IAAK,KACD0K,GAAOnO,EAAS+J,KAChB,MAEJ,IAAK,MAAO,CACR,MAAMkG,EAAWrM,EACjBuK,GAAOnO,EAASgK,IAAIxW,KAAKgb,YAAYyB,EAASpM,OAAQ7D,IACtD,KACJ,CACA,IAAK,OAAQ,CACT,MAAMyP,EAAY7L,EAClBuK,GAAOnO,EAASyD,KAAKgM,EAAUhM,MAC/B,KACJ,CACA,QAAS,CACL,MAAMyJ,EAAS,eAAiBtJ,EAAM3Q,KAAO,wBAC7C,GAAIO,KAAKmI,QAAQsE,OAEb,OADA,EAAQzH,MAAM0U,GACP,GAGP,MAAM,IAAIE,MAAMF,EAExB,EAER,CACA,OAAOiB,CACX,EAGJ,MAAM+B,GACFvU,QACA,WAAAsI,CAAYtI,GACRnI,KAAKmI,QAAUA,GAAW8D,EAC9B,CACA0Q,wBAA0B,IAAIC,IAAI,CAC9B,aACA,gBAKJ,UAAAC,CAAWC,GACP,OAAOA,CACX,CAIA,WAAAC,CAAYxP,GACR,OAAOA,CACX,EAwRJ,MAAMyP,GAAiB,IArRvB,MACIC,SAh/DO,CACH/Q,OAAO,EACPC,QAAQ,EACRC,WAAY,KACZC,KAAK,EACLC,MAAO,KACPC,UAAU,EACVC,SAAU,KACVC,QAAQ,EACRC,UAAW,KACXC,WAAY,MAu+DhBxE,QAAUnI,KAAKkd,WACfnC,MAAQ/a,MAAK,EAAeoY,GAAOI,IAAKqC,GAAQE,OAChDC,YAAchb,MAAK,EAAeoY,GAAOK,UAAWoC,GAAQG,aAC5DmC,OAAStC,GACTO,OAASP,GAAQE,MACjBqC,SAAWnD,GACXoD,aAAezC,GACf0C,MAAQlF,GACRpI,MAAQoI,GAAOI,IACf+E,UAAYhN,GACZiN,MAAQd,GACR,WAAAjM,IAAegN,GACXzd,KAAK0d,OAAOD,EAChB,CAIA,UAAA9Q,CAAW0D,EAAQsN,GACf,IAAIC,EAAS,GACb,IAAK,MAAMxN,KAASC,EAEhB,OADAuN,EAASA,EAAOtZ,OAAOqZ,EAASzE,KAAKlZ,KAAMoQ,IACnCA,EAAM3Q,MACV,IAAK,QAAS,CACV,MAAMgc,EAAarL,EACnB,IAAK,MAAMsL,KAAQD,EAAWtH,OAC1ByJ,EAASA,EAAOtZ,OAAOtE,KAAK2M,WAAW+O,EAAKrL,OAAQsN,IAExD,IAAK,MAAMnJ,KAAOiH,EAAWpH,KACzB,IAAK,MAAMqH,KAAQlH,EACfoJ,EAASA,EAAOtZ,OAAOtE,KAAK2M,WAAW+O,EAAKrL,OAAQsN,IAG5D,KACJ,CACA,IAAK,OAAQ,CACT,MAAM/B,EAAYxL,EAClBwN,EAASA,EAAOtZ,OAAOtE,KAAK2M,WAAWiP,EAAUtJ,MAAOqL,IACxD,KACJ,CACA,QAAS,CACL,MAAMzC,EAAe9K,EACjBpQ,KAAKid,SAAS7Q,YAAYyR,cAAc3C,EAAazb,MACrDO,KAAKid,SAAS7Q,WAAWyR,YAAY3C,EAAazb,MAAM+Z,SAASqE,IAC7DD,EAASA,EAAOtZ,OAAOtE,KAAK2M,WAAWuO,EAAa2C,GAAcF,GAAU,IAG3EzC,EAAa7K,SAClBuN,EAASA,EAAOtZ,OAAOtE,KAAK2M,WAAWuO,EAAa7K,OAAQsN,IAEpE,EAGR,OAAOC,CACX,CACA,GAAAF,IAAOD,GACH,MAAMrR,EAAapM,KAAKid,SAAS7Q,YAAc,CAAE6O,UAAW,CAAC,EAAG4C,YAAa,CAAC,GAgJ9E,OA/IAJ,EAAKjE,SAASsE,IAEV,MAAMC,EAAO,IAAKD,GA8DlB,GA5DAC,EAAK7R,MAAQlM,KAAKid,SAAS/Q,OAAS6R,EAAK7R,QAAS,EAE9C4R,EAAK1R,aACL0R,EAAK1R,WAAWoN,SAASwE,IACrB,IAAKA,EAAI3e,KACL,MAAM,IAAIua,MAAM,2BAEpB,GAAI,aAAcoE,EAAK,CACnB,MAAMC,EAAe7R,EAAW6O,UAAU+C,EAAI3e,MAG1C+M,EAAW6O,UAAU+C,EAAI3e,MAFzB4e,EAEiC,YAAaR,GAC1C,IAAItC,EAAM6C,EAAIxR,SAAS0R,MAAMle,KAAMyd,GAInC,OAHY,IAARtC,IACAA,EAAM8C,EAAaC,MAAMle,KAAMyd,IAE5BtC,CACX,EAGiC6C,EAAIxR,QAE7C,CACA,GAAI,cAAewR,EAAK,CACpB,IAAKA,EAAIhV,OAAwB,UAAdgV,EAAIhV,OAAmC,WAAdgV,EAAIhV,MAC5C,MAAM,IAAI4Q,MAAM,+CAEpB,MAAMuE,EAAW/R,EAAW4R,EAAIhV,OAC5BmV,EACAA,EAASrC,QAAQkC,EAAItR,WAGrBN,EAAW4R,EAAIhV,OAAS,CAACgV,EAAItR,WAE7BsR,EAAI5L,QACc,UAAd4L,EAAIhV,MACAoD,EAAW+M,WACX/M,EAAW+M,WAAWja,KAAK8e,EAAI5L,OAG/BhG,EAAW+M,WAAa,CAAC6E,EAAI5L,OAGd,WAAd4L,EAAIhV,QACLoD,EAAW4N,YACX5N,EAAW4N,YAAY9a,KAAK8e,EAAI5L,OAGhChG,EAAW4N,YAAc,CAACgE,EAAI5L,QAI9C,CACI,gBAAiB4L,GAAOA,EAAIH,cAC5BzR,EAAWyR,YAAYG,EAAI3e,MAAQ2e,EAAIH,YAC3C,IAEJE,EAAK3R,WAAaA,GAGlB0R,EAAKtR,SAAU,CACf,MAAMA,EAAWxM,KAAKid,SAASzQ,UAAY,IAAIyN,GAAUja,KAAKid,UAC9D,IAAK,MAAMmB,KAAQN,EAAKtR,SAAU,CAC9B,MAAM6R,EAAeP,EAAKtR,SAAS4R,GAC7BE,EAAcF,EACdH,EAAezR,EAAS8R,GAE9B9R,EAAS8R,GAAe,IAAIb,KACxB,IAAItC,EAAMkD,EAAaH,MAAM1R,EAAUiR,GAIvC,OAHY,IAARtC,IACAA,EAAM8C,EAAaC,MAAM1R,EAAUiR,IAEhCtC,GAAO,EAAE,CAExB,CACA4C,EAAKvR,SAAWA,CACpB,CACA,GAAIsR,EAAKpR,UAAW,CAChB,MAAMA,EAAY1M,KAAKid,SAASvQ,WAAa,IAAI6D,GAAWvQ,KAAKid,UACjE,IAAK,MAAMmB,KAAQN,EAAKpR,UAAW,CAC/B,MAAM6R,EAAgBT,EAAKpR,UAAU0R,GAC/BI,EAAeJ,EACfK,EAAgB/R,EAAU8R,GAEhC9R,EAAU8R,GAAgB,IAAIf,KAC1B,IAAItC,EAAMoD,EAAcL,MAAMxR,EAAW+Q,GAIzC,OAHY,IAARtC,IACAA,EAAMsD,EAAcP,MAAMxR,EAAW+Q,IAElCtC,CAAG,CAElB,CACA4C,EAAKrR,UAAYA,CACrB,CAEA,GAAIoR,EAAKxR,MAAO,CACZ,MAAMA,EAAQtM,KAAKid,SAAS3Q,OAAS,IAAIoQ,GACzC,IAAK,MAAM0B,KAAQN,EAAKxR,MAAO,CAC3B,MAAMoS,EAAYZ,EAAKxR,MAAM8R,GACvBO,EAAWP,EACXQ,EAAWtS,EAAMqS,GACnBjC,GAAOmC,iBAAiBC,IAAIV,GAC5B9R,EAAMqS,GAAaI,IACf,GAAI/e,KAAKid,SAAS/Q,MACd,OAAO8S,QAAQC,QAAQP,EAAUxF,KAAK5M,EAAOyS,IAAMxd,MAAK4Z,GAC7CyD,EAAS1F,KAAK5M,EAAO6O,KAGpC,MAAMA,EAAMuD,EAAUxF,KAAK5M,EAAOyS,GAClC,OAAOH,EAAS1F,KAAK5M,EAAO6O,EAAI,EAIpC7O,EAAMqS,GAAY,IAAIlB,KAClB,IAAItC,EAAMuD,EAAUR,MAAM5R,EAAOmR,GAIjC,OAHY,IAARtC,IACAA,EAAMyD,EAASV,MAAM5R,EAAOmR,IAEzBtC,CAAG,CAGtB,CACA4C,EAAKzR,MAAQA,CACjB,CAEA,GAAIwR,EAAKnR,WAAY,CACjB,MAAMA,EAAa3M,KAAKid,SAAStQ,WAC3BuS,EAAiBpB,EAAKnR,WAC5BoR,EAAKpR,WAAa,SAAUyD,GACxB,IAAIwN,EAAS,GAKb,OAJAA,EAAO1e,KAAKggB,EAAehG,KAAKlZ,KAAMoQ,IAClCzD,IACAiR,EAASA,EAAOtZ,OAAOqI,EAAWuM,KAAKlZ,KAAMoQ,KAE1CwN,CACX,CACJ,CACA5d,KAAKid,SAAW,IAAKjd,KAAKid,YAAac,EAAM,IAE1C/d,IACX,CACA,UAAAkd,CAAWnP,GAEP,OADA/N,KAAKid,SAAW,IAAKjd,KAAKid,YAAalP,GAChC/N,IACX,CACA,GAAegQ,EAAOoL,GAClB,MAAO,CAAC7T,EAAKY,KACT,MAAMgX,EAAU,IAAKhX,GACf4F,EAAM,IAAK/N,KAAKid,YAAakC,IAEP,IAAxBnf,KAAKid,SAAS/Q,QAAoC,IAAlBiT,EAAQjT,QACnC6B,EAAItB,QACL,EAAQ2S,KAAK,sHAEjBrR,EAAI7B,OAAQ,GAEhB,MAAMmT,EAAarf,MAAK,IAAW+N,EAAItB,SAAUsB,EAAI7B,OAErD,GAAI,MAAO3E,EACP,OAAO8X,EAAW,IAAIzF,MAAM,mDAEhC,GAAmB,iBAARrS,EACP,OAAO8X,EAAW,IAAIzF,MAAM,wCACtBtB,OAAOgH,UAAU5Z,SAASwT,KAAK3R,GAAO,sBAKhD,GAHIwG,EAAIzB,QACJyB,EAAIzB,MAAMnE,QAAU4F,GAEpBA,EAAI7B,MACJ,OAAO8S,QAAQC,QAAQlR,EAAIzB,MAAQyB,EAAIzB,MAAMuQ,WAAWtV,GAAOA,GAC1DhG,MAAKgG,GAAOyI,EAAMzI,EAAKwG,KACvBxM,MAAK8O,GAAUtC,EAAIpB,WAAaqS,QAAQO,IAAIvf,KAAK2M,WAAW0D,EAAQtC,EAAIpB,aAAapL,MAAK,IAAM8O,IAAUA,IAC1G9O,MAAK8O,GAAU+K,EAAO/K,EAAQtC,KAC9BxM,MAAKgM,GAAQQ,EAAIzB,MAAQyB,EAAIzB,MAAMyQ,YAAYxP,GAAQA,IACvDxI,MAAMsa,GAEf,IACQtR,EAAIzB,QACJ/E,EAAMwG,EAAIzB,MAAMuQ,WAAWtV,IAE/B,MAAM8I,EAASL,EAAMzI,EAAKwG,GACtBA,EAAIpB,YACJ3M,KAAK2M,WAAW0D,EAAQtC,EAAIpB,YAEhC,IAAIY,EAAO6N,EAAO/K,EAAQtC,GAI1B,OAHIA,EAAIzB,QACJiB,EAAOQ,EAAIzB,MAAMyQ,YAAYxP,IAE1BA,CACX,CACA,MAAOjG,GACH,OAAO+X,EAAW/X,EACtB,EAER,CACA,GAASmF,EAAQP,GACb,OAAQ5E,IAEJ,GADAA,EAAEkY,SAAW,8DACT/S,EAAQ,CACR,MAAMgT,EAAM,iCACN,GAAOnY,EAAEkY,QAAU,IAAI,GACvB,SACN,OAAItT,EACO8S,QAAQC,QAAQQ,GAEpBA,CACX,CACA,GAAIvT,EACA,OAAO8S,QAAQU,OAAOpY,GAE1B,MAAMA,CAAC,CAEf,GAIJ,SAASqY,GAAOpY,EAAKwG,GACjB,OAAOiP,GAAejC,MAAMxT,EAAKwG,EACrC,CAMA4R,GAAOxX,QACHwX,GAAOzC,WAAa,SAAU/U,GAI1B,OAHA6U,GAAeE,WAAW/U,GAC1BwX,GAAO1C,SAAWD,GAAeC,SACjCrQ,GAAe+S,GAAO1C,UACf0C,EACX,EAIJA,GAAOC,YAxxEP,WACI,MAAO,CACH1T,OAAO,EACPC,QAAQ,EACRC,WAAY,KACZC,KAAK,EACLC,MAAO,KACPC,UAAU,EACVC,SAAU,KACVC,QAAQ,EACRC,UAAW,KACXC,WAAY,KAEpB,EA4wEAgT,GAAO1C,SAAWhR,GAIlB0T,GAAOjC,IAAM,YAAaD,GAItB,OAHAT,GAAeU,OAAOD,GACtBkC,GAAO1C,SAAWD,GAAeC,SACjCrQ,GAAe+S,GAAO1C,UACf0C,EACX,EAIAA,GAAOhT,WAAa,SAAU0D,EAAQsN,GAClC,OAAOX,GAAerQ,WAAW0D,EAAQsN,EAC7C,EAQAgC,GAAO3E,YAAcgC,GAAehC,YAIpC2E,GAAOxC,OAAStC,GAChB8E,GAAOvE,OAASP,GAAQE,MACxB4E,GAAOvC,SAAWnD,GAClB0F,GAAOtC,aAAezC,GACtB+E,GAAOrC,MAAQlF,GACfuH,GAAO3P,MAAQoI,GAAOI,IACtBmH,GAAOpC,UAAYhN,GACnBoP,GAAOnC,MAAQd,GACfiD,GAAO5E,MAAQ4E,GACCA,GAAOxX,QACJwX,GAAOzC,WACdyC,GAAOjC,IACAiC,GAAOhT,WACNgT,GAAO3E,Y,2BCjzE3B,MC9BoL,GD8BpL,CACA3b,KAAA,WACAE,MAAA,CACA0Q,KAAA,CACAxQ,KAAAC,OACAE,QAAA,KAGAiB,SAAA,CACAgf,cAAAA,GACA,MAAArT,EAAA,IAAAmT,GAAAvC,SA+BA,OA9BA5Q,EAAAsD,KAAA,SAAA1B,EAAA5O,EAAAyQ,GACA,IAAA6P,EACA,IACAA,EAAAC,mBAAAC,SAAA5R,IACAV,QAAA,cACA5D,aACA,OAAAxC,GACA,QACA,CAEA,OAAAwY,EAAApb,QAAA,cAAAob,EAAApb,QAAA,UACA,SAGA,IAAAiW,EAAA,YAAAvM,EAAA,8BAKA,OAJA5O,IACAmb,GAAA,WAAAnb,EAAA,KAEAmb,GAAA,IAAA1K,EAAA,OACA0K,CACA,EACAnO,EAAArF,MAAA,SAAAiH,EAAA5O,EAAAyQ,GACA,OAAAA,GAGAzQ,CACA,EACAgN,EAAAqF,WAAA,SAAAsI,GACA,OAAAA,CACA,EACA8F,KAAAA,SACAN,GAAA,KAAA1P,KAAAf,OAAA,CACA1C,WACAH,KAAA,EACA6T,WAAA,EACAC,QAAA,EACAhU,QAAA,EACAI,UAAA,EACA6T,UAAA,EACAC,YAAA,EACAC,aAAA,IAEA,CACAC,iBAAA,EACAC,aAAA,CACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,eAIA,I,gBE7FI,GAAU,CAAC,EAEf,GAAQpY,kBAAoB,IAC5B,GAAQC,cAAgB,IAElB,GAAQC,OAAS,SAAc,KAAM,QAE3C,GAAQC,OAAS,IACjB,GAAQC,mBAAqB,IAEhB,IAAI,KAAS,IAKJ,MAAW,KAAQC,QAAS,KAAQA,OCP1D,UAXgB,OACd,ICTW,WAAkB,IAAI1I,EAAIC,KAAqB,OAAOC,EAApBF,EAAIG,MAAMD,IAAa,MAAM,CAACG,YAAY,oBAAoBqgB,SAAS,CAAC,UAAY1gB,EAAIY,GAAGZ,EAAI8f,kBAC9I,GACsB,IDUpB,EACA,KACA,WACA,MAI8B,QEnBsJ,GC2JtL,CACAxgB,KAAA,aAEAuG,WAAA,CACA8a,SAAA,IACAC,SAAAA,IAEA5a,OAAA,CAAAC,EAAAuD,GAEAhK,MAAA,CACA4C,IAAA,CACA1C,KAAA6Y,OACAsI,UAAA,IAIAnf,KAAAA,KACA,CACA0B,sBAAA,IAIAtC,SAAA,CACAggB,WAAAA,GACA,8CAAA1e,IAAA/C,IACA,EACA0hB,OAAAA,GACA,YAAA3e,IAAA2e,QACAhe,EAAA,iCAAAie,SAAA,QAAA5e,IAAA2e,SAAAE,gBAEA,IACA,EACAC,MAAAA,GACA,4BAAA9e,IAAA8e,OACA,CACA,CACA,cAAA9e,IAAA8e,SAIA,KAAA9e,IAAA8e,OAAA,UACA,MAAA9e,IAAA8e,QAEA,KAAA9e,IAAA8e,MACA,EACA/e,SAAAA,GACA,YAAAC,IAAAC,OAAAC,KAAAC,IAAA,CAAAlD,GAAAkD,EAAAjD,KAAAiD,KACA,EACAF,MAAAA,GACA,YAAAI,OAAAC,QAAAye,UACAzX,QAAAnH,GAAA,aAAAA,EAAAlD,KACA2K,MAAA,CAAAC,EAAAC,IAAAD,EAAA3K,KAAA8hB,cAAAlX,EAAA5K,OACA,GAEA+D,OAAAA,GACA,KAAAjB,IAAAC,OAAAiB,OAAA,IACA,KAAAF,sBAAA,EAEA,G,gBC1MI,GAAU,CAAC,EAEf,GAAQiF,kBAAoB,IAC5B,GAAQC,cAAgB,IAElB,GAAQC,OAAS,SAAc,KAAM,QAE3C,GAAQC,OAAS,IACjB,GAAQC,mBAAqB,IAEhB,IAAI,KAAS,IAKJ,MAAW,KAAQC,QAAS,KAAQA,OCP1D,UAXgB,OACd,IVTW,WAAkB,IAAI1I,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAAEL,EAAIoC,IAAIgH,QAAUpJ,EAAIiE,iBAAiBjE,EAAIoC,KAAMlC,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACH,EAAG,QAAQ,CAACmhB,WAAW,CAAC,CAAC/hB,KAAK,QAAQgiB,QAAQ,UAAUC,MAAOvhB,EAAIoD,qBAAsBoe,WAAW,yBAAyBnhB,YAAY,mCAAmCC,MAAM,CAAC,GAAKN,EAAI+H,OAAO,gBAAiB/H,EAAIoC,IAAI/C,IAAI,KAAO,YAAYqhB,SAAS,CAAC,MAAQ1gB,EAAIoC,IAAI/C,GAAG,QAAUoiB,MAAMC,QAAQ1hB,EAAIoD,sBAAsBpD,EAAI2hB,GAAG3hB,EAAIoD,qBAAqBpD,EAAIoC,IAAI/C,KAAK,EAAGW,EAAIoD,sBAAuB7C,GAAG,CAAC,OAAS,CAAC,SAASC,GAAQ,IAAIohB,EAAI5hB,EAAIoD,qBAAqBye,EAAKrhB,EAAOshB,OAAOC,IAAIF,EAAKlO,QAAuB,GAAG8N,MAAMC,QAAQE,GAAK,CAAC,IAAII,EAAIhiB,EAAIoC,IAAI/C,GAAG4iB,EAAIjiB,EAAI2hB,GAAGC,EAAII,GAAQH,EAAKlO,QAASsO,EAAI,IAAIjiB,EAAIoD,qBAAqBwe,EAAIrd,OAAO,CAACyd,KAAYC,GAAK,IAAIjiB,EAAIoD,qBAAqBwe,EAAIhS,MAAM,EAAEqS,GAAK1d,OAAOqd,EAAIhS,MAAMqS,EAAI,IAAK,MAAMjiB,EAAIoD,qBAAqB2e,CAAI,EAAE/hB,EAAI+D,kBAAkB/D,EAAIW,GAAG,KAAKT,EAAG,QAAQ,CAACI,MAAM,CAAC,IAAMN,EAAI+H,OAAO,gBAAiB/H,EAAIoC,IAAI/C,MAAM,CAACW,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,uBAAuB/C,EAAIW,GAAG,KAAKT,EAAG,QAAQ,CAACG,YAAY,eAAeC,MAAM,CAAC,KAAO,SAAS,MAAQN,EAAI+C,EAAE,WAAY,OAAO,MAAQ,MAAM/C,EAAIW,GAAG,KAAKT,EAAG,MAAMF,EAAIW,GAAG,KAAKT,EAAG,QAAQ,CAACI,MAAM,CAAC,IAAM,kBAAkB,CAACJ,EAAG,OAAO,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,mCAAmC/C,EAAIW,GAAG,KAAMX,EAAI8D,kBAAkB9D,EAAIoC,KAAMlC,EAAG,WAAW,CAACI,MAAM,CAAC,WAAW,gBAAgB,QAAUN,EAAIqC,OAAO,MAAQrC,EAAImC,UAAU,MAAQ,EAAE,MAAQ,OAAO,UAAW,EAAK,mBAAkB,GAAO5B,GAAG,CAAC,kBAAkBP,EAAIoE,mBAAmB,oBAAoBpE,EAAIwE,sBAAsB,OAASxE,EAAIwD,iBAAiB,CAACtD,EAAG,OAAO,CAACI,MAAM,CAAC,KAAO,YAAY4hB,KAAK,YAAY,CAACliB,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,oBAAoB/C,EAAIa,MAAM,GAAGb,EAAIa,KAAKb,EAAIW,GAAG,KAAKT,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAAEL,EAAIoC,IAAImD,OAAQrF,EAAG,QAAQ,CAACG,YAAY,iBAAiBC,MAAM,CAAC,KAAO,SAAS,MAAQN,EAAI+C,EAAE,WAAY,sBAAuB,CAAEiG,QAAShJ,EAAIoC,IAAImD,SAAU,SAAWvF,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIuF,OAAOvF,EAAIoC,IAAI/C,GAAG,KAAKW,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAI+G,aAAcjJ,EAAG,QAAQ,CAACG,YAAY,YAAYC,MAAM,CAAC,KAAO,SAAS,MAAQN,EAAI+C,EAAE,WAAY,UAAU,SAAW/C,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIqF,OAAOrF,EAAIoC,IAAI/C,GAAG,KAAKW,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAIgH,OAAQlJ,EAAG,QAAQ,CAACG,YAAY,SAASC,MAAM,CAAC,KAAO,SAAS,MAAQN,EAAI+C,EAAE,WAAW,WAAW,SAAW/C,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIoF,QAAQpF,EAAIoC,IAAI/C,GAAG,KAAKW,EAAIa,KAAKb,EAAIW,GAAG,KAAOX,EAAIoC,IAAIgH,SAAWpJ,EAAIoC,IAAIiH,aAAcrJ,EAAIoC,IAAIkH,aAAqTtJ,EAAIoC,IAAIgH,QAAWpJ,EAAIoC,IAAIiH,WAA2SrJ,EAAIa,KAAnSX,EAAG,QAAQ,CAACG,YAAY,eAAeC,MAAM,CAAC,MAAQN,EAAIkD,yBAAyB,aAAalD,EAAIkD,yBAAyB,KAAO,SAAS,MAAQlD,EAAIgD,sBAAsB,SAAWhD,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAI6E,YAAY7E,EAAIoC,IAAI/C,GAAG,KAAvmBa,EAAG,QAAQ,CAACG,YAAY,iBAAiBC,MAAM,CAAC,MAAQN,EAAIiD,oBAAoB,aAAajD,EAAIiD,oBAAoB,KAAO,SAAS,MAAQjD,EAAI6C,iBAAiB,UAAY7C,EAAIoC,IAAIiH,YAAcrJ,EAAIwC,YAAcxC,EAAI4C,WAAWrC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAImF,OAAOnF,EAAIoC,IAAI/C,GAAG,SAA0VW,EAAIW,GAAG,KAAKT,EAAG,KAAK,CAACG,YAAY,6BAA6B,CAAEL,EAAIoC,IAAI+f,0BAA2BjiB,EAAG,KAAK,CAACF,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,6FAA6F,YAAY/C,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAIggB,0BAA2BliB,EAAG,KAAK,CAACF,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,6FAA6F,YAAY/C,EAAIa,KAAKb,EAAIW,GAAG,KAAOX,EAAIoC,IAAIiH,WAA8VrJ,EAAIa,KAAtVX,EAAG,KAAK,CAACF,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,uFAAuF,YAAY7C,EAAG,KAAK,CAACG,YAAY,wBAAwBL,EAAIiM,GAAIjM,EAAIoC,IAAIigB,qBAAqB,SAASC,EAAI5d,GAAO,OAAOxE,EAAG,KAAK,CAAC8L,IAAItH,GAAO,CAAC1E,EAAIW,GAAG,eAAeX,EAAIY,GAAG0hB,GAAK,eAAe,IAAG,OAAgBtiB,EAAIW,GAAG,KAAKT,EAAG,IAAI,CAACG,YAAY,8BAA8B,CAAGL,EAAIoC,IAAImgB,SAAkLviB,EAAIa,KAA5KX,EAAG,IAAI,CAACG,YAAY,WAAWC,MAAM,CAAC,KAAON,EAAI8gB,YAAY,OAAS,SAAS,IAAM,wBAAwB,CAAC9gB,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,kBAAkB,QAAiB/C,EAAIW,GAAG,KAAMX,EAAIoC,IAAIogB,QAAStiB,EAAG,IAAI,CAACG,YAAY,WAAWC,MAAM,CAAC,KAAON,EAAIoC,IAAIogB,QAAQ,OAAS,SAAS,IAAM,wBAAwB,CAACxiB,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,kBAAkB,QAAQ/C,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAIqgB,KAAMviB,EAAG,IAAI,CAACG,YAAY,WAAWC,MAAM,CAAC,KAAON,EAAIoC,IAAIqgB,KAAK,OAAS,SAAS,IAAM,wBAAwB,CAACziB,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,iBAAiB,QAAQ/C,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAIsgB,eAAiB1iB,EAAIoC,IAAIsgB,cAAcC,KAAMziB,EAAG,IAAI,CAACG,YAAY,WAAWC,MAAM,CAAC,KAAON,EAAIoC,IAAIsgB,cAAcC,KAAK,OAAS,SAAS,IAAM,wBAAwB,CAAC3iB,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,uBAAuB,QAAQ/C,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAIsgB,eAAiB1iB,EAAIoC,IAAIsgB,cAAcE,MAAO1iB,EAAG,IAAI,CAACG,YAAY,WAAWC,MAAM,CAAC,KAAON,EAAIoC,IAAIsgB,cAAcE,MAAM,OAAS,SAAS,IAAM,wBAAwB,CAAC5iB,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,wBAAwB,QAAQ/C,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIoC,IAAIsgB,eAAiB1iB,EAAIoC,IAAIsgB,cAAcG,UAAW3iB,EAAG,IAAI,CAACG,YAAY,WAAWC,MAAM,CAAC,KAAON,EAAIoC,IAAIsgB,cAAcG,UAAU,OAAS,SAAS,IAAM,wBAAwB,CAAC7iB,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,4BAA4B,QAAQ/C,EAAIa,OAAOb,EAAIW,GAAG,KAAKT,EAAG,WAAW,CAACG,YAAY,2BAA2BC,MAAM,CAAC,KAAON,EAAIoC,IAAI0gB,gBAAgB,EAC/uL,GACsB,IUUpB,EACA,KACA,WACA,MAI8B,Q,gBCkJhCC,EAAAA,QAAApF,IAAAqF,KAEA,MCvKgL,GDuKhL,CACA1jB,KAAA,OACA2jB,kBAAA,KACApd,WAAA,CACAqd,aAAA,IACAC,WAAA,GACAC,QAAA,EACAC,iBAAA,EACAC,gBAAA,IACAC,oBAAA,IACAC,sBAAA,IACAC,gBAAA,IACA3d,SAAA,EACA4d,aAAA,IACAC,gBAAA,IACAC,UAAA,IACAhD,SAAAA,IAGA5a,OAAA,CAAAC,GAEAzG,MAAA,CACA2G,SAAA,CACAzG,KAAAC,OACAE,QAAA,aAEAR,GAAA,CACAK,KAAAC,OACAE,QAAA,KAIA6B,KAAAA,KACA,CACAmiB,YAAA,GACAnd,kBAAA,IAIA5F,SAAA,CACA6B,OAAAA,GACA,YAAAF,OAAAC,QAAAC,QAAA,aACA,EACAmhB,WAAAA,GACA,YAAArhB,OAAAC,QAAAC,QAAA,OACA,EACAP,GAAAA,GACA,YAAAL,KAAAkJ,MAAA7I,GAAAA,EAAA/C,KAAA,KAAAA,IACA,EACA0kB,UAAAA,GACA,YAAAthB,OAAAC,QAAAshB,aACA,EACAjiB,IAAAA,GACA,YAAAU,OAAAC,QAAAoH,UACA,EACAma,WAAAA,GACA,YAAAxhB,OAAAC,QAAAwhB,cACA,EACAC,QAAAA,GACA,YAAA1hB,OAAAC,QAAAkI,aACA,EAEAjE,SAAAA,GACA,YAAAvE,IAAAwE,cAAA,KAAAxE,IAAAwE,aAAAC,iBAAA,CACA,EAGAud,UAAAA,GACA,MAAAC,EAAAC,GACAA,EAAA,UAEAA,EAAA,UAIAA,EAGApD,EAAAO,MAAAC,QAAA,KAAAtf,IAAA8e,QACA,KAAA9e,IAAA8e,OAAA5e,IAAA+hB,GAAAlc,KAAA,MACAkc,EAAA,KAAAjiB,IAAA8e,QACAF,EAAAje,EAAA,iCAAAie,SAAA,QAAA5e,IAAA2e,SAAAE,gBAEAsD,EAAAxhB,EAAA,qCAAAme,SAAAF,YAEA,OACAwD,WAAA,KAAApiB,IAAA+E,YAAA,KAAAT,iBACA,KAAAtE,IAAA+E,WACA,KAAA/E,IAAA0G,QACA2b,UAAA,KAAAriB,IAAA+E,YAAA,KAAAT,kBACApH,KAAA,KAAA8C,IAAA9C,KACAilB,UAEA,EACAG,UAAAA,IACAC,GAAAA,EAAAC,aAAAC,GAAAH,UAKAI,YAAAA,GAEA,YAAA/iB,KAAAgS,MAAA3R,GAAA,MAAAA,EAAA6G,OACA,GAGAlC,MAAA,CACAZ,QAAAA,GACA,KAAA0d,YAAA,EACA,EAEAzhB,GAAAA,GAEA,GADA,KAAAsE,kBAAA,EACA,KAAAtE,KAAA8E,UAAA,KAAA9E,KAAA+E,WAAA,CACA,MAAAC,EAAA,IAAAC,MACAD,EAAAE,OAAAC,IACA,KAAAb,kBAAA,GAEAU,EAAAI,IAAA,KAAApF,IAAA+E,UACA,CACA,GAGA4d,WAAAA,GACA,KAAAtiB,OAAAiB,SAAA,iBAAAshB,yBAAA,IACA,KAAAviB,OAAAiB,SAAA,cACA,KAAAjB,OAAAiB,SAAA,aAAAG,OAAA,EAAAD,MAAA,IACA,KAAAnB,OAAAwiB,OAAA,sBAAAxiB,OAAAC,QAAAkI,cAAAqZ,YACA,EAEA5gB,OAAAA,IACA6hB,EAAAA,EAAAA,IAAA,uCAAAC,YACAD,EAAAA,EAAAA,IAAA,sCAAAE,YACA,EACAC,aAAAA,IACAC,EAAAA,EAAAA,IAAA,uCAAAH,YACAG,EAAAA,EAAAA,IAAA,sCAAAF,YACA,EAEA7hB,QAAA,CACA4hB,SAAAA,CAAA1jB,GAAA,UAAAgC,GAAAhC,EACA,KAAAoiB,YAAApgB,CACA,EACA2hB,WAAAA,GACA,KAAAvB,YAAA,EACA,EAEA0B,cAAAA,GACA,KAAAzd,QAAA3I,KAAA,CACAG,KAAA,gBACA2H,OAAA,CAAAd,SAAA,KAAAA,WAEA,EACAqf,0BAAAA,GACAxjB,OAAAyjB,KAAA,KAAAtB,SAAAuB,uBACA,I,gBEvTI,GAAU,CAAC,EAEf,GAAQrd,kBAAoB,IAC5B,GAAQC,cAAgB,IAElB,GAAQC,OAAS,SAAc,KAAM,QAE3C,GAAQC,OAAS,IACjB,GAAQC,mBAAqB,IAEhB,IAAI,KAAS,IAKJ,MAAW,KAAQC,QAAS,KAAQA,OCP1D,UAXgB,OACd,IxCTW,WAAkB,IAAI1I,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,YAAY,CAAC0I,MAAM,CAAE,mBAAoB5I,EAAIoC,KAAK9B,MAAM,CAAC,WAAW,aAAa,CAACJ,EAAG,kBAAkB,CAAC0I,MAAM,CAAE,eAAgB5I,EAAI2C,SAAUgjB,YAAY3lB,EAAI4lB,GAAG,CAAC,CAAC5Z,IAAI,OAAO6Z,GAAG,WAAW,MAAO,CAAC3lB,EAAG,sBAAsB,CAACI,MAAM,CAAC,GAAK,yBAAyB,GAAK,CAAEhB,KAAM,QAAS,OAAQ,EAAK,KAAO,0BAA0B,KAAOU,EAAI+C,EAAE,WAAY,gBAAgB/C,EAAIW,GAAG,KAAKT,EAAG,sBAAsB,CAACI,MAAM,CAAC,GAAK,uBAAuB,GAAK,CAAEhB,KAAM,gBAAiB2H,OAAQ,CAAEd,SAAU,YAAc,KAAO,wBAAwB,KAAOnG,EAAI8lB,SAAS7C,kBAAkB8C,WAAW/lB,EAAIW,GAAG,KAAKT,EAAG,sBAAsB,CAACI,MAAM,CAAC,GAAK,wBAAwB,GAAK,CAAEhB,KAAM,gBAAiB2H,OAAQ,CAAEd,SAAU,aAAe,KAAO,yBAAyB,KAAOnG,EAAI8lB,SAAS7C,kBAAkB+C,YAAYhmB,EAAIW,GAAG,KAAMX,EAAIikB,YAAc,EAAG/jB,EAAG,sBAAsB,CAACI,MAAM,CAAC,GAAK,uBAAuB,GAAK,CAAEhB,KAAM,gBAAiB2H,OAAQ,CAAEd,SAAU,YAAc,KAAO,gBAAgB,KAAOnG,EAAI8lB,SAAS7C,kBAAkBgD,SAASN,YAAY3lB,EAAI4lB,GAAG,CAAC,CAAC5Z,IAAI,UAAU6Z,GAAG,WAAW,MAAO,CAAC3lB,EAAG,kBAAkB,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIikB,gBAAgB,EAAEiC,OAAM,IAAO,MAAK,EAAM,YAAYlmB,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAI8kB,aAAc5kB,EAAG,sBAAsB,CAACI,MAAM,CAAC,GAAK,yBAAyB,GAAK,CAAEhB,KAAM,gBAAiB2H,OAAQ,CAAEd,SAAU,cAAgB,KAAOnG,EAAI8lB,SAAS7C,kBAAkBkD,WAAWR,YAAY3lB,EAAI4lB,GAAG,CAAC,CAAC5Z,IAAI,OAAO6Z,GAAG,WAAW,MAAO,CAAC3lB,EAAG,mBAAmB,CAACI,MAAM,CAAC,KAAO,MAAM,EAAE4lB,OAAM,IAAO,MAAK,EAAM,aAAalmB,EAAIa,KAAKb,EAAIW,GAAG,KAAKT,EAAG,sBAAsB,CAACI,MAAM,CAAC,GAAK,4BAA4B,GAAK,CAAEhB,KAAM,gBAAiB2H,OAAQ,CAAEd,SAAU,gBAAkB,KAAO,4BAA4B,KAAOnG,EAAI8lB,SAAS7C,kBAAkB,kBAAkBjjB,EAAIW,GAAG,KAAKT,EAAG,yBAAyBF,EAAIW,GAAG,KAAMX,EAAImkB,SAASiC,gBAAiB,CAAClmB,EAAG,sBAAsB,CAACI,MAAM,CAAC,GAAK,wBAAwB,GAAK,CAAEhB,KAAM,gBAAiB2H,OAAQ,CAAEd,SAAU,aAAe,KAAO,gBAAgB,KAAOnG,EAAI8lB,SAAS7C,kBAAkBoD,YAAYrmB,EAAIW,GAAG,KAAKX,EAAIiM,GAAIjM,EAAI+jB,YAAY,SAASuC,GAAK,OAAOpmB,EAAG,sBAAsB,CAAC8L,IAAI,iBAAmBsa,EAAIC,MAAMjmB,MAAM,CAAC,KAAO,iBAAmBgmB,EAAIC,MAAM,GAAK,CAC1vEjnB,KAAM,gBACN2H,OAAQ,CAAEd,SAAUmgB,EAAIC,QACvB,KAAOD,EAAIE,cAAc,KAAIxmB,EAAIa,KAAKb,EAAIW,GAAG,KAAKT,EAAG,sBAAsB,CAACI,MAAM,CAAC,GAAK,qBAAqB,KAAON,EAAI+C,EAAE,WAAY,2BAA6B,MAAMxC,GAAG,CAAC,MAAQP,EAAIwlB,8BAA8B,EAAEU,OAAM,OAAUlmB,EAAIW,GAAG,KAAKT,EAAG,eAAe,CAACG,YAAY,uBAAuBuI,MAAM,CAAE,eAAgB5I,EAAI8jB,cAAe,CAAC5jB,EAAG,UAAU,CAACI,MAAM,CAAC,SAAWN,EAAImG,SAAS,IAAMnG,EAAIoC,IAAI,OAASpC,EAAI6jB,gBAAgB,GAAG7jB,EAAIW,GAAG,KAAMX,EAAIX,IAAMW,EAAIoC,IAAKlC,EAAG,eAAeF,EAAII,GAAG,CAACwI,MAAM,CAAC,mCAAoC5I,EAAIokB,WAAWI,YAAYjkB,GAAG,CAAC,MAAQP,EAAIulB,gBAAgBI,YAAY3lB,EAAI4lB,GAAG,CAAG5lB,EAAIokB,WAAWI,WAAwJ,KAA5I,CAACxY,IAAI,SAAS6Z,GAAG,WAAW,MAAO,CAAC3lB,EAAG,MAAM,CAACG,YAAY,oEAAoE,EAAE6lB,OAAM,GAAW,CAACla,IAAI,cAAc6Z,GAAG,WAAW,MAAO,CAAoB,MAAlB7lB,EAAIoC,IAAI6G,OAAmC,MAAlBjJ,EAAIoC,IAAI6G,OAAiBjJ,EAAI2G,UAAWzG,EAAG,MAAM,CAACG,YAAY,aAAa,CAAoB,MAAlBL,EAAIoC,IAAI6G,MAAe/I,EAAG,OAAO,CAACG,YAAY,iCAAiCC,MAAM,CAAC,MAAQN,EAAI+C,EAAE,WAAY,oEAAoE,CAAC/C,EAAIW,GAAG,eAAeX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,iBAAiB/C,EAAIa,KAAKb,EAAIW,GAAG,KAAwB,MAAlBX,EAAIoC,IAAI6G,MAAe/I,EAAG,OAAO,CAACG,YAAY,0BAA0BC,MAAM,CAAC,MAAQN,EAAI+C,EAAE,WAAY,iIAAiI,CAAC/C,EAAIW,GAAG,eAAeX,EAAIY,GAAGZ,EAAI+C,EAAE,WAAY,gBAAgB/C,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAI2G,UAAWzG,EAAG,WAAW,CAACI,MAAM,CAAC,MAAQN,EAAIoC,IAAIwE,aAAa6f,iBAAiBzmB,EAAIa,MAAM,GAAGb,EAAIa,KAAKb,EAAIW,GAAG,KAAKT,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,IAAI,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIoC,IAAI4G,cAAc,EAAEkd,OAAM,IAAO,MAAK,IAAO,eAAelmB,EAAIokB,YAAW,GAAO,CAACpkB,EAAIW,GAAG,KAAKX,EAAIW,GAAG,KAAKT,EAAG,kBAAkB,CAACI,MAAM,CAAC,GAAK,OAAO,KAAO,uBAAuB,KAAON,EAAI+C,EAAE,WAAY,WAAW,MAAQ,IAAI,CAAC7C,EAAG,aAAa,CAACI,MAAM,CAAC,IAAMN,EAAIoC,QAAQ,GAAGpC,EAAIW,GAAG,KAAMX,EAAIoC,IAAIwE,cAAgB5G,EAAIoC,IAAI8E,SAAS,GAAG0d,aAAaC,GAAGH,UAAWxkB,EAAG,kBAAkB,CAACI,MAAM,CAAC,GAAK,QAAQ,KAAO,6BAA6B,KAAON,EAAI+C,EAAE,WAAY,aAAa,MAAQ,IAAI/C,EAAIiM,GAAIjM,EAAIoC,IAAI8E,UAAU,SAASyd,GAAS,OAAOzkB,EAAG,MAAM,CAAC8L,IAAI2Y,EAAQ3b,QAAQ3I,YAAY,6BAA6B,CAACH,EAAG,KAAK,CAACF,EAAIW,GAAGX,EAAIY,GAAG+jB,EAAQ3b,YAAYhJ,EAAIW,GAAG,KAAMX,EAAI0kB,UAAUC,GAAUzkB,EAAG,WAAW,CAACI,MAAM,CAAC,KAAON,EAAI0kB,UAAUC,MAAY3kB,EAAIa,MAAM,EAAE,IAAG,GAAGb,EAAIa,MAAM,GAAGb,EAAIa,MAAM,EAC17E,GACsB,IwCOpB,EACA,KACA,WACA,MAI8B,O,kDCbgCzB,EAAOsnB,QAG/D,WAAe,aAEvB,IAAI1D,EAAkB,WACpB/iB,KAAK0mB,YAAc,CAAC,EACpB1mB,KAAK2mB,WAAa,GAClB3mB,KAAK4mB,cAAe,CACtB,EAEIC,EAAqB,CAAEC,UAAW,CAAC,GAOvCD,EAAmBC,UAAUzlB,IAAM,WACjC,OAAOrB,KAAK2mB,UACd,EAOAE,EAAmBC,UAAUC,IAAM,SAAUzF,GAC3CthB,KAAK2mB,WAAarF,EAASA,EAAQ,IAAO,EAC5C,EASAyB,EAAgBzD,UAAU0H,UAAY,SAAoBC,GACxD,MAAQ,GAAMjnB,KAAe,WAAIinB,CACnC,EAUAlE,EAAgBzD,UAAU4H,OAAS,SAAiBD,EAAOE,EAAU1nB,GACnE,IAAIsM,EAAM/L,KAAKgnB,UAAUC,GACrB3F,EAAQ7hB,GAAQ,CAAC+hB,MAAOlJ,QAAQpU,SAASzE,GACzC2nB,KAAKC,UAAUF,GACfA,EAEJplB,OAAOulB,aAAaC,QAAQxb,EAAKuV,EACnC,EASAyB,EAAgBzD,UAAUkI,OAAS,SAAiBP,GAClD,IAAIlb,EAAM/L,KAAKgnB,UAAUC,GAEzB,OAAOllB,OAAOulB,aAAavb,EAC7B,EAUAgX,EAAgBzD,UAAUje,IAAM,SAAc4lB,EAAOQ,EAAcC,GAKjE,QAHwB,IAAjBD,IAA0BA,EAAe,WACzB,IAAhBC,IAAyBA,EAAchoB,SAEzCM,KAAK4mB,aACR,OAAO,KAGT,GAAI5mB,KAAKwnB,OAAOP,GAAQ,CACtB,IAAIxnB,EAAOioB,EAEX,IAAK,IAAI3b,KAXI/L,KAWU0mB,YACrB,GAAI3a,IAAQkb,EAAO,CACjBxnB,EAbSO,KAaK0mB,YAAY3a,GAAKtM,KAC/B,KACF,CAGF,OAAOO,KAAK2nB,SAASloB,EAAMO,KAAKwnB,OAAOP,GACzC,CAEA,OAAwB,OAAjBQ,EAAwBA,EAAe,IAChD,EASA1E,EAAgBzD,UAAUyH,IAAM,SAAcE,EAAO3F,GACjD,IAAIsG,EAAS5nB,KAEf,IAAKA,KAAK4mB,aACR,OAAO,KAGT,IAAK,IAAI7a,KAAO6b,EAAOlB,YAAa,CAClC,IAAIjnB,EAAOmoB,EAAOlB,YAAY3a,GAAKtM,KAEnC,GAAKsM,IAAQkb,EAGX,OAFAW,EAAOV,OAAOD,EAAO3F,EAAO7hB,GAErB6hB,CAEX,CAIA,OAFAthB,KAAKknB,OAAOD,EAAO3F,GAEZA,CACT,EAOAyB,EAAgBzD,UAAUla,OAAS,SAAiB6hB,GAClD,OAAKjnB,KAAK4mB,aAIH7kB,OAAOulB,aAAaO,WAAWZ,GAH7B,IAIX,EASAlE,EAAgBzD,UAAUwI,YAAc,SAAsB/b,EAAKtM,EAAMgoB,QAC/C,IAAjBA,IAA0BA,OAAe/c,GAEhDjL,EAAOA,GAAQC,OAEfM,KAAK0mB,YAAY3a,GAAO,CAAEtM,KAAMA,GAE3BO,KAAKwnB,OAAOzb,IAAyB,OAAjB0b,GACvBznB,KAAKknB,OAAOnb,EAAK0b,EAAchoB,EAEnC,EAUAsjB,EAAgBzD,UAAUqI,SAAW,SAAmBloB,EAAM6hB,GAC5D,OAAQ7hB,GACN,KAAK2G,QACH,MAAiB,SAAVkb,EACT,KAAKxhB,OACH,OAAOioB,WAAWzG,GACpB,KAAKE,MACH,IACE,IAAIwG,EAAQZ,KAAKrM,MAAMuG,GAEvB,OAAOE,MAAMC,QAAQuG,GAASA,EAAQ,EACxC,CAAE,MAAO1gB,GACP,MAAO,EACT,CACF,KAAKgR,OACH,IACE,OAAO8O,KAAKrM,MAAMuG,EACpB,CAAE,MAAOha,GACP,MAAO,CAAC,CACV,CACF,QACE,OAAOga,EAEb,EAEAhJ,OAAO2P,iBAAkBlF,EAAgBzD,UAAWuH,GAEpD,IAAIqB,EAAkB,IAAInF,EA+F1B,MA7FY,CAOV1d,QAAS,SAAUyd,EAAK3a,GAGtB,QAFiB,IAAZA,IAAqBA,EAAU,CAAC,QAEd,IAAZggB,KAEPA,EAAQC,QACRD,EAAQE,cACPF,EAAQG,KAA+B,WAAxBH,EAAQG,IAAIC,SAJhC,CAUA,IAAIC,GAAc,EAElB,IACE,IAAI/a,EAAO,4BAEX1L,OAAOulB,aAAaC,QAAQ9Z,EAAMA,GAClC1L,OAAOulB,aAAaO,WAAWpa,EACjC,CAAE,MAAOnG,GACPkhB,GAAc,EACdN,EAAgBtB,cAAe,EAE/Bpb,EAAQxG,MAAM,iCAChB,CAEA,IAAI3F,EAAO8I,EAAQ9I,MAAQ,eACvBopB,EAAOtgB,EAAQsgB,KAEftgB,EAAQ2e,YACVoB,EAAgBpB,UAAY3e,EAAQ2e,WAGtChE,EAAI4F,MAAM,CACRC,aAAc,WACZ,IAAIf,EAAS5nB,KAERwoB,GAIDxoB,KAAK6lB,SAASxmB,IAChBiZ,OAAOwB,KAAK9Z,KAAK6lB,SAASxmB,IAAOma,SAAQ,SAAUzN,GACjD,IAAI6c,EAAShB,EAAO/B,SAASxmB,GAAM0M,GAC/B8c,EAAM,CAACD,EAAOnpB,KAAMmpB,EAAOhpB,SAC3BH,EAAOopB,EAAI,GACXpB,EAAeoB,EAAI,GAMvB,GAJAX,EAAgBJ,YAAY/b,EAAKtM,EAAMgoB,GAEpBnP,OAAOwQ,yBAAyBZ,EAAiBnc,GAWxD+W,EAAI8F,OAAOnc,QACrBjB,EAAQud,IAAKhd,EAAM,+CAVF,CACjB,IAAIqS,EAAO,CACT/c,IAAK,WAAc,OAAOyhB,EAAIwE,aAAajmB,IAAI0K,EAAK0b,EAAe,EACnEV,IAAK,SAAU9Y,GAAO,OAAO6U,EAAIwE,aAAaP,IAAIhb,EAAKkC,EAAM,EAC7D+a,cAAc,GAGhB1Q,OAAO2Q,eAAef,EAAiBnc,EAAKqS,GAC5C0E,EAAIoG,KAAKC,eAAejB,EAAiBnc,EAAK0b,EAChD,EAIKgB,GAAQG,EAAOH,QAAyB,IAAhBG,EAAOH,OAClCb,EAAO/B,SAAShlB,SAAW+mB,EAAO/B,SAAShlB,UAAY,CAAC,EAEnD+mB,EAAO/B,SAAShlB,SAASkL,KAC5B6b,EAAO/B,SAAShlB,SAASkL,GAAO,CAC9B1K,IAAK,WAAc,OAAOyhB,EAAIwE,aAAavb,EAAM,EACjDgb,IAAK,SAAU9Y,GAAO6U,EAAIwE,aAAavb,GAAOkC,CAAK,IAI3D,GAEJ,IAGF6U,EAAIzjB,GAAQ6oB,EACZpF,EAAIxD,UAAW,IAAMjgB,GAAS6oB,CAvE9B,CAwEF,EAKD,CA1SgFkB,E","sources":["webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=style&index=0&id=5be7cbf9&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=style&index=0&id=62f0f115&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=f99bd334&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=style&index=0&id=2f31fb7f&prod&lang=scss&scoped=true","webpack://nextcloud/./apps/settings/src/views/Apps.vue?8e68","webpack:///nextcloud/node_modules/vue-material-design-icons/StarShooting.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/StarShooting.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/StarShooting.vue?ea51","webpack:///nextcloud/node_modules/vue-material-design-icons/StarShooting.vue?vue&type=template&id=2796c6f2","webpack://nextcloud/./apps/settings/src/components/AppList.vue?ee21","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?26fd","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?1c98","webpack:///nextcloud/apps/settings/src/service/rebuild-navigation.js","webpack:///nextcloud/apps/settings/src/mixins/AppManagement.js","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue","webpack://nextcloud/./apps/settings/src/components/SvgFilterMixin.vue?5bcd","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?a94d","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?a9a1","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?af1e","webpack://nextcloud/./apps/settings/src/components/PrefixMixin.vue?c564","webpack:///nextcloud/apps/settings/src/components/PrefixMixin.vue","webpack:///nextcloud/apps/settings/src/components/AppList.vue","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList.vue?9a5a","webpack://nextcloud/./apps/settings/src/components/AppList.vue?8acf","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?7e45","webpack:///nextcloud/node_modules/marked/lib/marked.esm.js","webpack:///nextcloud/apps/settings/src/components/Markdown.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?8506","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?26cf","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?d299","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?db88","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?2807","webpack:///nextcloud/apps/settings/src/views/Apps.vue","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/views/Apps.vue?5545","webpack://nextcloud/./apps/settings/src/views/Apps.vue?7b97","webpack:///nextcloud/node_modules/vue-localstorage/dist/vue-local-storage.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-details[data-v-5be7cbf9]{padding:20px}.app-details__actions-manage[data-v-5be7cbf9]{display:flex}.app-details__actions-manage input[data-v-5be7cbf9]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__dependencies[data-v-5be7cbf9]{opacity:.7}.app-details__documentation[data-v-5be7cbf9]{padding-top:20px}.app-details__documentation a.appslink[data-v-5be7cbf9]{display:block}.app-details__description[data-v-5be7cbf9]{padding-top:20px}.force[data-v-5be7cbf9]{color:var(--color-error);border-color:var(--color-error);background:var(--color-main-background)}.force[data-v-5be7cbf9]:hover,.force[data-v-5be7cbf9]:active{color:var(--color-main-background);border-color:var(--color-error) !important;background:var(--color-error)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppDetails.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,4CACC,UAAA,CAED,6CACC,gBAAA,CACA,wDACC,aAAA,CAGF,2CACC,gBAAA,CAIF,wBACC,wBAAA,CACA,+BAAA,CACA,uCAAA,CAED,6DAEC,kCAAA,CACA,0CAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.app-details {\\n\\tpadding: 20px;\\n\\n\\t&__actions {\\n\\t\\t// app management\\n\\t\\t&-manage {\\n\\t\\t\\t// if too many, shrink them and ellipsis\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t&__dependencies {\\n\\t\\topacity: .7;\\n\\t}\\n\\t&__documentation {\\n\\t\\tpadding-top: 20px;\\n\\t\\ta.appslink {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\t&__description {\\n\\t\\tpadding-top: 20px;\\n\\t}\\n}\\n\\n.force {\\n\\tcolor: var(--color-error);\\n\\tborder-color: var(--color-error);\\n\\tbackground: var(--color-main-background);\\n}\\n.force:hover,\\n.force:active {\\n\\tcolor: var(--color-main-background);\\n\\tborder-color: var(--color-error) !important;\\n\\tbackground: var(--color-error);\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-bundle-heading[data-v-62f0f115]{display:flex;align-items:center;margin:20px 10px 20px 0}.app-bundle-header[data-v-62f0f115]{margin:0 10px 0 50px;font-weight:bold;font-size:20px;line-height:30px;color:var(--color-text-light)}.apps-store-view[data-v-62f0f115]{display:flex;flex-wrap:wrap}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,YAAA,CACA,kBAAA,CACA,uBAAA,CAED,oCACC,oBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,6BAAA,CAED,kCACC,YAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.app-bundle-heading {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmargin: 20px 10px 20px 0;\\n}\\n.app-bundle-header {\\n\\tmargin: 0 10px 0 50px;\\n\\tfont-weight: bold;\\n\\tfont-size: 20px;\\n\\tline-height: 30px;\\n\\tcolor: var(--color-text-light);\\n}\\n.apps-store-view {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-icon[data-v-f99bd334]{filter:var(--background-invert-if-bright)}.app-image img[data-v-f99bd334]{width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppItem.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,yCAAA,CAGD,gCACC,UAAA\",\"sourcesContent\":[\"\\n.app-icon {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\\n.app-image img {\\n\\twidth: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.settings-markdown[data-v-ffd9a2d6] h1,.settings-markdown[data-v-ffd9a2d6] h2,.settings-markdown[data-v-ffd9a2d6] h3,.settings-markdown[data-v-ffd9a2d6] h4,.settings-markdown[data-v-ffd9a2d6] h5,.settings-markdown[data-v-ffd9a2d6] h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}.settings-markdown[data-v-ffd9a2d6] h1{font-size:36px;margin-top:48px}.settings-markdown[data-v-ffd9a2d6] h2{font-size:28px;margin-top:48px}.settings-markdown[data-v-ffd9a2d6] h3{font-size:24px}.settings-markdown[data-v-ffd9a2d6] h4{font-size:21px}.settings-markdown[data-v-ffd9a2d6] h5{font-size:17px}.settings-markdown[data-v-ffd9a2d6] h6{font-size:var(--default-font-size)}.settings-markdown[data-v-ffd9a2d6] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-ffd9a2d6] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-ffd9a2d6] li{position:relative}.settings-markdown[data-v-ffd9a2d6] ul,.settings-markdown[data-v-ffd9a2d6] ol{padding-left:10px;margin-left:10px}.settings-markdown[data-v-ffd9a2d6] ul li{list-style-type:disc}.settings-markdown[data-v-ffd9a2d6] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-ffd9a2d6] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-ffd9a2d6] blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Markdown.vue\"],\"names\":[],\"mappings\":\"AAGA,0OAMC,eAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,4BAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,kCAAA,CAGD,wCACC,eAAA,CACA,eAAA,CACA,6CAAA,CACA,kCAAA,CACA,iBAAA,CACA,iBAAA,CAGD,2CACC,6CAAA,CACA,kCAAA,CACA,iBAAA,CAGD,uCACC,iBAAA,CAGD,8EACC,iBAAA,CACA,gBAAA,CAGD,0CACC,oBAAA,CAGD,gDACC,sBAAA,CAGD,sDACC,sBAAA,CAGD,+CACC,gBAAA,CACA,kDAAA,CACA,mCAAA,CACA,aAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.settings-markdown::v-deep {\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n\\tfont-weight: 600;\\n\\tline-height: 120%;\\n\\tmargin-top: 24px;\\n\\tmargin-bottom: 12px;\\n\\tcolor: var(--color-main-text);\\n}\\n\\nh1 {\\n\\tfont-size: 36px;\\n\\tmargin-top: 48px;\\n}\\n\\nh2 {\\n\\tfont-size: 28px;\\n\\tmargin-top: 48px;\\n}\\n\\nh3 {\\n\\tfont-size: 24px;\\n}\\n\\nh4 {\\n\\tfont-size: 21px;\\n}\\n\\nh5 {\\n\\tfont-size: 17px;\\n}\\n\\nh6 {\\n\\tfont-size: var(--default-font-size);\\n}\\n\\npre {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: 1em 1.3em;\\n\\tmargin-bottom: 1em;\\n}\\n\\np code {\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: .1em .3em;\\n}\\n\\nli {\\n\\tposition: relative;\\n}\\n\\nul, ol {\\n\\tpadding-left: 10px;\\n\\tmargin-left: 10px;\\n}\\n\\nul li {\\n\\tlist-style-type: disc;\\n}\\n\\nul > li > ul > li {\\n\\tlist-style-type: circle;\\n}\\n\\nul > li > ul > li ul li {\\n\\tlist-style-type: square;\\n}\\n\\nblockquote {\\n\\tpadding-left: 1em;\\n\\tborder-left: 4px solid var(--color-primary-element);\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tmargin-left: 0;\\n\\tmargin-right: 0;\\n}\\n\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-sidebar[data-v-2f31fb7f]:not(.app-sidebar--without-background) :not(.app-sidebar-header--compact) .app-sidebar-header__figure{background-size:cover}.app-sidebar[data-v-2f31fb7f]:not(.app-sidebar--without-background) .app-sidebar-header--compact .app-sidebar-header__figure{background-size:32px;filter:var(--background-invert-if-bright)}.app-sidebar[data-v-2f31fb7f] .app-sidebar-header__description .app-version{padding-left:10px}.app-sidebar[data-v-2f31fb7f].app-sidebar--without-background .app-sidebar-header__figure{display:flex;align-items:center;justify-content:center}.app-sidebar[data-v-2f31fb7f].app-sidebar--without-background .app-sidebar-header__figure--default-app-icon{width:32px;height:32px;background-size:32px}.app-sidebar[data-v-2f31fb7f] .app-sidebar-header__desc .app-sidebar-header__subtitle{overflow:visible !important;height:auto;white-space:normal !important;line-height:16px}.app-sidebar[data-v-2f31fb7f] .app-sidebar-header__action{margin:0 20px}.app-sidebar[data-v-2f31fb7f] .app-sidebar-header__action input{margin:3px}.app-navigation[data-v-2f31fb7f] button.app-navigation-toggle{top:8px;right:-8px}.app-sidebar-tabs__release h2[data-v-2f31fb7f]{border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__release[data-v-2f31fb7f] h3{font-size:20px}.app-sidebar-tabs__release[data-v-2f31fb7f] h4{font-size:17px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/Apps.vue\"],\"names\":[],\"mappings\":\"AAIE,mIACC,qBAAA,CAGD,6HACC,oBAAA,CAEA,yCAAA,CAKD,4EACC,iBAAA,CAMD,0FACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,4GACC,UAAA,CACA,WAAA,CACA,oBAAA,CAQF,sFACC,2BAAA,CACA,WAAA,CACA,6BAAA,CACA,gBAAA,CAIF,0DAEC,aAAA,CACA,gEACC,UAAA,CAMH,8DACC,OAAA,CACA,UAAA,CAIA,+CACC,2CAAA,CAKA,+CACC,cAAA,CAED,+CACC,cAAA\",\"sourcesContent\":[\"\\n.app-sidebar::v-deep {\\n\\t&:not(.app-sidebar--without-background) {\\n\\t\\t// with full screenshot, let's fill the figure\\n\\t\\t:not(.app-sidebar-header--compact) .app-sidebar-header__figure {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t// revert sidebar app icon so it is black\\n\\t\\t.app-sidebar-header--compact .app-sidebar-header__figure {\\n\\t\\t\\tbackground-size: 32px;\\n\\n\\t\\t\\tfilter: var(--background-invert-if-bright);\\n\\t\\t}\\n\\t}\\n\\n\\t.app-sidebar-header__description {\\n\\t\\t.app-version {\\n\\t\\t\\tpadding-left: 10px;\\n\\t\\t}\\n\\t}\\n\\n\\t// default icon slot styling\\n\\t&.app-sidebar--without-background {\\n\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\t&--default-app-icon {\\n\\t\\t\\t\\twidth: 32px;\\n\\t\\t\\t\\theight: 32px;\\n\\t\\t\\t\\tbackground-size: 32px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: migrate to components\\n\\t.app-sidebar-header__desc {\\n\\t\\t// allow multi line subtitle for the license\\n\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\toverflow: visible !important;\\n\\t\\t\\theight: auto;\\n\\t\\t\\twhite-space: normal !important;\\n\\t\\t\\tline-height: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t.app-sidebar-header__action {\\n\\t\\t// align with tab content\\n\\t\\tmargin: 0 20px;\\n\\t\\tinput {\\n\\t\\t\\tmargin: 3px;\\n\\t\\t}\\n\\t}\\n}\\n\\n// Align the appNavigation toggle with the apps header toolbar\\n.app-navigation::v-deep button.app-navigation-toggle {\\n\\ttop: 8px;\\n\\tright: -8px;\\n}\\n\\n.app-sidebar-tabs__release {\\n\\th2 {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// Overwrite changelog heading styles\\n\\t::v-deep {\\n\\t\\th3 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\th4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcContent',{class:{ 'with-app-sidebar': _vm.app},attrs:{\"app-name\":\"settings\"}},[_c('NcAppNavigation',{class:{ 'icon-loading': _vm.loading },scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-apps\",\"to\":{ name: 'apps' },\"exact\":true,\"icon\":\"icon-category-installed\",\"name\":_vm.t('settings', 'Your apps')}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"icon\":\"icon-category-enabled\",\"name\":_vm.$options.APPS_SECTION_ENUM.enabled}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"icon\":\"icon-category-disabled\",\"name\":_vm.$options.APPS_SECTION_ENUM.disabled}}),_vm._v(\" \"),(_vm.updateCount > 0)?_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"icon\":\"icon-download\",\"name\":_vm.$options.APPS_SECTION_ENUM.updates},scopedSlots:_vm._u([{key:\"counter\",fn:function(){return [_c('NcCounterBubble',[_vm._v(_vm._s(_vm.updateCount))])]},proxy:true}],null,false,54487302)}):_vm._e(),_vm._v(\" \"),(_vm.isSubscribed)?_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-supported\",\"to\":{ name: 'apps-category', params: { category: 'supported' } },\"name\":_vm.$options.APPS_SECTION_ENUM.supported},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconStarShooting',{attrs:{\"size\":20}})]},proxy:true}],null,false,704374136)}):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"icon\":\"icon-category-app-bundles\",\"name\":_vm.$options.APPS_SECTION_ENUM['app-bundles']}}),_vm._v(\" \"),_c('NcAppNavigationSpacer'),_vm._v(\" \"),(_vm.settings.appstoreEnabled)?[_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"icon\":\"icon-favorite\",\"name\":_vm.$options.APPS_SECTION_ENUM.featured}}),_vm._v(\" \"),_vm._l((_vm.categories),function(cat){return _c('NcAppNavigationItem',{key:'icon-category-' + cat.ident,attrs:{\"icon\":'icon-category-' + cat.ident,\"to\":{\n\t\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\t\tparams: { category: cat.ident },\n\t\t\t\t\t},\"name\":cat.displayName}})})]:_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-developer-docs\",\"name\":_vm.t('settings', 'Developer documentation') + ' ↗'},on:{\"click\":_vm.openDeveloperDocumentation}})]},proxy:true}])}),_vm._v(\" \"),_c('NcAppContent',{staticClass:\"app-settings-content\",class:{ 'icon-loading': _vm.loadingList }},[_c('AppList',{attrs:{\"category\":_vm.category,\"app\":_vm.app,\"search\":_vm.searchQuery}})],1),_vm._v(\" \"),(_vm.id && _vm.app)?_c('NcAppSidebar',_vm._b({class:{'app-sidebar--without-background': !_vm.appSidebar.background},on:{\"close\":_vm.hideAppDetails},scopedSlots:_vm._u([(!_vm.appSidebar.background)?{key:\"header\",fn:function(){return [_c('div',{staticClass:\"app-sidebar-header__figure--default-app-icon icon-settings-dark\"})]},proxy:true}:null,{key:\"description\",fn:function(){return [(_vm.app.level === 300 || _vm.app.level === 200 || _vm.hasRating)?_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 300)?_c('span',{staticClass:\"supported icon-checkmark-color\",attrs:{\"title\":_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{staticClass:\"official icon-checkmark\",attrs:{\"title\":_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating)?_c('AppScore',{attrs:{\"score\":_vm.app.appstoreData.ratingOverall}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-version\"},[_c('p',[_vm._v(_vm._s(_vm.app.version))])])]},proxy:true}],null,true)},'NcAppSidebar',_vm.appSidebar,false),[_vm._v(\" \"),_vm._v(\" \"),_c('NcAppSidebarTab',{attrs:{\"id\":\"desc\",\"icon\":\"icon-category-office\",\"name\":_vm.t('settings', 'Details'),\"order\":0}},[_c('AppDetails',{attrs:{\"app\":_vm.app}})],1),_vm._v(\" \"),(_vm.app.appstoreData && _vm.app.releases[0].translations.en.changelog)?_c('NcAppSidebarTab',{attrs:{\"id\":\"desca\",\"icon\":\"icon-category-organization\",\"name\":_vm.t('settings', 'Changelog'),\"order\":1}},_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),(_vm.changelog(release))?_c('Markdown',{attrs:{\"text\":_vm.changelog(release)}}):_vm._e()],1)}),0):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarShooting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarShooting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StarShooting.vue?vue&type=template&id=2796c6f2\"\nimport script from \"./StarShooting.vue?vue&type=script&lang=js\"\nexport * from \"./StarShooting.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon star-shooting-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M18.09 11.77L19.56 18.1L14 14.74L8.44 18.1L9.9 11.77L5 7.5L11.47 6.96L14 1L16.53 6.96L23 7.5L18.09 11.77M2 12.43C2.19 12.43 2.38 12.37 2.55 12.26L5.75 10.15L4.18 8.79L1.45 10.59C.989 10.89 .861 11.5 1.16 12C1.36 12.27 1.68 12.43 2 12.43M1.16 21.55C1.36 21.84 1.68 22 2 22C2.19 22 2.38 21.95 2.55 21.84L6.66 19.13L7 17.76L7.31 16.31L1.45 20.16C.989 20.47 .861 21.09 1.16 21.55M1.45 15.38C.989 15.68 .861 16.3 1.16 16.76C1.36 17.06 1.68 17.21 2 17.21C2.19 17.21 2.38 17.16 2.55 17.05L7.97 13.5L8.24 12.31L7.32 11.5L1.45 15.38Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{installed: (_vm.useBundleView || _vm.useListView), store: _vm.useAppStoreView},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"type\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"table\"}},[_c('tr',{key:\"app-list-view-header\",staticClass:\"apps-header\"},[_c('th',{staticClass:\"app-image\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-name\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-version\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-level\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{staticClass:\"actions\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('table',{staticClass:\"apps-list-container\"},[_c('tr',{key:\"app-list-view-header\",staticClass:\"apps-header\"},[_c('th',{staticClass:\"app-image\",attrs:{\"id\":\"app-table-col-icon\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-name\",attrs:{\"id\":\"app-table-col-name\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-version\",attrs:{\"id\":\"app-table-col-version\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-level\",attrs:{\"id\":\"app-table-col-level\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{staticClass:\"actions\",attrs:{\"id\":\"app-table-col-actions\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.bundles),function(bundle){return [_c('tr',{key:bundle.id},[_c('th',{attrs:{\"id\":`app-table-rowgroup-${bundle.id}`,\"colspan\":\"5\",\"scope\":\"rowgroup\"}},[_c('div',{staticClass:\"app-bundle-heading\"},[_c('span',{staticClass:\"app-bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(bundle.name)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', _vm.bundleToggleText(bundle.id)))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"use-bundle-view\":true,\"headers\":`app-table-rowgroup-${bundle.id}`,\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_c('ul',{staticClass:\"apps-store-view\"},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}),1):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list installed\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?[_c('div',{staticClass:\"section\"},[_c('div'),_vm._v(\" \"),_c('td',{attrs:{\"colspan\":\"5\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'Results from other categories')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})]:_vm._e()],2)]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"searchresults\"}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=3b3081d1\"\nimport script from \"./AppScore.vue?vue&type=script&lang=js\"\nexport * from \"./AppScore.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('img',{staticClass:\"app-score-image\",attrs:{\"src\":_vm.scoreImage}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { emit } from '@nextcloud/event-bus'\n\nexport default () => {\n\treturn axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\t.then(({ data }) => {\n\t\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\t\twindow.dispatchEvent(new Event('resize'))\n\t\t})\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author John Molakvoæ \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 .\n *\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport rebuildNavigation from '../service/rebuild-navigation.js'\n\nexport default {\n\tcomputed: {\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map(group => { return { id: group, name: group } })\n\t\t},\n\t\tinstalling() {\n\t\t\treturn this.$store.getters.loading('install')\n\t\t},\n\t\tisLoading() {\n\t\t\treturn this.app && this.$store.getters.loading(this.app.id)\n\t\t},\n\t\tenableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Download and enable')\n\t\t\t}\n\t\t\treturn t('settings', 'Enable')\n\t\t},\n\t\tforceEnableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Allow untested app')\n\t\t\t}\n\t\t\treturn t('settings', 'Allow untested app')\n\t\t},\n\t\tenableButtonTooltip() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tforceEnableButtonTooltip() {\n\t\t\tconst base = t('settings', 'This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.')\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn base + ' ' + t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn base\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tif (this.app && this.app.groups && this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasyncFindGroup(query) {\n\t\t\treturn this.$store.dispatch('getGroups', { search: query, limit: 5, offset: 0 })\n\t\t},\n\t\tisLimitedToGroups(app) {\n\t\t\tif (this.app.groups.length || this.groupCheckedAppsData) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tsetGroupLimit() {\n\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: [] })\n\t\t\t}\n\t\t},\n\t\tcanLimitToGroups(app) {\n\t\t\tif ((app.types && app.types.includes('filesystem'))\n\t\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t\t|| app.types.includes('prevent_group_restriction')) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\taddGroupLimitation(groupArray) {\n\t\t\tconst group = groupArray.pop()\n\t\t\tconst groups = this.app.groups.concat([]).concat([group.id])\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups })\n\t\t},\n\t\tremoveGroupLimitation(group) {\n\t\t\tconst currentGroups = this.app.groups.concat([])\n\t\t\tconst index = currentGroups.indexOf(group.id)\n\t\t\tif (index > -1) {\n\t\t\t\tcurrentGroups.splice(index, 1)\n\t\t\t}\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups })\n\t\t},\n\t\tforceEnable(appId) {\n\t\t\tthis.$store.dispatch('forceEnableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tenable(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tdisable(appId) {\n\t\t\tthis.$store.dispatch('disableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tremove(appId) {\n\t\t\tthis.$store.dispatch('uninstallApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tinstall(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tupdate(appId) {\n\t\t\tthis.$store.dispatch('updateApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js\"","\n\n\n","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=f99bd334&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=f99bd334&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=f99bd334&scoped=true\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=f99bd334&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f99bd334\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.listView ? `tr` : `li`,{tag:\"component\",staticClass:\"section\",class:{ selected: _vm.isSelected },on:{\"click\":_vm.showAppDetails}},[_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-image app-image-icon\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-icon`)},on:{\"click\":_vm.showAppDetails}},[((_vm.listView && !_vm.app.preview) || (!_vm.listView && !_vm.screenshotLoaded))?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.listView && _vm.app.preview)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"alt\":\"\"}}):_vm._e()]),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-name\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-name`)},on:{\"click\":_vm.showAppDetails}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-summary\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-version`)}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-version\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-version`)}},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-level\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-level`)}},[(_vm.app.level === 300)?_c('span',{staticClass:\"supported icon-checkmark-color\",attrs:{\"title\":_vm.t('settings', 'This app is supported via your current Nextcloud subscription.'),\"aria-label\":_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{staticClass:\"official icon-checkmark\",attrs:{\"title\":_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.'),\"aria-label\":_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"actions\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-actions`)}},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', {update:_vm.app.update}))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"type\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings','Disable'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.enable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./PrefixMixin.vue?vue&type=script&lang=js\"\nexport * from \"./PrefixMixin.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=62f0f115&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=62f0f115&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=62f0f115&scoped=true\"\nimport script from \"./AppList.vue?vue&type=script&lang=js\"\nexport * from \"./AppList.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppList.vue?vue&type=style&index=0&id=62f0f115&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62f0f115\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":_vm.prefix('groups_enable', _vm.app.id),\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.prefix('groups_enable', _vm.app.id)}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"limitToGroups\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Limit app usage to groups')))])]),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcSelect',{attrs:{\"input-id\":\"limitToGroups\",\"options\":_vm.groups,\"value\":_vm.appGroups,\"limit\":5,\"label\":\"name\",\"multiple\":true,\"close-on-select\":false},on:{\"option:selected\":_vm.addGroupLimitation,\"option:deselected\":_vm.removeGroupLimitation,\"search\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{staticClass:\"enable primary\",attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.enable(_vm.app.id)}}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{staticClass:\"enable force\",attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e()])]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__documentation\"},[(!_vm.app.internal)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.appstoreUrl,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'View in store'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.website)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.website,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Visit website'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.bugs)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.bugs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Report a bug'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.user)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.user,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'User documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.admin)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.admin,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Admin documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.developer)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.developer,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Developer documentation'))+\" ↗\")]):_vm._e()]),_vm._v(\" \"),_c('Markdown',{staticClass:\"app-details__description\",attrs:{\"text\":_vm.app.description}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * marked v9.1.5 - a markdown parser\n * Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n/**\n * Gets the original marked default options.\n */\nfunction _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n}\nlet _defaults = _getDefaults();\nfunction changeDefaults(newDefaults) {\n _defaults = newDefaults;\n}\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n}\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n regex = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n val = typeof val === 'object' && 'source' in val ? val.source : val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\nfunction cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n}\nconst noopTest = { exec: () => null };\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n}\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape(text)\n };\n}\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n}\n/**\n * Tokenizer\n */\nclass _Tokenizer {\n options;\n // TODO: Fix this rules type\n rules;\n lexer;\n constructor(options) {\n this.options = options || _defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline._escapes, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = rtrim(cap[0].replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n list.items[list.items.length - 1].text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline._escapes, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (cap) {\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const item = {\n type: 'table',\n raw: cap[0],\n header: splitCells(cap[1]).map(c => {\n return { text: c, tokens: [] };\n }),\n align: cap[2].replace(/^\\||\\| *$/g, '').split('|'),\n rows: cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n };\n if (item.header.length === item.align.length) {\n let l = item.align.length;\n let i, j, k, row;\n for (i = 0; i < l; i++) {\n const align = item.align[i];\n if (align) {\n if (/^ *-+: *$/.test(align)) {\n item.align[i] = 'right';\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align[i] = 'center';\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align[i] = 'left';\n }\n else {\n item.align[i] = null;\n }\n }\n }\n l = item.rows.length;\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => {\n return { text: c, tokens: [] };\n });\n }\n // parse child tokens inside headers and cells\n // header child tokens\n l = item.header.length;\n for (j = 0; j < l; j++) {\n item.header[j].tokens = this.lexer.inline(item.header[j].text);\n }\n // cell child tokens\n l = item.rows.length;\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n for (k = 0; k < row.length; k++) {\n row[k].tokens = this.lexer.inline(row[k].text);\n }\n }\n return item;\n }\n }\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n let link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n\n/**\n * Block-Level Grammar\n */\n// Not all rules are defined in the object literal\n// @ts-expect-error\nconst block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^(?!bull )((?:.|\\n(?!\\s*?\\n|bull ))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\nblock._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\nblock.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nblock.listItemStart = edit(/^( *)(bull) */)\n .replace('bull', block.bullet)\n .getRegex();\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /|$)/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\nblock.lheading = edit(block.lheading)\n .replace(/bull/g, block.bullet) // lists can interrupt\n .getRegex();\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n/**\n * Normal Block Grammar\n */\nblock.normal = { ...block };\n/**\n * GFM Block Grammar\n */\nblock.gfm = {\n ...block.normal,\n table: '^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n};\nblock.gfm.table = edit(block.gfm.table)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\nblock.gfm.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', block.gfm.table) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\nblock.pedantic = {\n ...block.normal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest,\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n};\n/**\n * Inline-Level Grammar\n */\n// Not all rules are defined in the object literal\n// @ts-expect-error\nconst inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^',\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // | Skip orphan inside strong | Consume to delim | (1) #*** | (2) a***#, a*** | (3) #***a, ***a | (4) ***# | (5) #***# | (6) a***a\n rDelimAst: /^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])/,\n rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/ // ^- Not allowed for _\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\`^|~';\ninline.punctuation = edit(inline.punctuation, 'u').replace(/punctuation/g, inline._punctuation).getRegex();\n// sequences em should skip over [title](link), `code`, \ninline.blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\ninline.anyPunctuation = /\\\\[punct]/g;\ninline._escapes = /\\\\([punct])/g;\ninline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();\ninline.emStrong.lDelim = edit(inline.emStrong.lDelim, 'u')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline.anyPunctuation = edit(inline.anyPunctuation, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline._escapes = edit(inline._escapes, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\ninline.tag = edit(inline.tag)\n .replace('comment', inline._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\ninline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .replace('ref', block._label)\n .getRegex();\ninline.nolink = edit(inline.nolink)\n .replace('ref', block._label)\n .getRegex();\ninline.reflinkSearch = edit(inline.reflinkSearch, 'g')\n .replace('reflink', inline.reflink)\n .replace('nolink', inline.nolink)\n .getRegex();\n/**\n * Normal Inline Grammar\n */\ninline.normal = { ...inline };\n/**\n * Pedantic Inline Grammar\n */\ninline.pedantic = {\n ...inline.normal,\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n};\n/**\n * GFM Inline Grammar\n */\ninline.gfm = {\n ...inline.normal,\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n}\n\n/**\n * Renderer\n */\nclass _Renderer {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '
'\n                + (escaped ? code : escape(code, true))\n                + '
\\n';\n }\n return '
'\n            + (escaped ? code : escape(code, true))\n            + '
\\n';\n }\n blockquote(quote) {\n return `
\\n${quote}
\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `${text}\\n`;\n }\n hr() {\n return '
\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n }\n listitem(text, task, checked) {\n return `
  • ${text}
  • \\n`;\n }\n checkbox(checked) {\n return '';\n }\n paragraph(text) {\n return `

    ${text}

    \\n`;\n }\n table(header, body) {\n if (body)\n body = `${body}`;\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n }\n tablerow(content) {\n return `\\n${content}\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `${text}`;\n }\n em(text) {\n return `${text}`;\n }\n codespan(text) {\n return `${text}`;\n }\n br() {\n return '
    ';\n }\n del(text) {\n return `${text}`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '
    ';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `\"${text}\"`;\n 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n\nclass _Hooks {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n}\n\nclass Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n parser = _Parser.parse;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n lexer = _Lexer.lex;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n values = values.concat(this.walkTokens(genericToken[childTokens], callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n const rendererFunc = pack.renderer[prop];\n const rendererKey = prop;\n const prevRenderer = renderer[rendererKey];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererKey] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n const tokenizerFunc = pack.tokenizer[prop];\n const tokenizerKey = prop;\n const prevTokenizer = tokenizer[tokenizerKey];\n // Replace tokenizer with func to run extension, but fall back if false\n tokenizer[tokenizerKey] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n const hooksFunc = pack.hooks[prop];\n const hooksKey = prop;\n const prevHook = hooks[hooksKey];\n if (_Hooks.passThroughHooks.has(prop)) {\n hooks[hooksKey] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n hooks[hooksKey] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n const tokens = lexer(src, opt);\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '

    An error occurred:

    '\n                    + escape(e.message + '', true)\n                    + '
    ';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n}\n\nconst markedInstance = new Marked();\nfunction marked(src, opt) {\n return markedInstance.parse(src, opt);\n}\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\nmarked.defaults = _defaults;\n/**\n * Use Extension\n */\nmarked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n/**\n * Run callback for every token\n */\nmarked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n};\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = _Parser.parse;\nconst lexer = _Lexer.lex;\n\nexport { _Hooks as Hooks, _Lexer as Lexer, Marked, _Parser as Parser, _Renderer as Renderer, _TextRenderer as TextRenderer, _Tokenizer as Tokenizer, _defaults as defaults, _getDefaults as getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n//# sourceMappingURL=marked.esm.js.map\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=ffd9a2d6&scoped=true\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ffd9a2d6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=5be7cbf9&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=5be7cbf9&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetails.vue?vue&type=template&id=5be7cbf9&scoped=true\"\nimport script from \"./AppDetails.vue?vue&type=script&lang=js\"\nexport * from \"./AppDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDetails.vue?vue&type=style&index=0&id=5be7cbf9&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5be7cbf9\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=2f31fb7f&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=2f31fb7f&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=2f31fb7f&scoped=true\"\nimport script from \"./Apps.vue?vue&type=script&lang=js\"\nexport * from \"./Apps.vue?vue&type=script&lang=js\"\nimport style0 from \"./Apps.vue?vue&type=style&index=0&id=2f31fb7f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2f31fb7f\",\n null\n \n)\n\nexport default component.exports","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","computed","scoreImage","imageName","Math","round","score","imagePath","axios","get","generateOcsUrl","then","_ref","data","ocs","meta","statuscode","emit","apps","window","dispatchEvent","Event","appGroups","app","groups","map","group","installing","$store","getters","loading","isLoading","enableButtonText","needsDownload","t","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","groupCheckedAppsData","mounted","length","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","groupArray","pop","concat","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","response","rebuildNavigation","catch","error","showError","enable","disable","remove","install","update","filterId","filterUrl","random","toString","substring","components","AppScore","NcButton","mixins","AppManagement","SvgFilterMixin","category","listView","Boolean","useBundleView","headers","isSelected","scrolled","screenshotLoaded","hasRating","appstoreData","ratingNumOverall","dataItemTag","watch","$route","params","releases","screenshot","image","Image","onload","e","src","watchers","showAppDetails","event","currentTarget","tagName","$router","prefix","content","getDataItemHeaders","columnName","join","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","tag","class","selected","preview","summary","version","level","stopPropagation","canUnInstall","active","canInstall","isCompatible","AppItem","PrefixMixin","counter","filter","hasPendingUpdate","showUpdateAll","useListView","getAllApps","toLowerCase","sort","a","b","sortStringA","sortStringB","OC","Util","naturalSortCompare","installed","bundles","appstore","undefined","getServerData","bundle","bundleApps","bundleIds","searchApps","find","_app","useAppStoreView","allBundlesEnabled","bundleToggleText","toggleBundle","disableBundle","enableBundle","console","Notification","show","updateAll","pLimit","store","n","key","_l","_defaults","async","breaks","extensions","gfm","hooks","pedantic","renderer","silent","tokenizer","walkTokens","changeDefaults","newDefaults","escapeTest","escapeReplace","RegExp","source","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","html","encode","test","replace","unescapeTest","caret","edit","regex","opt","obj","val","getRegex","cleanUrl","href","encodeURI","noopTest","exec","splitCells","tableRow","count","cells","match","str","escaped","curr","split","i","trim","shift","rtrim","c","invert","l","suffLen","currChar","charAt","slice","outputLink","cap","link","raw","lexer","text","state","inLink","token","tokens","inlineTokens","_Tokenizer","rules","constructor","space","block","newline","code","codeBlockStyle","fences","matchIndentToCode","indentToCode","node","matchIndentInNode","indentInNode","indentCodeCompensation","lang","inline","_escapes","heading","trimmed","depth","hr","blockquote","top","blockTokens","list","bull","isordered","ordered","start","loose","items","itemRegex","itemContents","endsWithBlankLine","endEarly","line","repeat","nextLine","indent","trimStart","blankLine","nextBulletRegex","min","hrRegex","fencesBeginRegex","headingBeginRegex","rawLine","ischecked","istask","task","checked","trimEnd","spacers","hasMultipleLineBreaks","some","pre","def","table","item","header","align","rows","j","k","row","lheading","paragraph","escape","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","findClosingBracket","linkLen","reflink","links","nolink","emStrong","maskedSrc","prevChar","lDelim","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","rDelimAst","rDelimUnd","lastIndex","lastCharLength","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","url","prevCapZero","_backpedal","inlineText","_paragraph","_label","_title","bullet","listItemStart","_tag","_comment","normal","reflinkSearch","_punctuation","blockSkip","anyPunctuation","_scheme","_email","_attribute","_href","strong","middle","endAst","endUnd","em","_extended_email","_Lexer","inlineQueue","Object","create","lex","lexInline","next","lastToken","cutSrc","lastParagraphClipped","_","leading","tabs","extTokenizer","call","startBlock","startIndex","Infinity","tempSrc","tempStart","forEach","getStartIndex","errMsg","charCodeAt","Error","keepPrevChar","keys","lastIndexOf","startInline","_Renderer","infostring","quote","body","listitem","checkbox","tablerow","tablecell","flags","cleanHref","out","_TextRenderer","_Parser","textRenderer","parse","parseInline","renderers","genericToken","ret","parser","headingToken","fromCharCode","parseInt","codeToken","tableToken","cell","blockquoteToken","listToken","itemBody","unshift","htmlToken","paragraphToken","textToken","escapeToken","tagToken","linkToken","imageToken","strongToken","emToken","codespanToken","delToken","_Hooks","static","Set","preprocess","markdown","postprocess","markedInstance","defaults","setOptions","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","args","use","callback","values","childTokens","pack","opts","ext","prevRenderer","apply","extLevel","prop","rendererFunc","rendererKey","tokenizerFunc","tokenizerKey","prevTokenizer","hooksFunc","hooksKey","prevHook","passThroughHooks","has","arg","Promise","resolve","packWalktokens","origOpt","warn","throwError","prototype","all","message","msg","reject","marked","getDefaults","renderMarkdown","prot","decodeURIComponent","unescape","dompurify","highlight","tables","sanitize","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","domProps","NcSelect","Markdown","required","appstoreUrl","licence","license","toUpperCase","author","getGroups","localeCompare","directives","rawName","value","expression","Array","isArray","_i","$$a","$$el","target","$$c","$$v","$$i","slot","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","internal","website","bugs","documentation","user","admin","developer","description","Vue","VueLocalStorage","APPS_SECTION_ENUM","NcAppContent","AppDetails","AppList","IconStarShooting","NcAppNavigation","NcAppNavigationItem","NcAppNavigationSpacer","NcCounterBubble","NcAppSidebar","NcAppSidebarTab","NcContent","searchQuery","loadingList","categories","getCategories","updateCount","getUpdateCount","settings","appSidebar","authorName","xmlNode","subname","background","compact","changelog","release","translations","en","isSubscribed","beforeMount","shouldRefetchCategories","commit","subscribe","setSearch","resetSearch","beforeDestroy","unsubscribe","hideAppDetails","openDeveloperDocumentation","open","developerDocumentation","scopedSlots","_u","fn","$options","enabled","disabled","updates","proxy","supported","appstoreEnabled","featured","cat","ident","displayName","ratingOverall","exports","_properties","_namespace","_isSupported","prototypeAccessors","namespace","set","_getLsKey","lsKey","_lsSet","rawValue","JSON","stringify","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","this$1","removeItem","addProperty","parseFloat","array","defineProperties","vueLocalStorage","process","server","SERVER_BUILD","env","VUE_ENV","isSupported","bind","mixin","beforeCreate","config","ref","getOwnPropertyDescriptor","log","configurable","defineProperty","util","defineReactive","factory"],"sourceRoot":""}