{"version":3,"file":"4238.8e7802627d2d005e0f8c.js","mappings":"6mBAYA,SAASA,EAAQC,GAAkC,OAAOD,EAAU,mBAAqBE,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBC,QAAUD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,CAAK,EAAGD,EAAQC,EAAM,CAC/U,SAASK,EAA2BC,EAAGC,GAAkB,IAAIC,EAAuB,oBAAXP,QAA0BK,EAAEL,OAAOC,WAAaI,EAAE,cAAe,IAAKE,EAAI,CAAE,GAAIC,MAAMC,QAAQJ,KAAOE,EAAKG,EAA4BL,KAAOC,GAAkBD,GAAyB,iBAAbA,EAAEM,OAAqB,CAAMJ,IAAIF,EAAIE,GAAI,IAAIK,EAAI,EAAOC,EAAI,WAAc,EAAG,MAAO,CAAEC,EAAGD,EAAGE,EAAG,WAAe,OAAIH,GAAKP,EAAEM,OAAe,CAAEK,MAAM,GAAe,CAAEA,MAAM,EAAOC,MAAOZ,EAAEO,KAAQ,EAAGM,EAAG,SAAWC,GAAM,MAAMA,CAAI,EAAGC,EAAGP,EAAK,CAAE,MAAM,IAAIQ,UAAU,wIAA0I,CAAE,IAA6CC,EAAzCC,GAAmB,EAAMC,GAAS,EAAY,MAAO,CAAEV,EAAG,WAAeP,EAAKA,EAAGkB,KAAKpB,EAAI,EAAGU,EAAG,WAAe,IAAIW,EAAOnB,EAAGoB,OAAsC,OAA9BJ,EAAmBG,EAAKV,KAAaU,CAAM,EAAGR,EAAG,SAAWU,GAAOJ,GAAS,EAAMF,EAAMM,CAAK,EAAGR,EAAG,WAAe,IAAWG,GAAoC,MAAhBhB,EAAW,QAAWA,EAAW,QAAK,CAAE,QAAU,GAAIiB,EAAQ,MAAMF,CAAK,CAAE,EAAK,CAG3+B,SAASZ,EAA4BL,EAAGwB,GAAU,GAAKxB,EAAL,CAAgB,GAAiB,iBAANA,EAAgB,OAAOyB,EAAkBzB,EAAGwB,GAAS,IAAId,EAAIgB,OAAO5B,UAAU6B,SAASP,KAAKpB,GAAG4B,MAAM,GAAI,GAAiE,MAAnD,WAANlB,GAAkBV,EAAEH,cAAaa,EAAIV,EAAEH,YAAYgC,MAAgB,QAANnB,GAAqB,QAANA,EAAoBP,MAAM2B,KAAK9B,GAAc,cAANU,GAAqB,2CAA2CqB,KAAKrB,GAAWe,EAAkBzB,EAAGwB,QAAzG,CAA7O,CAA+V,CAG/Z,SAASC,EAAkBO,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAI1B,UAAQ2B,EAAMD,EAAI1B,QAAQ,IAAK,IAAIC,EAAI,EAAG2B,EAAO,IAAI/B,MAAM8B,GAAM1B,EAAI0B,EAAK1B,IAAO2B,EAAK3B,GAAKyB,EAAIzB,GAAM,OAAO2B,CAAM,CAEtL,SAASC,EAAkBC,EAAQC,GAAS,IAAK,IAAI9B,EAAI,EAAGA,EAAI8B,EAAM/B,OAAQC,IAAK,CAAE,IAAI+B,EAAaD,EAAM9B,GAAI+B,EAAWC,WAAaD,EAAWC,aAAc,EAAOD,EAAWE,cAAe,EAAU,UAAWF,IAAYA,EAAWG,UAAW,GAAMf,OAAOgB,eAAeN,EAAQE,EAAWK,IAAKL,EAAa,CAAE,CAE5T,SAASM,EAAgBlD,EAAKiD,EAAK/B,GAAiK,OAApJ+B,KAAOjD,EAAOgC,OAAOgB,eAAehD,EAAKiD,EAAK,CAAE/B,MAAOA,EAAO2B,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkB/C,EAAIiD,GAAO/B,EAAgBlB,CAAK,CAZhNmD,EAAiB,aAAI,EAarB,IAAIC,EAA8B,WAChC,SAASA,EAAeC,EAAUC,GAChC,IAAIC,EAAQC,KAuIZ,GA7IJ,SAAyBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIpC,UAAU,oCAAwC,CAOpJqC,CAAgBH,KAAMJ,GACtBF,EAAgBM,KAAM,iBAAkB,CACtCI,WAAY,OACZC,SAAS,EACTC,eAAgB,GAChBC,SAAS,EACTC,KAAK,EACLC,QAAS,CAAC,WAAY,YACtBC,UAAU,EACVC,aAAc,EACdC,gBAAiB,MACjBC,YAAa,OACbC,aAAc,QACdC,gBAAiB,SACjBC,aAAc,GACdC,aAAa,EACbC,OAAO,EACPC,UAAW,UACXC,YAAY,EACZC,aAAa,EACbC,QAAS,wBACTC,gBAAgB,EAChBC,eAAgB,IAChBC,YAAY,EACZC,gBAAgB,EAChBC,MAAM,EACNC,KAAK,EACLC,UAAU,EACVC,eAAgB,GAChBC,UAAW,kBACXC,WAAY,GACZC,YAAa,GACbC,mBAAmB,EACnBC,mBAAmB,EACnBC,eAAe,EACfC,YAAY,EACZC,kBAAmB,6CACnBC,gBAAgB,EAChBC,SAAS,EACTC,iBAAkB,EAClBC,cAAe,EACfC,QAAS,GACTC,UAAW,eACXC,KAAK,EACLC,WAAY,WACZC,UAAW,IACXC,cAAc,EACdC,OAAO,EACPC,YAAY,EACZC,iBAAkB,GAClBC,UAAU,IAEZ1D,EAAgBM,KAAM,wBAAoB,GAC1CN,EAAgBM,KAAM,gCAA4B,GAClDN,EAAgBM,KAAM,qBAAqB,GAC3CN,EAAgBM,KAAM,gBAAiB,iBAAkBqD,QACzD3D,EAAgBM,KAAM,gBAAiB,0BAA0BnB,KAAKyE,UAAUC,WAChF7D,EAAgBM,KAAM,2BAAuB,GAC7CN,EAAgBM,KAAM,mBAAoB,cAAewC,SACzD9C,EAAgBM,KAAM,UAAU,GAChCN,EAAgBM,KAAM,eAAe,GACrCN,EAAgBM,KAAM,aAAa,GACnCN,EAAgBM,KAAM,YAAY,GAClCN,EAAgBM,KAAM,kBAAkB,GACxCN,EAAgBM,KAAM,eAAe,GACrCN,EAAgBM,KAAM,qBAAqB,GAC3CN,EAAgBM,KAAM,uBAAwB,MAC9CN,EAAgBM,KAAM,oBAAgB,GACtCN,EAAgBM,KAAM,iBAAkB,kBACxCN,EAAgBM,KAAM,WAAY,CAAC,GACnCN,EAAgBM,KAAM,eAAgB,IACtCN,EAAgBM,KAAM,oBAAqB,GAC3CN,EAAgBM,KAAM,oBAAqB,GAC3CN,EAAgBM,KAAM,kBAAmB,MACzCN,EAAgBM,KAAM,uBAAwB,GAC9CN,EAAgBM,KAAM,qBAAsB,CAC1CwD,UAAW,EACXC,WAAY,EACZC,WAAY,EACZC,SAAU,EACVC,YAAa,EACbC,UAAW,EACXC,WAAW,EACXC,UAAW,EACXC,QAAQ,EACRC,gBAAiB,EACjBC,eAAgB,EAChBC,iBAAkB,EAClBC,iBAAkB,EAClBC,UAAW,EACXC,SAAU,EACVC,SAAS,EACTC,eAAgB,EAChBC,eAAgB,EAChBC,sBAAuB,EACvBC,sBAAuB,EACvBC,uBAAwB,EACxBC,uBAAwB,EACxBC,aAAc,EACdC,qBAAsB,EACtBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,gBAAiB,EACjBC,cAAe,EACfC,cAAe,EACfC,YAAa,EACbC,aAAc,EACdC,aAAc,EACdC,aAAc,EACdC,aAAc,EACdC,gBAAiB,EACjBC,oBAAqB,EACrBC,WAAY,EACZC,cAAc,EACdC,eAAgB,IAElB/F,KAAKF,QAAUtB,OAAOwH,OAAOhG,KAAKiG,eAAgBnG,GAClDE,KAAKkG,yBAA2BlG,KAAKmG,4BACb,iBAAbtG,GACTG,KAAKoG,gBAAkBvG,EACvBG,KAAKH,SAAW5C,MAAM2B,KAAKyH,SAASC,iBAAiBzG,KAErDG,KAAKH,cAAsC,IAApBA,EAASzC,QAA0ByC,EAASzC,OAAS,EAAIH,MAAM2B,KAAKiB,GAAY,CAACA,GAE1GG,KAAKuG,gBAAkB,GACvBvG,KAAKwG,iBAAmBxG,KAAKyG,4BAC7BzG,KAAK0G,mBAA8C,IAA1B1G,KAAKwG,iBAC9BxG,KAAK2G,oBAAsB3G,KAAK4G,KAG5B5G,KAAKF,QAAQ8B,MACf5B,KAAKH,SAAWG,KAAK6G,WAAW7G,KAAKF,QAAQ8B,MAE3C5B,KAAKF,QAAQkD,aAAc,CAC7B,IAAI8D,EAAS,GACb9G,KAAKH,SAAW5C,MAAM2B,KAAKoB,KAAKH,UAAUkH,QAAO,SAAUC,GACzD,IAAIC,EAAMD,EAAQE,aAAanH,EAAMD,QAAQM,YAC7C,OAA6B,IAAzB0G,EAAOK,QAAQF,KACjBH,EAAOM,KAAKH,IACL,EAGX,GACF,CACAjH,KAAKqH,iBACDrH,KAAKF,QAAQoB,OACflB,KAAKsH,SAASC,QAAQC,YAAYxH,KAAKsH,SAASG,aAE9CzH,KAAKF,QAAQU,KACfR,KAAKsH,SAASC,QAAQC,YAAYxH,KAAKsH,SAASI,YAE9C1H,KAAKF,QAAQS,SACfP,KAAKsH,SAASC,QAAQC,YAAYxH,KAAKsH,SAAS/G,SAElDP,KAAK2H,iBAAiB3H,KAAKH,SAAU,SAAWG,KAAK4H,gBAAgB,SAAUC,GAC7E,GAAI9H,EAAM+H,YAAYD,EAAME,eAAgB,CAE1C,GADAF,EAAMG,iBACFjI,EAAMkI,YACR,OAAO,EAETlI,EAAMmI,kBAAoBnI,EAAMF,SAASsH,QAAQU,EAAME,eACvDhI,EAAMoI,UAAUN,EAAME,cACxB,CACF,IAGI/H,KAAKF,QAAQ+B,UACf7B,KAAK2H,iBAAiB3H,KAAKsH,SAASC,QAAS,CAAC,SAAWvH,KAAK4H,eAAgB,cAAgB5H,KAAK4H,iBAAiB,SAAUC,GACxH9H,EAAMqI,QAAUP,EAAM3I,SAAW2I,EAAME,eACzChI,EAAMmB,OAEV,IAIElB,KAAKF,QAAQqC,mBACfnC,KAAK2H,iBAAiBtB,SAASgC,KAAM,eAAiBrI,KAAK4H,gBAAgB,SAAUC,GAC/EA,EAAM3I,OAAOoJ,cAAcC,UAAUC,SAAS,aAChDX,EAAMG,gBAEV,IAIEhI,KAAKF,QAAQ4B,gBACf1B,KAAK2H,iBAAiBtB,SAASgC,KAAM,SAAWrI,KAAK4H,eAAgB5H,KAAKyI,UAAS,SAAUZ,GAI3F,GAHA9H,EAAM2I,mBAAmBlF,UAAY,EAGjCzD,EAAMkI,aAA6B,WAAdJ,EAAMpI,IAI7B,OAHAM,EAAM4I,aAAaC,aAAa,MAAO,IACvC7I,EAAMkI,aAAc,OACpBlI,EAAMmB,QAGJnB,EAAMqI,SACRP,EAAMG,iBACY,WAAdH,EAAMpI,KACRM,EAAMmB,SAEHnB,EAAMkI,aAAe,CAAC,YAAa,cAAcd,QAAQU,EAAMpI,MAAQ,GAC1EM,EAAM8I,UAAwB,eAAdhB,EAAMpI,IAAuB,GAAK,GAGxD,GAAGO,KAAKF,QAAQ2C,mBAElBzC,KAAK8I,WACP,CArNF,IAAsB5I,EAAa6I,EAuhDjC,OAvhDoB7I,EAsNPN,EAtNoBmJ,EAsNJ,CAAC,CAC5BtJ,IAAK,4BACL/B,MAAO,WAGL,IAAIsL,GAAkB,EACtB,IACE,IAAIC,EAAOzK,OAAOgB,eAAe,CAAC,EAAG,UAAW,CAC9C0J,IAAK,WACHF,GAAkB,CACpB,IAEF3F,OAAOsE,iBAAiB,cAAe,KAAMsB,GAC7C5F,OAAO8F,oBAAoB,cAAe,KAAMF,EAClD,CAAE,MAAOtL,GAAI,CACb,OAAOqL,CACT,GACC,CACDvJ,IAAK,oBACL/B,MAAO,SAA2B0L,GAEhC,GAAIpJ,KAAKF,QAAQc,gBAAgByI,WAAW,KAAM,CAChD,IAAIC,EAAWtJ,KAAKF,QAAQc,gBAAgB2I,QAAQ,MAAO,IAAIC,YAC3DC,EAAUL,EAAKM,mBACnB,SAAID,IAAWA,EAAQE,QAAQL,KACtBG,CAGX,CAAO,GAAIzJ,KAAKF,QAAQc,gBAAgByI,WAAW,KAAM,CACvD,IAAIO,EAAY5J,KAAKF,QAAQc,gBAAgB2I,QAAQ,KAAM,IAAIC,YAC/D,OAAOJ,EAAKS,cAAcD,EAC5B,CACE,OAAOR,EAAKS,cAAc7J,KAAKF,QAAQc,gBAE3C,GACC,CACDnB,IAAK,wBACL/B,MAAO,SAA+B0L,GACpC,IAAIU,EAAUV,EAAKU,QACjBC,EAAKX,EAAKW,GACVhI,EAAYqH,EAAKrH,UACjBiI,EAAaZ,EAAKY,WACpB,GAAgB,SAAZF,EAAoB,MAAO,OAC/B,IAAIG,EAAMH,EAEV,GADAG,GAAc,KAAPF,EAAY,IAAIG,OAAOH,GAAM,GAChChI,EAEF,IADA,IAAIoI,EAAUpI,EAAUqI,OAAOC,MAAM,MAC5BhN,EAAI,EAAGA,EAAI8M,EAAQ/M,OAAQC,IAClC4M,GAAO,IAAIC,OAAOC,EAAQ9M,IAI9B,IADA,IAAIiN,EAAa,EACR3M,EAAIyL,EAAMzL,EAAE4M,uBAAwB5M,EAAIA,EAAE4M,uBACjDD,GAAc,EAGhB,OADAL,GAAO,cAAcC,OAAOI,EAAY,KACjC,GAAGJ,OAAOlK,KAAKwK,sBAAsBR,GAAa,OAAOE,OAAOD,EACzE,GACC,CACDxK,IAAK,iBACL/B,MAAO,WAwBL,GAvBAsC,KAAKsH,SAASjH,QAAUgG,SAASoE,cAAc,OAC/CzK,KAAKsH,SAASjH,QAAQkI,UAAUmC,IAAI,cACpC1K,KAAKsH,SAASjH,QAAQsK,QAAQC,cAAgB5K,KAAKF,QAAQQ,eAC3DN,KAAKsH,SAASG,YAAcpB,SAASoE,cAAc,UACnDzK,KAAKsH,SAASG,YAAYc,UAAUmC,IAAI,YACxC1K,KAAKsH,SAASG,YAAYoD,UAAY7K,KAAKF,QAAQqB,UACnDnB,KAAKsH,SAAS/G,QAAU8F,SAASoE,cAAc,OAC/CzK,KAAKsH,SAAS/G,QAAQgI,UAAUmC,IAAI,cACpC1K,KAAKsH,SAAS/G,QAAQsK,UAAY,cAClC7K,KAAKsH,SAASI,WAAarB,SAASoE,cAAc,OAClDzK,KAAKsH,SAASI,WAAWa,UAAUmC,IAAI,iBACvC1K,KAAKsH,SAASI,WAAWmD,UAAY,2BAA6BX,OAAOlK,KAAKF,QAAQW,QAAQ,GAAI,qCAAuCyJ,OAAOlK,KAAKF,QAAQW,QAAQ,GAAI,aACzKT,KAAKsH,SAASwD,QAAUzE,SAASoE,cAAc,OAC/CzK,KAAKsH,SAASwD,QAAQvC,UAAUmC,IAAI,cACpC1K,KAAKsH,SAASwD,QAAQD,UAAY,kEAClC7K,KAAKsH,SAASlE,SAAWiD,SAASoE,cAAc,OAChDzK,KAAKsH,SAASlE,SAASmF,UAAUmC,IAAI,eACrC1K,KAAKsH,SAASyD,aAAe1E,SAASoE,cAAc,KACpDzK,KAAKsH,SAASyD,aAAanC,aAAa,WAAY,IACpD5I,KAAKsH,SAASyD,aAAaC,YAAchL,KAAKF,QAAQsD,SACtDpD,KAAKsH,SAASlE,SAASoE,YAAYxH,KAAKsH,SAASyD,cACjD/K,KAAKsH,SAAS2D,QAAU5E,SAASoE,cAAc,OAC/CzK,KAAKsH,SAAS2D,QAAQ1C,UAAUmC,IAAI,aAAc,OAAS1K,KAAKF,QAAQiB,iBACpEf,KAAKF,QAAQkB,aAAc,CAC7B,IAAIkK,EACAC,EAAiBnL,KAAKF,QAAQkB,aAAaqJ,MAAM,WACpDa,EAAwBlL,KAAKsH,SAAS2D,QAAQ1C,WAAWmC,IAAIU,MAAMF,EAjT5E,SAA4BpM,GAAO,GAAI7B,MAAMC,QAAQ4B,GAAM,OAAOP,EAAkBO,EAAM,CAJhDuM,CAAdvM,EAqT0FqM,IAlTtH,SAA0BG,GAAQ,GAAsB,oBAAX7O,QAAmD,MAAzB6O,EAAK7O,OAAOC,WAA2C,MAAtB4O,EAAK,cAAuB,OAAOrO,MAAM2B,KAAK0M,EAAO,CAHxFC,CAAiBzM,IAAQ3B,EAA4B2B,IAC1H,WAAgC,MAAM,IAAIhB,UAAU,uIAAyI,CAD3D0N,GAsT5H,CAtTN,IAA4B1M,EAuTtBkB,KAAKsH,SAASmE,MAAQpF,SAASoE,cAAc,OAC7CzK,KAAKsH,SAASmE,MAAMlD,UAAUmC,IAAI,YAClC1K,KAAKsH,SAASC,QAAUlB,SAASoE,cAAc,OAC/CzK,KAAKsH,SAASC,QAAQgB,UAAUmC,IAAI,cACpC1K,KAAKsH,SAASC,QAAQqB,aAAa,YAAa,GAChD5I,KAAKsH,SAASC,QAAQqB,aAAa,OAAQ,UAC3C5I,KAAKsH,SAASC,QAAQqB,aAAa,eAAe,GAC9C5I,KAAKF,QAAQiC,WACf/B,KAAKsH,SAASC,QAAQgB,UAAUmC,IAAI1K,KAAKF,QAAQiC,WAE/C/B,KAAKF,QAAQ+C,KACf7C,KAAKsH,SAASC,QAAQgB,UAAUmC,IAAI,aAExC,GACC,CACDjL,IAAK,WACL/B,MAAO,SAAkBgO,EAAMC,GAC7B,IAAIC,EACJ,OAAO,WACAA,IACHF,EAAKN,MAAMpL,KAAM6L,WACjBD,GAAa,EACbE,YAAW,WACT,OAAOF,GAAa,CACtB,GAAGD,GAEP,CACF,GACC,CACDlM,IAAK,cACL/B,MAAO,SAAqBsJ,GAC1B,OAAQhH,KAAKF,QAAQwB,SAAW0F,EAAQE,aAAalH,KAAKF,QAAQM,aAAe,IAAI2L,OAAO,IAAM/L,KAAKF,QAAQwB,QAAU,cAAe,KAAKzC,KAAKmI,EAAQE,aAAalH,KAAKF,QAAQM,YACtL,GACC,CACDX,IAAK,4BACL/B,MAAO,WACL,IAAIH,GAAK8I,SAASgC,MAAQhC,SAAS2F,iBAAiBC,MACpD,MAAO,eAAgB1O,EAAI,GAAK,qBAAsBA,EAAI,WAAa,kBAAmBA,EAAI,QAAU,gBAAiBA,GAAI,IAC/H,GACC,CACDkC,IAAK,oBACL/B,MAAO,WACL,IAAIwO,EACAC,EAAY9F,SAASoE,cAAc,OAKvC,OAJA0B,EAAU5D,UAAUmC,IAAI,wBACxBrE,SAASgC,KAAKb,YAAY2E,GAC1BD,EAAiBC,EAAUC,YAAcD,EAAUE,YACnDhG,SAASgC,KAAKiE,YAAYH,GACnBD,CACT,GACC,CACDzM,IAAK,kBACL/B,MAAO,SAAyB6O,GAC9B,IAAIL,EAAiB,EACjBM,EAAgB,GAAG9N,MAAMR,KAAKmI,SAASC,iBAAiB,IAAMtG,KAAKF,QAAQgD,aAC/E,GAAa,SAATyJ,EAAiB,CACnB,IAAIE,EAAkBpJ,OAAOqJ,WAC7B,IAAKD,EAAiB,CACpB,IAAIE,EAAsBtG,SAAS2F,gBAAgBY,wBACnDH,EAAkBE,EAAoBE,MAAQC,KAAKC,IAAIJ,EAAoBK,KAC7E,CACA,GAAI3G,SAASgC,KAAKgE,YAAcI,GAAmBzM,KAAKiN,cAAe,CACrE,IAAIC,EAAeC,SAAS9J,OAAO+J,iBAAiB/G,SAASgC,MAAM6E,cAAgB,EAAG,IACtFhB,EAAiBlM,KAAKqN,oBACtBhH,SAASgC,KAAKsC,QAAQ2C,qBAAuBJ,GACzChB,EAAiB,GAAuB,GAAlBA,GAAuBlM,KAAKiN,iBACpD5G,SAASgC,KAAKE,UAAUmC,IAAI,iBAC5BrE,SAASgC,KAAK4D,MAAMiB,aAAeA,EAAehB,EAAiB,KACnEM,EAAce,SAAQ,SAAUvG,GAC9B,IAAIwG,EAAgBxG,EAAQiF,MAAMiB,aAC9BO,EAAoBpK,OAAO+J,iBAAiBpG,GAAS,iBACzDA,EAAQ2D,QAAQ2C,qBAAuBE,EACvCxG,EAAQiF,MAAMiB,aAAe,GAAGhD,OAAOwD,WAAWD,GAAqBvB,EAAgB,KACzF,IAEJ,CACF,MACE7F,SAASgC,KAAKE,UAAUoF,OAAO,iBAC/BtH,SAASgC,KAAK4D,MAAMiB,aAAe7G,SAASgC,KAAKsC,QAAQ2C,qBAAuB,KAChFd,EAAce,SAAQ,SAAUvG,GAC9B,IAAI4G,EAAU5G,EAAQ2D,QAAQ2C,0BACP,IAAZM,IACT5G,EAAQiF,MAAMiB,aAAeU,EAEjC,IAEF,OAAO1B,CACT,GACC,CACDzM,IAAK,QACL/B,MAAO,WACL,IAAImQ,EAAS7N,KACb,IAAKA,KAAKoI,QAAUpI,KAAKiI,aAAejI,KAAK8N,UAC3C,OAAO,EAET9N,KAAK8N,WAAY,EACjB,IAAI9G,EAAUhH,KAAKuG,gBAAgBvG,KAAK+N,mBA+BxC,IAAK,IAAItO,KA9BTuH,EAAQgH,cAAc,IAAIC,MAAM,yBAC5BjO,KAAKF,QAAQ0C,UACfxC,KAAKkO,mBAAoB,EACpBlO,KAAKmO,aACRnO,KAAKoO,aAGTpO,KAAKmJ,oBAAoB9C,SAAU,WAAarG,KAAK4H,gBACrD5H,KAAKqO,QAAQrO,KAAKsH,SAASjH,QAASL,KAAKF,QAAQiD,WACjD/C,KAAKqO,QAAQhI,SAASC,iBAAiB,iFAAkFtG,KAAKF,QAAQiD,WAAW,WAC3I8K,EAAO/N,QAAQsC,eACjByL,EAAOS,gBAAgB,QAErBT,EAAO/N,QAAQ8C,WAA0C,KAA7BiL,EAAO/N,QAAQ8C,WAC7CyD,SAASwD,cAAc,QAAQtB,UAAUoF,OAAOE,EAAO/N,QAAQ8C,WAEjEyD,SAASgC,KAAKiE,YAAYuB,EAAOvG,SAASC,SACtCsG,EAAO/N,QAAQO,SACjBgG,SAASgC,KAAKiE,YAAYuB,EAAOvG,SAASjH,SAE5CwN,EAAOvG,SAAS/E,eAAiB,KACjCsL,EAAOvG,SAASlE,SAAW,KAC3B4D,EAAQgH,cAAc,IAAIC,MAAM,0BAChCJ,EAAOC,WAAY,CACrB,IACA9N,KAAK2I,aAAe,KACpB3I,KAAKoI,QAAS,EACdpI,KAAKiI,aAAc,EAGHjI,KAAK0I,mBACnB1I,KAAK0I,mBAAmBjJ,GAAO,EAEjCO,KAAK0I,mBAAmB5E,WAAY,EACpC9D,KAAK0I,mBAAmB1E,QAAS,EACjChE,KAAK0I,mBAAmBnE,SAAU,EAClCvE,KAAK0I,mBAAmB5D,aAAe9E,KAAKuO,OAAO,EAAG,EAAGvO,KAAKF,QAAQ6C,SACtE3C,KAAK0I,mBAAmB5C,cAAe,CACzC,GACC,CACDrG,IAAK,OACLyJ,IAAK,WACH,OAAO7F,OAAOmL,SAAS5H,KAAK6H,UAAU,EACxC,GACC,CACDhP,IAAK,UACL/B,MAAO,WACL,IAAIgR,EAAS1O,KACT2O,EAAQ3O,KAAK+N,kBACf3Q,EAAS4C,KAAKuG,gBAAgBnJ,OAC9BgB,EAAOuQ,EAAQ,EAAI,EAAIvR,EAAS,EAAIuR,EAAQ,GAAKvR,EAAS,EAAI,EAAIuR,EAAQ,EAC1EC,EAAOD,EAAQ,EAAI,EAAIvR,EAAS,EAAIuR,EAAQ,GAAKvR,EAAS,EAAI,EAAIuR,EAAQ,EAC1EE,EAAY,IAAIC,MAChBC,EAAY,IAAID,MAClBD,EAAUlH,iBAAiB,QAAQ,SAAUE,GAC3C,IAAIZ,EAAMY,EAAM3I,OAAOgI,aAAa,QACM,IAAtCwH,EAAOM,aAAa7H,QAAQF,IAE9ByH,EAAOM,aAAa5H,KAAKH,GAE3ByH,EAAOnI,gBAAgBoI,GAAOX,cAAc,IAAIC,MAAM,mBAAqBS,EAAO9G,gBACpF,IACAiH,EAAUjG,aAAa,MAAO5I,KAAKuG,gBAAgBnI,GAAM8I,aAAalH,KAAKF,QAAQM,aACnF2O,EAAUpH,iBAAiB,QAAQ,SAAUE,GAC3C,IAAIZ,EAAMY,EAAM3I,OAAOgI,aAAa,QACM,IAAtCwH,EAAOM,aAAa7H,QAAQF,IAC9ByH,EAAOM,aAAa5H,KAAKH,GAE3ByH,EAAOnI,gBAAgBoI,GAAOX,cAAc,IAAIC,MAAM,mBAAqBS,EAAO9G,gBACpF,IACAmH,EAAUnG,aAAa,MAAO5I,KAAKuG,gBAAgBqI,GAAM1H,aAAalH,KAAKF,QAAQM,YACrF,GACC,CACDX,IAAK,YACL/B,MAAO,SAAmBuR,GACxB,IAAIC,EAASlP,KACTmP,EAAiBF,EACjBjP,KAAKF,QAAQ+C,MACfoM,GAAaA,GAEfjP,KAAKuG,gBAAgBvG,KAAK+N,mBAAmBC,cAAc,IAAIC,MAAM,UAAYjO,KAAK4H,iBACtF5H,KAAKuG,gBAAgBvG,KAAK+N,mBAAmBC,cAAc,IAAIC,OAAqB,IAAdgB,EAAkB,OAAS,QAAU,IAAMjP,KAAK4H,iBACtH,IAAIwH,EAAWpP,KAAK+N,kBAAoBkB,EACxC,GAAIjP,KAAKiI,cAAgBmH,EAAW,GAAKA,GAAYpP,KAAKuG,gBAAgBnJ,UAAiC,IAAtB4C,KAAKF,QAAQ6B,KAChG,OAAO,EAET3B,KAAK+N,kBAAoBqB,EAAW,EAAIpP,KAAKuG,gBAAgBnJ,OAAS,EAAIgS,EAAWpP,KAAKuG,gBAAgBnJ,OAAS,EAAI,EAAIgS,EAC3HpP,KAAKsH,SAASwD,QAAQjB,cAAc,eAAegB,UAAY7K,KAAK+N,kBAAoB,EACpF/N,KAAKF,QAAQyB,gBACfvB,KAAKqP,MAAMrP,KAAKF,QAAQ0B,eAAiB,KAAO,IAAM2N,EAAiBnP,KAAK0I,mBAAmBlF,UAAY,MAE7GxD,KAAKqO,QAAQrO,KAAKsH,SAASmE,MAAOzL,KAAKF,QAAQiD,WAAW,WACxDmM,EAAOjH,aAAc,EAChBiH,EAAOpB,UAeVoB,EAAOjH,aAAc,EAdrB6D,YAAW,WACT,IAAI9E,EAAUkI,EAAO3I,gBAAgB2I,EAAOnB,mBACvCmB,EAAOvG,eACZuG,EAAOvG,aAAaC,aAAa,MAAO5B,EAAQE,aAAagI,EAAOpP,QAAQM,cACU,IAAlF8O,EAAOF,aAAa7H,QAAQH,EAAQE,aAAagI,EAAOpP,QAAQM,cAClE8O,EAAOI,KAAKJ,EAAO5H,SAAS/G,SAE1B2O,EAAO5H,SAASmE,MAAMjD,SAAS0G,EAAO5H,SAAS2D,UACjDiE,EAAO5H,SAASmE,MAAMa,YAAY4C,EAAO5H,SAAS2D,SAEpDiE,EAAOK,YAAYJ,GACfD,EAAOpP,QAAQ2B,YAAYyN,EAAOM,UACxC,GAAG,IAIP,GACF,GACC,CACD/P,IAAK,cACL/B,MAAO,SAAqBuR,GAC1B,IAAIQ,EAASzP,KACb,IAAKA,KAAK2I,aACR,OAAO,EAET,IAAI+G,EAAW,IAAIZ,MACjBa,EAActM,OAAOqJ,WAAa1M,KAAKF,QAAQkC,WAC/C4N,EAAevM,OAAOwM,YAAc7P,KAAKF,QAAQmC,YACnDyN,EAAS9G,aAAa,MAAO5I,KAAK2I,aAAazB,aAAa,QAC5DlH,KAAK2I,aAAagC,QAAQmF,MAAQ,EAClC9P,KAAK2I,aAAagC,QAAQoF,WAAa,EACvC/P,KAAK2I,aAAagC,QAAQqF,WAAa,EACvChQ,KAAKiQ,eAAe,EAAG,EAAG,GAC1BP,EAAS/H,iBAAiB,SAAS,SAAUE,GAC3C4H,EAAOlJ,gBAAgBkJ,EAAO1B,mBAAmBC,cAAc,IAAIC,MAAM,SAAWwB,EAAO7H,iBAC3F6H,EAAOxH,aAAc,EACrBwH,EAAOrH,QAAS,EAChBqH,EAAOnI,SAAS/G,QAAQ0L,MAAMiE,QAAU,OACxC,IAAIC,EAA6B,IAAdlB,IAAkC,IAAfA,EACtC,GAAIQ,EAAOvH,oBAAsBuH,EAAO1B,mBAAqBoC,EAC3D,OAAOV,EAAOvO,QAEZuO,EAAO3P,QAAQuC,YACjB+N,MAAMX,EAAO3P,QAAQwC,mBAEvBmN,EAAO5G,UAAUsH,EAAelB,EAAY,EAC9C,IACAS,EAAS/H,iBAAiB,QAAQ,SAAUE,QACjB,IAAdoH,IACTQ,EAAOlJ,gBAAgBkJ,EAAO1B,mBAAmBC,cAAc,IAAIC,MAAM,WAAawB,EAAO7H,iBAC7F6H,EAAOlJ,gBAAgBkJ,EAAO1B,mBAAmBC,cAAc,IAAIC,OAAqB,IAAdgB,EAAkB,WAAa,YAAc,IAAMQ,EAAO7H,kBAIlI6H,EAAO3P,QAAQ0C,SACjBiN,EAAOY,aAEqE,IAA1EZ,EAAOT,aAAa7H,QAAQsI,EAAO9G,aAAazB,aAAa,SAC/DuI,EAAOT,aAAa5H,KAAKqI,EAAO9G,aAAazB,aAAa,QAE5D,IAqBIoJ,EAAkBC,EArBlBC,EAAa3I,EAAM3I,OAAOuR,MAC5BC,EAAc7I,EAAM3I,OAAOyR,OAC7B,GAAIlB,EAAO3P,QAAQoC,mBAAqBsO,EAAab,GAAee,EAAcd,EAAc,CAC9F,IAAIgB,EAAQJ,EAAaE,EAAcf,EAAcC,EAAeY,EAAab,EAAce,EAAcd,EAC7GY,GAAcI,EACdF,GAAeE,CACjB,CACAnB,EAAOnI,SAASmE,MAAMQ,MAAM4E,KAAOxN,OAAOwM,YAAca,GAAe,EAAI,KAC3EjB,EAAOnI,SAASmE,MAAMQ,MAAMe,MAAQ3J,OAAOqJ,WAAa8D,EAAaf,EAAOqB,sBAAwB,EAAI,KACxGrB,EAAOnI,SAASmE,MAAMQ,MAAMwE,MAAQD,EAAa,KACjDf,EAAOnI,SAASmE,MAAMQ,MAAM0E,OAASD,EAAc,KACnDjB,EAAOnI,SAAS/G,QAAQ0L,MAAMiE,QAAU,OACpCT,EAAO3P,QAAQmD,OACjBwM,EAAOsB,aAETtB,EAAOuB,OAAOvB,EAAO9G,aAAc8G,EAAO3P,QAAQiD,WAAW,WACvD0M,EAAO3P,QAAQmD,OACjBwM,EAAOnI,SAASC,QAAQtE,OAE5B,IACAwM,EAAOrH,QAAS,EAE8B,iBAAnCqH,EAAO3P,QAAQc,gBACxB0P,EAAsD,SAAnCb,EAAO3P,QAAQc,gBAA6B6O,EAAOlJ,gBAAgBkJ,EAAO1B,mBAAqB0B,EAAOwB,kBAAkBxB,EAAOlJ,gBAAgBkJ,EAAO1B,oBACtH,mBAAnC0B,EAAO3P,QAAQc,kBAC/B0P,EAAmBb,EAAO3P,QAAQc,gBAAgB6O,EAAOlJ,gBAAgBkJ,EAAO1B,qBAE9E0B,EAAO3P,QAAQY,UAAY4P,IAE3BC,EADiC,SAA/Bd,EAAO3P,QAAQe,YACHyP,EAAiB3F,QAAQ8E,EAAO3P,QAAQgB,cACd,SAA/B2O,EAAO3P,QAAQe,YACVyP,EAAiBzF,UAEjByF,EAAiBpJ,aAAauI,EAAO3P,QAAQgB,eAG1D2O,EAAO3P,QAAQ6B,KAcoB,IAAlC8N,EAAOlJ,gBAAgBnJ,OACzBqS,EAAOyB,KAAKzB,EAAOnI,SAASI,WAAWpB,iBAAiB,uBAExDmJ,EAAOH,KAAKG,EAAOnI,SAASI,WAAWpB,iBAAiB,wBAhBzB,IAA7BmJ,EAAO1B,mBACT0B,EAAOyB,KAAKzB,EAAOnI,SAASI,WAAWmC,cAAc,aAEnD4F,EAAO1B,mBAAqB0B,EAAOlJ,gBAAgBnJ,OAAS,GAC9DqS,EAAOyB,KAAKzB,EAAOnI,SAASI,WAAWmC,cAAc,aAEnD4F,EAAO1B,kBAAoB,GAC7B0B,EAAOH,KAAKG,EAAOnI,SAASI,WAAWmC,cAAc,aAEnD4F,EAAO1B,kBAAoB0B,EAAOlJ,gBAAgBnJ,OAAS,GAC7DqS,EAAOH,KAAKG,EAAOnI,SAASI,WAAWmC,cAAc,cASvC,IAAdoF,IAAkC,IAAfA,GACjBQ,EAAO3P,QAAQyB,iBACjBkO,EAAOJ,MAAM,EAAG,IAAMJ,EAAY,MAClCnD,YAAW,WACT2D,EAAOJ,MAAMI,EAAO3P,QAAQ0B,eAAiB,IAAM,MACrD,GAAG,KAELiO,EAAOuB,OAAOvB,EAAOnI,SAASmE,MAAOgE,EAAO3P,QAAQiD,WAAW,WAC7D0M,EAAOxH,aAAc,EACrBwH,EAAO0B,WAAWZ,EAAaC,EACjC,MAEAf,EAAOxH,aAAc,EACrBwH,EAAO0B,WAAWZ,EAAaC,IAE7Bf,EAAO3P,QAAQyC,iBAAmBkN,EAAOnI,SAAS/E,iBACpDkN,EAAOnI,SAAS/E,eAAiB8D,SAASoE,cAAc,OACxDgF,EAAOnI,SAAS/E,eAAegG,UAAUmC,IAAI,sBAC7C+E,EAAOnI,SAAS/E,eAAesI,UAAY4E,EAAO3P,QAAQyC,eAC1DkN,EAAOnI,SAASmE,MAAMjE,YAAYiI,EAAOnI,SAAS/E,iBAEhDkN,EAAO3P,QAAQsD,UACjBqM,EAAOnI,SAASyD,aAAanC,aAAa,OAAQ6G,EAAO9G,aAAazB,aAAa,OAEvF,GACF,GACC,CACDzH,IAAK,iBACL/B,MAAO,SAAwB0H,EAAeC,EAAeC,GAC3DtF,KAAK2I,aAAasD,MAAMjM,KAAKwG,iBAAmB,aAAe,aAAepB,EAAgB,IAAMC,EAAgB,WAAaC,EAAc,GACjJ,GACC,CACD7F,IAAK,SACL/B,MAAO,SAAgBA,EAAO0T,EAAKC,GACjC,OAAO3T,EAAQ0T,EAAMA,EAAM1T,EAAQ2T,EAAMA,EAAM3T,CACjD,GACC,CACD+B,IAAK,cACL/B,MAAO,SAAqBoH,EAAcM,EAAeC,GACvDrF,KAAK2I,aAAagC,QAAQmF,MAAQhL,EAClC9E,KAAK2I,aAAagC,QAAQoF,WAAa3K,EACvCpF,KAAK2I,aAAagC,QAAQqF,WAAa3K,CACzC,GACC,CACD5F,IAAK,oBACL/B,MAAO,WACDsC,KAAKoI,QAAUpI,KAAK4G,OAAS5G,KAAK2G,sBACpC3G,KAAKmO,aAAc,EACnBnO,KAAKkB,QAET,GACC,CACDzB,IAAK,YACL/B,MAAO,WACL,IAAI4T,EAAStR,KA0Bb,GAxBAA,KAAK2H,iBAAiBtE,OAAQ,UAAYrD,KAAK4H,gBAAgB,SAAUC,GAEnEyJ,EAAOlJ,QACTkJ,EAAO/B,aAEX,IACAvP,KAAK2H,iBAAiB3H,KAAKsH,SAASG,YAAa,CAAC,SAAWzH,KAAK4H,eAAgB,cAAgB5H,KAAK4H,gBAAiB5H,KAAKkB,MAAMqQ,KAAKvR,OACpIA,KAAKF,QAAQ0C,SACfsJ,YAAW,WACTwF,EAAO3J,iBAAiBtE,OAAQ,cAAgBiO,EAAO1J,gBAAgB,SAAUC,GAC3EyJ,EAAOlJ,QACTkJ,EAAOE,mBAEX,GACF,GAAG,IAELxR,KAAK2H,iBAAiB3H,KAAKsH,SAASI,WAAW+J,qBAAqB,UAAW,SAAWzR,KAAK4H,gBAAgB,SAAUC,GACvH,IAAKA,EAAME,cAAc+B,QAAQ4H,MAAM,WACrC,OAAO,EAET7J,EAAMG,iBACNsJ,EAAO5I,mBAAmBlF,UAAY,EACtC8N,EAAOzI,UAAUhB,EAAME,cAAcQ,UAAUC,SAAS,WAAa,GAAK,EAC5E,IACIxI,KAAKF,QAAQoD,WAAY,CAC3B,IAAI4M,EAAQ,EACZ9P,KAAK2H,iBAAiB3H,KAAKsH,SAASmE,MAAO,CAAC,aAAc,mBAAmB,SAAU5D,GACrF,GAAIyJ,EAAO5I,mBAAmB5E,WAAawN,EAAOrJ,aAAeqJ,EAAOxD,YAAcwD,EAAOlJ,OAC3F,OAAO,EAEwC,GAA7CkJ,EAAO5I,mBAAmBzE,kBAC5BqN,EAAO5I,mBAAmBzE,gBAAkBqN,EAAOK,cAAcL,EAAOhK,SAASmE,OAAOkF,OACxFW,EAAO5I,mBAAmBxE,eAAiBoN,EAAOK,cAAcL,EAAOhK,SAASmE,OAAOgF,MACvFa,EAAO5I,mBAAmBrE,UAAYiN,EAAOK,cAAcL,EAAO3I,cAAcgI,OAChFW,EAAO5I,mBAAmBpE,SAAWgN,EAAOK,cAAcL,EAAO3I,cAAc8H,MAC/Ea,EAAO5I,mBAAmBvE,iBAAmBmN,EAAOhK,SAASmE,MAAMmG,WACnEN,EAAO5I,mBAAmBtE,iBAAmBkN,EAAOhK,SAASmE,MAAMoG,UACnEP,EAAO5I,mBAAmBlE,eAAiBkJ,WAAW4D,EAAO3I,aAAagC,QAAQoF,YAClFuB,EAAO5I,mBAAmBjE,eAAiBiJ,WAAW4D,EAAO3I,aAAagC,QAAQqF,aAIpF,IAAI8B,EAAQjK,EAAMiK,OAASjK,EAAMkK,gBACnBC,IAAVF,IAEFA,EAAQjK,EAAMoK,QAEhBH,EAAQhF,KAAKuE,KAAK,EAAGvE,KAAKsE,IAAI,EAAGU,IAGjChC,GAASgC,EAAQR,EAAOxR,QAAQqD,iBAAmB2M,EACnDA,EAAQhD,KAAKuE,IAAI,EAAGvE,KAAKsE,IAAIE,EAAOxR,QAAQ6C,QAASmN,IACrDwB,EAAO5I,mBAAmBpD,YAAcwK,EACxC,IAAIoC,EAAe7L,SAAS2F,gBAAgBmG,WAAa9L,SAASgC,KAAK8J,UACvEb,EAAO5I,mBAAmBnD,aAAesC,EAAMuK,MAC/Cd,EAAO5I,mBAAmBlD,aAAeqC,EAAMwK,MAAQH,GAAgB,EAEvEZ,EAAO5I,mBAAmBjD,cAAgB6L,EAAO5I,mBAAmBpE,SAAWgN,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmBxE,gBAAkB,EACnKoN,EAAO5I,mBAAmBhD,cAAgB4L,EAAO5I,mBAAmBrE,UAAYiN,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmBzE,iBAAmB,EACrKqN,EAAO5I,mBAAmB/C,gBAAkB2L,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmB5D,aAC9GwM,EAAO5I,mBAAmBtD,cAAgBkM,EAAO5I,mBAAmBpE,SAAWgN,EAAO5I,mBAAmBpD,aAAegM,EAAO5I,mBAAmBxE,eAAiB,EAAIoN,EAAO/C,OAAO+C,EAAO5I,mBAAmBlE,gBAAkB8M,EAAO5I,mBAAmBnD,aAAe+L,EAAO5I,mBAAmBvE,iBAAmBmN,EAAO5I,mBAAmBxE,eAAiB,EAAIoN,EAAO5I,mBAAmBlE,iBAAmB8M,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmB/C,iBAAmB2L,EAAO5I,mBAAmB/C,iBAA2D,EAA1C2L,EAAO5I,mBAAmBjD,aAAmB6L,EAAO5I,mBAAmBjD,cAC1lB6L,EAAO5I,mBAAmBrD,cAAgBiM,EAAO5I,mBAAmBrE,UAAYiN,EAAO5I,mBAAmBpD,aAAegM,EAAO5I,mBAAmBzE,gBAAkB,EAAIqN,EAAO/C,OAAO+C,EAAO5I,mBAAmBjE,gBAAkB6M,EAAO5I,mBAAmBlD,aAAe8L,EAAO5I,mBAAmBtE,iBAAmBkN,EAAO5I,mBAAmBzE,gBAAkB,EAAIqN,EAAO5I,mBAAmBjE,iBAAmB6M,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmB/C,iBAAmB2L,EAAO5I,mBAAmB/C,iBAA2D,EAA1C2L,EAAO5I,mBAAmBhD,aAAmB4L,EAAO5I,mBAAmBhD,cAC7lB4L,EAAOrB,eAAeqB,EAAO5I,mBAAmBtD,cAAgB,KAAMkM,EAAO5I,mBAAmBrD,cAAgB,KAAMiM,EAAO5I,mBAAmBpD,aAC5IgM,EAAO5I,mBAAmBpD,YAAc,GAC1CgM,EAAO5I,mBAAmB1E,QAAS,IAC7BsN,EAAOhK,SAAS2D,QAAQgB,MAAMqG,SAAWhB,EAAOhK,SAAS2D,QAAQgB,MAAMqG,QAAU,IAAgD,SAA1ChB,EAAOhK,SAAS2D,QAAQgB,MAAMiE,SACzHoB,EAAOjD,QAAQiD,EAAOhK,SAAS2D,QAASqG,EAAOxR,QAAQiD,aAGV,IAA3CuO,EAAO5I,mBAAmB5D,eAC5BwM,EAAO5I,mBAAmB1E,QAAS,EACW,SAA1CsN,EAAOhK,SAAS2D,QAAQgB,MAAMiE,SAChCoB,EAAON,OAAOM,EAAOhK,SAAS2D,QAASqG,EAAOxR,QAAQiD,YAG1DuO,EAAO5I,mBAAmB3D,qBAAuB,KACjDuM,EAAO5I,mBAAmBnE,SAAU,GAEtC+M,EAAO5I,mBAAmB3D,qBAAuBuM,EAAO5I,mBAAmB9C,oBAC3E0L,EAAO5I,mBAAmB5D,aAAewM,EAAO5I,mBAAmBpD,YACnEgM,EAAO5I,mBAAmBlE,eAAiB8M,EAAO5I,mBAAmBtD,cACrEkM,EAAO5I,mBAAmBjE,eAAiB6M,EAAO5I,mBAAmBrD,cACrEiM,EAAOiB,YAAYjB,EAAO5I,mBAAmBpD,YAAagM,EAAO5I,mBAAmBtD,cAAekM,EAAO5I,mBAAmBrD,eAC7HiM,EAAOrB,eAAeqB,EAAO5I,mBAAmBtD,cAAgB,KAAMkM,EAAO5I,mBAAmBrD,cAAgB,KAAMiM,EAAO5I,mBAAmBpD,YAClJ,GACF,CACAtF,KAAK2H,iBAAiB3H,KAAKsH,SAASmE,MAAO,CAAC,cAAgBzL,KAAK4H,eAAgB,aAAe5H,KAAK4H,iBAAiB,SAAUC,GAC9H,GAA6B,MAAzBA,EAAM3I,OAAO4K,SAAkC,eAAfjC,EAAM0E,KACxC,OAAO,EAET,GAAmB,cAAf1E,EAAM0E,KACR1E,EAAMG,iBACNsJ,EAAO5I,mBAAmBhE,sBAAwBmD,EAAM2K,QACxDlB,EAAO5I,mBAAmB/D,sBAAwBkD,EAAM4K,QACxDnB,EAAO5I,mBAAmBzE,gBAAkBqN,EAAOK,cAAcL,EAAOhK,SAASmE,OAAOkF,OACxFW,EAAO5I,mBAAmBxE,eAAiBoN,EAAOK,cAAcL,EAAOhK,SAASmE,OAAOgF,MACvFa,EAAO5I,mBAAmBrE,UAAYiN,EAAOK,cAAcL,EAAO3I,cAAcgI,OAChFW,EAAO5I,mBAAmBpE,SAAWgN,EAAOK,cAAcL,EAAO3I,cAAc8H,MAC/Ea,EAAO5I,mBAAmBvE,iBAAmBmN,EAAOhK,SAASmE,MAAMmG,WACnEN,EAAO5I,mBAAmBtE,iBAAmBkN,EAAOhK,SAASmE,MAAMoG,UACnEP,EAAO5I,mBAAmBlE,eAAiBkJ,WAAW4D,EAAO3I,aAAagC,QAAQoF,YAClFuB,EAAO5I,mBAAmBjE,eAAiBiJ,WAAW4D,EAAO3I,aAAagC,QAAQqF,YAClFsB,EAAO5I,mBAAmBnE,SAAU,MAC/B,CAUL,GATA+M,EAAO5I,mBAAmB7C,WAAagC,EAAM6K,QAAQtV,OACrDkU,EAAO5I,mBAAmBhE,sBAAwBmD,EAAM6K,QAAQ,GAAGF,QACnElB,EAAO5I,mBAAmB/D,sBAAwBkD,EAAM6K,QAAQ,GAAGD,QACnEnB,EAAO5I,mBAAmBzE,gBAAkBqN,EAAOK,cAAcL,EAAOhK,SAASmE,OAAOkF,OACxFW,EAAO5I,mBAAmBxE,eAAiBoN,EAAOK,cAAcL,EAAOhK,SAASmE,OAAOgF,MACvFa,EAAO5I,mBAAmBrE,UAAYiN,EAAOK,cAAcL,EAAO3I,cAAcgI,OAChFW,EAAO5I,mBAAmBpE,SAAWgN,EAAOK,cAAcL,EAAO3I,cAAc8H,MAC/Ea,EAAO5I,mBAAmBvE,iBAAmBmN,EAAOhK,SAASmE,MAAMmG,WACnEN,EAAO5I,mBAAmBtE,iBAAmBkN,EAAOhK,SAASmE,MAAMoG,UACtB,IAAzCP,EAAO5I,mBAAmB7C,WAAoC,CAC9D,GAAKyL,EAAO5I,mBAAmB5C,aA0B7B,OApBAwL,EAAO3I,aAAaJ,UAAUmC,IAAI,iBAC7B4G,EAAO5I,mBAAmB1E,QAS7BsN,EAAO5I,mBAAmB5D,aAAe,EACzCwM,EAAOiB,YAAYjB,EAAO5I,mBAAmB5D,aAAc,EAAG,GAC9DwM,EAAOrB,eAAe,MAAU,MAAUqB,EAAO5I,mBAAmB5D,cACpEwM,EAAO5I,mBAAmB1E,QAAS,IAXnCsN,EAAO5I,mBAAmB5D,aAAewM,EAAOxR,QAAQ4C,cACxD4O,EAAOiB,YAAYjB,EAAO5I,mBAAmB5D,aAAc,EAAG,GAC9DwM,EAAOrB,eAAe,MAAU,MAAUqB,EAAO5I,mBAAmB5D,gBAC9DwM,EAAOhK,SAAS2D,QAAQgB,MAAMqG,SAAWhB,EAAOhK,SAAS2D,QAAQgB,MAAMqG,QAAU,IAAgD,SAA1ChB,EAAOhK,SAAS2D,QAAQgB,MAAMiE,SACzHoB,EAAOjD,QAAQiD,EAAOhK,SAAS2D,QAASqG,EAAOxR,QAAQiD,WAEzDuO,EAAO5I,mBAAmB1E,QAAS,GAOrC8H,YAAW,WACLwF,EAAO3I,cACT2I,EAAO3I,aAAaJ,UAAUoF,OAAO,gBAEzC,GAAG,MACI,EAzBP2D,EAAO5I,mBAAmB5C,cAAe,EACzCgG,YAAW,WACTwF,EAAO5I,mBAAmB5C,cAAe,CAC3C,GAAG,KAwBLwL,EAAO5I,mBAAmBlE,eAAiBkJ,WAAW4D,EAAO3I,aAAagC,QAAQoF,YAClFuB,EAAO5I,mBAAmBjE,eAAiBiJ,WAAW4D,EAAO3I,aAAagC,QAAQqF,WACpF,MAAoD,IAAzCsB,EAAO5I,mBAAmB7C,aACnCyL,EAAO5I,mBAAmB9D,uBAAyBiD,EAAM6K,QAAQ,GAAGF,QACpElB,EAAO5I,mBAAmB7D,uBAAyBgD,EAAM6K,QAAQ,GAAGD,QACpEnB,EAAO5I,mBAAmBlE,eAAiBkJ,WAAW4D,EAAO3I,aAAagC,QAAQoF,YAClFuB,EAAO5I,mBAAmBjE,eAAiBiJ,WAAW4D,EAAO3I,aAAagC,QAAQqF,YAClFsB,EAAO5I,mBAAmBnD,cAAgB+L,EAAO5I,mBAAmBhE,sBAAwB4M,EAAO5I,mBAAmB9D,wBAA0B,EAChJ0M,EAAO5I,mBAAmBlD,cAAgB8L,EAAO5I,mBAAmB/D,sBAAwB2M,EAAO5I,mBAAmB7D,wBAA0B,EAChJyM,EAAO5I,mBAAmB3D,qBAAuB+H,KAAK6F,MAAMrB,EAAO5I,mBAAmBhE,sBAAwB4M,EAAO5I,mBAAmB9D,yBAA2B0M,EAAO5I,mBAAmBhE,sBAAwB4M,EAAO5I,mBAAmB9D,yBAA2B0M,EAAO5I,mBAAmB/D,sBAAwB2M,EAAO5I,mBAAmB7D,yBAA2ByM,EAAO5I,mBAAmB/D,sBAAwB2M,EAAO5I,mBAAmB7D,0BAEjcyM,EAAO5I,mBAAmBnE,SAAU,CACtC,CACA,QAAI+M,EAAO5I,mBAAmB5E,YAC1BwN,EAAO5K,oBACT4K,EAAO5I,mBAAmB3E,UAAYoJ,SAASmE,EAAOhK,SAASmE,MAAMQ,MAAMe,KAAM,KAEnFsE,EAAO5I,mBAAmB5E,WAAY,EACtCwN,EAAO5I,mBAAmBlF,UAAY,EACtC8N,EAAO5I,mBAAmBjF,WAAa,EACvC6N,EAAO5I,mBAAmBhF,WAAamE,EAAMuK,OAASvK,EAAM6K,QAAQ,GAAGN,MACvEd,EAAO5I,mBAAmB9E,YAAciE,EAAMwK,OAASxK,EAAM6K,QAAQ,GAAGL,OACjE,EACT,IACArS,KAAK2H,iBAAiB3H,KAAKsH,SAASmE,MAAO,CAAC,aAAezL,KAAK4H,eAAgB,aAAe5H,KAAK4H,eAAgB,kBAAkB,SAAUC,GAC9I,IAAKyJ,EAAO5I,mBAAmB5E,UAC7B,OAAO,EAET,GAAmB,cAAf+D,EAAM0E,KAAsB,CAC9B,IAA0C,IAAtC+E,EAAO5I,mBAAmBnE,QAC5B,OAAO,EAET+M,EAAO5I,mBAAmB1D,eAAiB6C,EAAM6K,QAAQ,GAAGF,QAC5DlB,EAAO5I,mBAAmBzD,eAAiB4C,EAAM6K,QAAQ,GAAGD,QAC5DnB,EAAO5I,mBAAmB7C,WAAagC,EAAM6K,QAAQtV,OACrDkU,EAAO5I,mBAAmB3C,iBACtBuL,EAAO5I,mBAAmB7C,WAAa,GACvCyL,EAAO5I,mBAAmBxD,gBAAkB2C,EAAM6K,QAAQ,GAAGF,QAC7DlB,EAAO5I,mBAAmBvD,gBAAkB0C,EAAM6K,QAAQ,GAAGD,QAC7DnB,EAAO5I,mBAAmB9C,oBAAsBkH,KAAK6F,MAAMrB,EAAO5I,mBAAmB1D,eAAiBsM,EAAO5I,mBAAmBxD,kBAAoBoM,EAAO5I,mBAAmB1D,eAAiBsM,EAAO5I,mBAAmBxD,kBAAoBoM,EAAO5I,mBAAmBzD,eAAiBqM,EAAO5I,mBAAmBvD,kBAAoBmM,EAAO5I,mBAAmBzD,eAAiBqM,EAAO5I,mBAAmBvD,kBACpV,OAAnDmM,EAAO5I,mBAAmB3D,uBAC5BuM,EAAO5I,mBAAmB3D,qBAAuBuM,EAAO5I,mBAAmB9C,qBAEzEkH,KAAKC,IAAIuE,EAAO5I,mBAAmB3D,qBAAuBuM,EAAO5I,mBAAmB9C,sBAAwB,IAE9G0L,EAAO5I,mBAAmBpD,YAAcgM,EAAO/C,OAAO+C,EAAO5I,mBAAmB9C,oBAAsB0L,EAAO5I,mBAAmB3D,qBAAuBuM,EAAO5I,mBAAmB5D,aAAc,EAAGwM,EAAOxR,QAAQ6C,SACjN2O,EAAO5I,mBAAmBjD,cAAgB6L,EAAO5I,mBAAmBpE,SAAWgN,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmBxE,gBAAkB,EACnKoN,EAAO5I,mBAAmBhD,cAAgB4L,EAAO5I,mBAAmBrE,UAAYiN,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmBzE,iBAAmB,EACrKqN,EAAO5I,mBAAmB/C,gBAAkB2L,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmB5D,aAC9GwM,EAAO5I,mBAAmBtD,cAAgBkM,EAAO5I,mBAAmBpE,SAAWgN,EAAO5I,mBAAmBpD,aAAegM,EAAO5I,mBAAmBxE,eAAiB,EAAIoN,EAAO/C,OAAO+C,EAAO5I,mBAAmBlE,gBAAkB8M,EAAO5I,mBAAmBnD,aAAe+L,EAAO5I,mBAAmBvE,iBAAmBmN,EAAO5I,mBAAmBxE,eAAiB,EAAIoN,EAAO5I,mBAAmBlE,iBAAmB8M,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmB/C,iBAAmB2L,EAAO5I,mBAAmB/C,iBAA2D,EAA1C2L,EAAO5I,mBAAmBjD,aAAmB6L,EAAO5I,mBAAmBjD,cAC1lB6L,EAAO5I,mBAAmBrD,cAAgBiM,EAAO5I,mBAAmBrE,UAAYiN,EAAO5I,mBAAmBpD,aAAegM,EAAO5I,mBAAmBzE,gBAAkB,EAAIqN,EAAO/C,OAAO+C,EAAO5I,mBAAmBjE,gBAAkB6M,EAAO5I,mBAAmBlD,aAAe8L,EAAO5I,mBAAmBtE,iBAAmBkN,EAAO5I,mBAAmBzE,gBAAkB,EAAIqN,EAAO5I,mBAAmBjE,iBAAmB6M,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmB/C,iBAAmB2L,EAAO5I,mBAAmB/C,iBAA2D,EAA1C2L,EAAO5I,mBAAmBhD,aAAmB4L,EAAO5I,mBAAmBhD,cAC7lB4L,EAAOrB,eAAeqB,EAAO5I,mBAAmBtD,cAAgB,KAAMkM,EAAO5I,mBAAmBrD,cAAgB,KAAMiM,EAAO5I,mBAAmBpD,aAC5IgM,EAAO5I,mBAAmBpD,YAAc,IAC1CgM,EAAO5I,mBAAmB1E,QAAS,IAC7BsN,EAAOhK,SAAS2D,QAAQgB,MAAMqG,SAAWhB,EAAOhK,SAAS2D,QAAQgB,MAAMqG,QAAU,IAAgD,SAA1ChB,EAAOhK,SAAS2D,QAAQgB,MAAMiE,SACzHoB,EAAOjD,QAAQiD,EAAOhK,SAAS2D,QAASqG,EAAOxR,QAAQiD,YAG3DuO,EAAO5I,mBAAmB3D,qBAAuBuM,EAAO5I,mBAAmB9C,oBAC3E0L,EAAO5I,mBAAmB5D,aAAewM,EAAO5I,mBAAmBpD,YACnEgM,EAAO5I,mBAAmBlE,eAAiB8M,EAAO5I,mBAAmBtD,cACrEkM,EAAO5I,mBAAmBjE,eAAiB6M,EAAO5I,mBAAmBrD,iBAGzEiM,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmB5D,aAClEwM,EAAO5I,mBAAmBjD,cAAgB6L,EAAO5I,mBAAmBpE,SAAWgN,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmBxE,gBAAkB,EACnKoN,EAAO5I,mBAAmBhD,cAAgB4L,EAAO5I,mBAAmBrE,UAAYiN,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmBzE,iBAAmB,EACrKqN,EAAO5I,mBAAmBtD,cAAgBkM,EAAO5I,mBAAmBpE,SAAWgN,EAAO5I,mBAAmBpD,aAAegM,EAAO5I,mBAAmBxE,eAAiB,EAAIoN,EAAO/C,OAAO+C,EAAO5I,mBAAmB1D,gBAAkBsM,EAAO5I,mBAAmBhE,sBAAwB4M,EAAO5I,mBAAmBlE,iBAA2D,EAA1C8M,EAAO5I,mBAAmBjD,aAAmB6L,EAAO5I,mBAAmBjD,cACrY6L,EAAO5I,mBAAmBrD,cAAgBiM,EAAO5I,mBAAmBrE,UAAYiN,EAAO5I,mBAAmBpD,aAAegM,EAAO5I,mBAAmBzE,gBAAkB,EAAIqN,EAAO/C,OAAO+C,EAAO5I,mBAAmBzD,gBAAkBqM,EAAO5I,mBAAmB/D,sBAAwB2M,EAAO5I,mBAAmBjE,iBAA2D,EAA1C6M,EAAO5I,mBAAmBhD,aAAmB4L,EAAO5I,mBAAmBhD,cACnYoH,KAAKC,IAAIuE,EAAO5I,mBAAmBtD,iBAAmB0H,KAAKC,IAAIuE,EAAO5I,mBAAmBjD,gBAC3F6L,EAAO5I,mBAAmBlE,eAAiB8M,EAAO5I,mBAAmBtD,cACrEkM,EAAO5I,mBAAmBhE,sBAAwB4M,EAAO5I,mBAAmB1D,gBAE1E8H,KAAKC,IAAIuE,EAAO5I,mBAAmBrD,iBAAmByH,KAAKC,IAAIuE,EAAO5I,mBAAmBhD,gBAC3F4L,EAAO5I,mBAAmBjE,eAAiB6M,EAAO5I,mBAAmBrD,cACrEiM,EAAO5I,mBAAmB/D,sBAAwB2M,EAAO5I,mBAAmBzD,gBAE9EqM,EAAOiB,YAAYjB,EAAO5I,mBAAmB5D,aAAcwM,EAAO5I,mBAAmBtD,cAAekM,EAAO5I,mBAAmBrD,eAC9HiM,EAAOrB,eAAeqB,EAAO5I,mBAAmBtD,cAAgB,KAAMkM,EAAO5I,mBAAmBrD,cAAgB,KAAMiM,EAAO5I,mBAAmBpD,aAEpJ,CAGA,GAAmB,cAAfuC,EAAM0E,MAAwB+E,EAAO5I,mBAAmB5E,UAAW,CACrE,GAAkB,aAAd+D,EAAM0E,KAAqB,OAAO,EAEtC,GADA1E,EAAMG,kBACoC,IAAtCsJ,EAAO5I,mBAAmBnE,QAAmB,OAAO,EACxD+M,EAAO5I,mBAAmB1D,eAAiB6C,EAAM2K,QACjDlB,EAAO5I,mBAAmBzD,eAAiB4C,EAAM4K,QACjDnB,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmB5D,aAClEwM,EAAO5I,mBAAmBjD,cAAgB6L,EAAO5I,mBAAmBpE,SAAWgN,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmBxE,gBAAkB,EACnKoN,EAAO5I,mBAAmBhD,cAAgB4L,EAAO5I,mBAAmBrE,UAAYiN,EAAO5I,mBAAmBpD,YAAcgM,EAAO5I,mBAAmBzE,iBAAmB,EACrKqN,EAAO5I,mBAAmBtD,cAAgBkM,EAAO5I,mBAAmBpE,SAAWgN,EAAO5I,mBAAmBpD,aAAegM,EAAO5I,mBAAmBxE,eAAiB,EAAIoN,EAAO/C,OAAO+C,EAAO5I,mBAAmB1D,gBAAkBsM,EAAO5I,mBAAmBhE,sBAAwB4M,EAAO5I,mBAAmBlE,iBAA2D,EAA1C8M,EAAO5I,mBAAmBjD,aAAmB6L,EAAO5I,mBAAmBjD,cACrY6L,EAAO5I,mBAAmBrD,cAAgBiM,EAAO5I,mBAAmBrE,UAAYiN,EAAO5I,mBAAmBpD,aAAegM,EAAO5I,mBAAmBzE,gBAAkB,EAAIqN,EAAO/C,OAAO+C,EAAO5I,mBAAmBzD,gBAAkBqM,EAAO5I,mBAAmB/D,sBAAwB2M,EAAO5I,mBAAmBjE,iBAA2D,EAA1C6M,EAAO5I,mBAAmBhD,aAAmB4L,EAAO5I,mBAAmBhD,cACnYoH,KAAKC,IAAIuE,EAAO5I,mBAAmBtD,iBAAmB0H,KAAKC,IAAIuE,EAAO5I,mBAAmBjD,gBAC3F6L,EAAO5I,mBAAmBlE,eAAiB8M,EAAO5I,mBAAmBtD,cACrEkM,EAAO5I,mBAAmBhE,sBAAwB4M,EAAO5I,mBAAmB1D,gBAE1E8H,KAAKC,IAAIuE,EAAO5I,mBAAmBrD,iBAAmByH,KAAKC,IAAIuE,EAAO5I,mBAAmBhD,gBAC3F4L,EAAO5I,mBAAmBjE,eAAiB6M,EAAO5I,mBAAmBrD,cACrEiM,EAAO5I,mBAAmB/D,sBAAwB2M,EAAO5I,mBAAmBzD,gBAE9EqM,EAAOiB,YAAYjB,EAAO5I,mBAAmB5D,aAAcwM,EAAO5I,mBAAmBtD,cAAekM,EAAO5I,mBAAmBrD,eAC9HiM,EAAOrB,eAAeqB,EAAO5I,mBAAmBtD,cAAgB,KAAMkM,EAAO5I,mBAAmBrD,cAAgB,KAAMiM,EAAO5I,mBAAmBpD,YAClJ,CACKgM,EAAO5I,mBAAmB1E,SAC7BsN,EAAO5I,mBAAmB/E,SAAWkE,EAAMuK,OAASvK,EAAM6K,QAAQ,GAAGN,MACrEd,EAAO5I,mBAAmB7E,UAAYgE,EAAMwK,OAASxK,EAAM6K,QAAQ,GAAGL,MACtEf,EAAO5I,mBAAmBlF,UAAY8N,EAAO5I,mBAAmBhF,WAAa4N,EAAO5I,mBAAmB/E,SACvG2N,EAAO5I,mBAAmBjF,WAAa6N,EAAO5I,mBAAmB9E,YAAc0N,EAAO5I,mBAAmB7E,UACrGyN,EAAOxR,QAAQyB,gBACjB+P,EAAOjC,MAAM,GAAIiC,EAAO5I,mBAAmBlF,UAAY,MAG7D,IACAxD,KAAK2H,iBAAiB3H,KAAKsH,SAASmE,MAAO,CAAC,YAAczL,KAAK4H,eAAgB,WAAa5H,KAAK4H,eAAgB,eAAiB5H,KAAK4H,eAAgB,cAAgB5H,KAAK4H,eAAgB,YAAa,gBAAiB,cAAe,oBAAoB,SAAUC,GAuBrQ,GAtBIyJ,EAAOsB,eAAgC,aAAf/K,EAAM0E,OAChC+E,EAAO5I,mBAAmB7C,WAAagC,EAAM6K,QAAQtV,OACR,IAAzCkU,EAAO5I,mBAAmB7C,YAEtByL,EAAO3I,cACT2I,EAAOiB,YAAYjB,EAAO5I,mBAAmB5D,aAAcwM,EAAO5I,mBAAmBtD,cAAekM,EAAO5I,mBAAmBrD,eAEjF,IAA3CiM,EAAO5I,mBAAmB5D,eAC5BwM,EAAO5I,mBAAmB1E,QAAS,EACW,SAA1CsN,EAAOhK,SAAS2D,QAAQgB,MAAMiE,SAChCoB,EAAON,OAAOM,EAAOhK,SAAS2D,QAASqG,EAAOxR,QAAQiD,YAG1DuO,EAAO5I,mBAAmB3D,qBAAuB,KACjDuM,EAAO5I,mBAAmBnE,SAAU,GACc,IAAzC+M,EAAO5I,mBAAmB7C,YACnCyL,EAAO5I,mBAAmBhE,sBAAwBmD,EAAM6K,QAAQ,GAAGF,QACnElB,EAAO5I,mBAAmB/D,sBAAwBkD,EAAM6K,QAAQ,GAAGD,SAC1DnB,EAAO5I,mBAAmB7C,WAAa,IAChDyL,EAAO5I,mBAAmB3D,qBAAuB,OAGnDuM,EAAO5I,mBAAmB5E,UAAW,CACvCwN,EAAO5I,mBAAmB5E,WAAY,EACtC,IAAI+O,GAAc,EACbvB,EAAOxR,QAAQ6B,OACe,IAA7B2P,EAAOvD,mBAA2BuD,EAAO5I,mBAAmBlF,UAAY,IAC1EqP,GAAc,GAEZvB,EAAOvD,mBAAqBuD,EAAO/K,gBAAgBnJ,OAAS,GAAKkU,EAAO5I,mBAAmBlF,UAAY,IACzGqP,GAAc,IAGd/F,KAAKC,IAAIuE,EAAO5I,mBAAmBlF,WAAa8N,EAAOxR,QAAQgC,gBAAkB+Q,EACnFvB,EAAOzI,UAAUyI,EAAO5I,mBAAmBlF,UAAY,EAAI,GAAK,GACvD8N,EAAOxR,QAAQyB,gBACxB+P,EAAOjC,MAAMiC,EAAOxR,QAAQ0B,eAAiB,IAAM,OAEjD8P,EAAOxR,QAAQsB,YAAc0L,KAAKC,IAAIuE,EAAO5I,mBAAmBjF,YAAc,IAAMqJ,KAAKC,IAAIuE,EAAO5I,mBAAmBlF,WAAa8N,EAAOxR,QAAQgC,gBACrJwP,EAAOpQ,OAEX,CACF,IACAlB,KAAK2H,iBAAiB3H,KAAKsH,SAASmE,MAAO,CAAC,aAAa,SAAU5D,GACjE,IAAIyJ,EAAOsB,cAkCX,OAjCAtB,EAAO5I,mBAAmBhE,sBAAwBmD,EAAM2K,QACxDlB,EAAO5I,mBAAmB/D,sBAAwBkD,EAAM4K,QACxDnB,EAAO5I,mBAAmBzE,gBAAkBqN,EAAOK,cAAcL,EAAOhK,SAASmE,OAAOkF,OACxFW,EAAO5I,mBAAmBxE,eAAiBoN,EAAOK,cAAcL,EAAOhK,SAASmE,OAAOgF,MACvFa,EAAO5I,mBAAmBrE,UAAYiN,EAAOK,cAAcL,EAAO3I,cAAcgI,OAChFW,EAAO5I,mBAAmBpE,SAAWgN,EAAOK,cAAcL,EAAO3I,cAAc8H,MAC/Ea,EAAO5I,mBAAmBvE,iBAAmBmN,EAAOhK,SAASmE,MAAMmG,WACnEN,EAAO5I,mBAAmBtE,iBAAmBkN,EAAOhK,SAASmE,MAAMoG,UACnEP,EAAO3I,aAAaJ,UAAUmC,IAAI,iBAC7B4G,EAAO5I,mBAAmB1E,QAS7BsN,EAAO5I,mBAAmB5D,aAAe,EACzCwM,EAAOiB,YAAYjB,EAAO5I,mBAAmB5D,aAAc,EAAG,GAC9DwM,EAAOrB,eAAe,MAAU,MAAUqB,EAAO5I,mBAAmB5D,cACpEwM,EAAO5I,mBAAmB1E,QAAS,EACW,SAA1CsN,EAAOhK,SAAS2D,QAAQgB,MAAMiE,SAChCoB,EAAON,OAAOM,EAAOhK,SAAS2D,QAASqG,EAAOxR,QAAQiD,aAbxDuO,EAAO5I,mBAAmB5D,aAAewM,EAAOxR,QAAQ4C,cACxD4O,EAAOiB,YAAYjB,EAAO5I,mBAAmB5D,aAAc,EAAG,GAC9DwM,EAAOrB,eAAe,MAAU,MAAUqB,EAAO5I,mBAAmB5D,gBAC9DwM,EAAOhK,SAAS2D,QAAQgB,MAAMqG,SAAWhB,EAAOhK,SAAS2D,QAAQgB,MAAMqG,QAAU,IAAgD,SAA1ChB,EAAOhK,SAAS2D,QAAQgB,MAAMiE,SACzHoB,EAAOjD,QAAQiD,EAAOhK,SAAS2D,QAASqG,EAAOxR,QAAQiD,WAEzDuO,EAAO5I,mBAAmB1E,QAAS,GAUrC8H,YAAW,WACLwF,EAAO3I,eACT2I,EAAO3I,aAAaJ,UAAUoF,OAAO,iBACrC2D,EAAO3I,aAAasD,MAAMqF,EAAO9K,iBAAmB,oBAAsB,KAE9E,GAAG,KACH8K,EAAO5I,mBAAmBnE,SAAU,GAC7B,CACT,GACF,GACC,CACD9E,IAAK,gBACL/B,MAAO,SAAuBsJ,GAC5B,IAAI8L,EAASzP,OAAO+J,iBAAiBpG,GACnC2J,EAAS3J,EAAQ+L,aACjBtC,EAAQzJ,EAAQoF,YAChB4G,EAAiBtF,WAAWoF,EAAOE,gBAQrC,MAAO,CACLrC,OAAQA,EARYjD,WAAWoF,EAAOG,mBAQDD,EAPxBtF,WAAWoF,EAAOI,YACfxF,WAAWoF,EAAOK,eAOlC1C,MAAOA,EANW/C,WAAWoF,EAAOM,iBACjB1F,WAAWoF,EAAOO,kBACvB3F,WAAWoF,EAAOQ,aACjB5F,WAAWoF,EAAO5F,cAKrC,GACC,CACDzN,IAAK,aACL/B,MAAO,WACL,IAAI6V,EAAU,QAAUvT,KAAK+N,kBAAoB,GAC/CyF,EAASnQ,OAAOmL,SAASiF,KAAKpJ,MAAM,KAAK,GAAK,IAAMkJ,EACtDvT,KAAKmO,aAAc,EACfnO,KAAK0T,iBACPrQ,OAAOb,QAAQxC,KAAKkO,kBAAoB,eAAiB,aAAa,GAAI7H,SAASsN,MAAOH,GAGtFxT,KAAKkO,kBACP7K,OAAOmL,SAASjF,QAAQiK,GAExBnQ,OAAOmL,SAAS5H,KAAO2M,EAGtBvT,KAAKkO,oBACRlO,KAAK4T,gBAAiB,GAExB5T,KAAKkO,mBAAoB,CAC3B,GACC,CACDzO,IAAK,YACL/B,MAAO,WACLsC,KAAKmO,aAAc,EACfnO,KAAK4T,eACPpR,QAAQqR,OAEJ7T,KAAK0T,iBACPlR,QAAQsR,UAAU,GAAIzN,SAASsN,MAAOtQ,OAAOmL,SAASuF,SAAW1Q,OAAOmL,SAASwF,QAEjF3Q,OAAOmL,SAAS5H,KAAO,GAK3BqN,aAAajU,KAAKkU,qBACpB,GACC,CACDzU,IAAK,YACL/B,MAAO,WACLuW,aAAajU,KAAKkU,sBACblU,KAAKkO,kBAGRlO,KAAKkU,qBAAuBpI,WAAW9L,KAAKmU,WAAW5C,KAAKvR,MAAO,KAFnEA,KAAKmU,YAIT,GACC,CACD1U,IAAK,aACL/B,MAAO,SAAoB6S,EAAaC,EAAY4D,GAClD,IAAIC,EAASrU,KACb,GAAIA,KAAKF,QAAQY,UAAY6P,GAA+B,KAAhBA,QAA6C,IAAhBA,EAA6B,CACpG,IAAI+D,EACAC,EAA2G,QAA9FD,EAAOF,QAA6CA,EAAYpU,KAAKF,QAAQmB,mBAAkC,IAATqT,GAAkBA,EAAe,YAAc,YACtKtU,KAAKkR,KAAKlR,KAAKsH,SAAS2D,SACxBjL,KAAKsH,SAAS2D,QAAQgB,MAAMwE,MAAQD,EAAa,KACjDxQ,KAAKsH,SAAS2D,QAAQsJ,GAAYhE,EAClCvQ,KAAKsH,SAASmE,MAAMjE,YAAYxH,KAAKsH,SAAS2D,SAC9Ca,YAAW,WACTuI,EAAOrD,OAAOqD,EAAO/M,SAAS2D,QAASoJ,EAAOvU,QAAQiD,UACxD,GAAG/C,KAAKF,QAAQa,aAClB,CACF,GACC,CACDlB,IAAK,QACL/B,MAAO,SAAe8W,EAAOC,GAC3B,IAAKzU,KAAK0G,kBACR,OAAO1G,KAAKsH,SAASmE,MAAMQ,MAAMe,KAAOyH,EAE1CzU,KAAKsH,SAASmE,MAAMQ,MAAMjM,KAAKwG,iBAAmB,aAAe,cAAgBiO,EAAM,IACvFzU,KAAKsH,SAASmE,MAAMQ,MAAMjM,KAAKwG,iBAAmB,cAAgBxG,KAAKwG,iBAAmB,aAAegO,EAAQ,UACnH,GACC,CACD/U,IAAK,aACL/B,MAAO,SAAoBkE,GASzB,OAPIA,IAAe,IAARA,GAAyB,aAARA,EAClB3E,MAAM2B,KAAKoB,KAAKH,UAAUkH,QAAO,SAAUC,GACjD,OAAOA,EAAQE,aAAa,SAAWtF,CACzC,IAEQ5B,KAAKH,QAGjB,GACC,CACDJ,IAAK,YACL/B,MAAO,SAAmBsJ,GACxB,IAAI0N,EAAS1U,KACbgH,EAAQgH,cAAc,IAAIC,MAAM,QAAUjO,KAAK4H,iBAC/C5H,KAAK8Q,qBAAuB9Q,KAAKqN,oBAC7BrN,KAAKF,QAAQsC,gBACfpC,KAAKsO,gBAAgB,QACrBtO,KAAK8Q,qBAAuB,GAE1B9Q,KAAKF,QAAQ8C,WAAwC,KAA3B5C,KAAKF,QAAQ8C,WACzCyD,SAASwD,cAAc,QAAQtB,UAAUmC,IAAI1K,KAAKF,QAAQ8C,WAE5DyD,SAASgC,KAAKb,YAAYxH,KAAKsH,SAASC,SACxCvH,KAAKsH,SAASC,QAAQC,YAAYxH,KAAKsH,SAASmE,OAC5CzL,KAAKF,QAAQO,SACfgG,SAASgC,KAAKb,YAAYxH,KAAKsH,SAASjH,SAE1CL,KAAKuG,gBAAkBvG,KAAK6G,WAAWG,EAAQpF,KAC3C5B,KAAKF,QAAQuB,cACoB,GAA/BrB,KAAKuG,gBAAgBnJ,QAAe4C,KAAKsH,SAASC,QAAQiB,SAASxI,KAAKsH,SAASwD,SACnF9K,KAAKsH,SAASC,QAAQ+E,YAAYtM,KAAKsH,SAASwD,SACvC9K,KAAKuG,gBAAgBnJ,OAAS,IAAM4C,KAAKsH,SAASC,QAAQiB,SAASxI,KAAKsH,SAASwD,UAC1F9K,KAAKsH,SAASC,QAAQC,YAAYxH,KAAKsH,SAASwD,UAGhD9K,KAAKF,QAAQsD,UAAYpD,KAAKsH,SAASlE,UACzCpD,KAAKsH,SAASC,QAAQC,YAAYxH,KAAKsH,SAASlE,UAElDpD,KAAKiI,aAAc,EACnBjI,KAAK+N,kBAAoB/N,KAAKuG,gBAAgBY,QAAQH,GACtD,IAAI2N,EAAY3N,EAAQE,aAAalH,KAAKF,QAAQM,YAClDJ,KAAK2I,aAAetC,SAASoE,cAAc,OAC3CzK,KAAK2I,aAAasD,MAAMiE,QAAU,OAClClQ,KAAK2I,aAAaC,aAAa,MAAO+L,GACtC3U,KAAK2I,aAAagC,QAAQmF,MAAQ,EAClC9P,KAAK2I,aAAagC,QAAQoF,WAAa,EACvC/P,KAAK2I,aAAagC,QAAQqF,WAAa,GACO,IAA1ChQ,KAAKgP,aAAa7H,QAAQwN,IAC5B3U,KAAKgP,aAAa5H,KAAKuN,GAEzB3U,KAAKsH,SAASmE,MAAMZ,UAAY,GAChC7K,KAAKsH,SAASmE,MAAM7C,aAAa,QAAS,IAC1C5I,KAAKsH,SAASmE,MAAMjE,YAAYxH,KAAK2I,cACrC3I,KAAKgR,OAAOhR,KAAKsH,SAASjH,QAASL,KAAKF,QAAQiD,WAChD/C,KAAKgR,OAAO,CAAChR,KAAKsH,SAASwD,QAAS9K,KAAKsH,SAASI,WAAY1H,KAAKsH,SAASG,YAAazH,KAAKsH,SAASlE,UAAWpD,KAAKF,QAAQiD,WAC/H/C,KAAKsP,KAAKtP,KAAKsH,SAAS/G,SACxBP,KAAKsH,SAASwD,QAAQjB,cAAc,eAAegB,UAAY7K,KAAK+N,kBAAoB,EACxF/N,KAAKsH,SAASwD,QAAQjB,cAAc,aAAagB,UAAY7K,KAAKuG,gBAAgBnJ,OAClF4C,KAAKuP,cACDvP,KAAKF,QAAQ2B,YACfzB,KAAKwP,UAEP1D,YAAW,WACT9E,EAAQgH,cAAc,IAAIC,MAAM,SAAWyG,EAAO9M,gBACpD,GAAG5H,KAAKF,QAAQ0B,eAClB,GACC,CACD/B,IAAK,aACL/B,MAAO,WACL,IAAIkX,EAAS5U,KACbA,KAAKmJ,oBAAoB9C,SAAU,WAAarG,KAAK4H,gBACrD5H,KAAK2H,iBAAiBtB,SAAU,WAAarG,KAAK4H,gBAAgB,SAAUC,GACtExB,WAAawB,EAAM3I,QAAU0V,EAAOtN,SAASC,UAAYM,EAAM3I,QAAW0V,EAAOtN,SAASC,QAAQiB,SAASX,EAAM3I,SACnH0V,EAAOtN,SAASC,QAAQtE,OAE5B,GACF,GAGC,CACDxD,IAAK,mBACL/B,MAAO,SAA0BmC,EAAUgV,EAAQC,EAAU7L,GAC3DpJ,EAAWG,KAAK+U,KAAKlV,GACrBgV,EAAS7U,KAAK+U,KAAKF,GACnB,IACEG,EADEC,EAAYpY,EAA2BgD,GAE3C,IACE,IAAKoV,EAAU1X,MAAOyX,EAAQC,EAAUzX,KAAKC,MAAO,CAClD,IAAIuJ,EAAUgO,EAAMtX,MACfsJ,EAAQkO,aACXlO,EAAQkO,WAAa,CAAC,GAExB,IACEC,EADEC,EAAavY,EAA2BgY,GAE5C,IACE,IAAKO,EAAW7X,MAAO4X,EAASC,EAAW5X,KAAKC,MAAO,CACrD,IAAIoK,EAAQsN,EAAOzX,MACfoC,EAAUmJ,IAAQ,EACA,CAAC,aAAc,YAAa,aAAc,kBAAkB9B,QAAQU,EAAMwC,MAAM,KAAK,KAAO,GAC3FrK,KAAKkG,2BACD,WAArB3J,EAAQuD,GACVA,EAAQuV,SAAU,EAElBvV,EAAU,CACRuV,SAAS,IAIfrO,EAAQkO,WAAWrN,GAASiN,EAC5B9N,EAAQW,iBAAiBE,EAAMwC,MAAM,KAAK,GAAIyK,EAAUhV,EAC1D,CACF,CAAE,MAAO/B,GACPqX,EAAWzX,EAAEI,EACf,CAAE,QACAqX,EAAWvX,GACb,CACF,CACF,CAAE,MAAOE,GACPkX,EAAUtX,EAAEI,EACd,CAAE,QACAkX,EAAUpX,GACZ,CACF,GACC,CACD4B,IAAK,sBACL/B,MAAO,SAA6BmC,EAAUgV,GAC5ChV,EAAWG,KAAK+U,KAAKlV,GACrBgV,EAAS7U,KAAK+U,KAAKF,GACnB,IACES,EADEC,EAAa1Y,EAA2BgD,GAE5C,IACE,IAAK0V,EAAWhY,MAAO+X,EAASC,EAAW/X,KAAKC,MAAO,CACrD,IAEE+X,EAFExO,EAAUsO,EAAO5X,MACjB+X,EAAa5Y,EAA2BgY,GAE5C,IACE,IAAKY,EAAWlY,MAAOiY,EAASC,EAAWjY,KAAKC,MAAO,CACrD,IAAIoK,EAAQ2N,EAAO9X,MACfsJ,EAAQkO,YAAclO,EAAQkO,WAAWrN,KAC3Cb,EAAQmC,oBAAoBtB,EAAMwC,MAAM,KAAK,GAAIrD,EAAQkO,WAAWrN,WAC7Db,EAAQkO,WAAWrN,GAE9B,CACF,CAAE,MAAO9J,GACP0X,EAAW9X,EAAEI,EACf,CAAE,QACA0X,EAAW5X,GACb,CACF,CACF,CAAE,MAAOE,GACPwX,EAAW5X,EAAEI,EACf,CAAE,QACAwX,EAAW1X,GACb,CACF,GACC,CACD4B,IAAK,UACL/B,MAAO,SAAiBmC,EAAU6V,EAAUZ,GAC1C,IAGEa,EAHEC,EAAU5V,KAEV6V,EAAahZ,EADjBgD,EAAWG,KAAK+U,KAAKlV,IAGrB,IACE,IAAKgW,EAAWtY,MAAOoY,EAASE,EAAWrY,KAAKC,MAAO,CACrD,IAAIuJ,EAAU2O,EAAOjY,MACrBsJ,EAAQiF,MAAMqG,QAAU5E,WAAW1G,IAAY3D,OAAO+J,iBAAiBpG,GAAS8O,iBAAiB,UACnG,CACF,CAAE,MAAO/X,GACP8X,EAAWlY,EAAEI,EACf,CAAE,QACA8X,EAAWhY,GACb,CACAmC,KAAK+V,UAAW,EAChB,IAAI5X,EAAO,UAAYuX,GAAY1V,KAAKF,QAAQiD,YACvC,SAASiT,IACd,IAAIC,EAAiBvI,WAAW7N,EAAS,GAAGoM,MAAMqG,SAClD,IAAK2D,GAAkB9X,GAAQ,EAAG,CAChC,IACE+X,EADEC,EAAatZ,EAA2BgD,GAE5C,IACE,IAAKsW,EAAW5Y,MAAO2Y,EAASC,EAAW3Y,KAAKC,MAAO,CACrD,IAAIuJ,EAAUkP,EAAOxY,MACrBsJ,EAAQiF,MAAMiE,QAAU,OAExBlJ,EAAQiF,MAAMqG,QAAU,CAC1B,CACF,CAAE,MAAOvU,GACPoY,EAAWxY,EAAEI,EACf,CAAE,QACAoY,EAAWtY,GACb,CACAiX,GAAYA,EAAS5W,KAAK0X,EAAS/V,EACrC,KAAO,CACL,IACEuW,EADEC,EAAaxZ,EAA2BgD,GAE5C,IACE,IAAKwW,EAAW9Y,MAAO6Y,EAASC,EAAW7Y,KAAKC,MAC/B2Y,EAAO1Y,MACbuO,MAAMqG,QAAU2D,CAE7B,CAAE,MAAOlY,GACPsY,EAAW1Y,EAAEI,EACf,CAAE,QACAsY,EAAWxY,GACb,CACAyY,sBAAsBN,EACxB,CACF,CACFA,EACF,GACC,CACDvW,IAAK,SACL/B,MAAO,SAAgBmC,EAAU6V,EAAUZ,EAAU5E,GACnD,IAGEqG,EAHEC,EAAUxW,KAEVyW,EAAa5Z,EADjBgD,EAAWG,KAAK+U,KAAKlV,IAGrB,IACE,IAAK4W,EAAWlZ,MAAOgZ,EAASE,EAAWjZ,KAAKC,MAAO,CACrD,IAAIuJ,EAAUuP,EAAO7Y,MACjBsJ,IACFA,EAAQiF,MAAMqG,QAAU,EACxBtL,EAAQiF,MAAMiE,QAAUA,GAAW,QAEvC,CACF,CAAE,MAAOnS,GACP0Y,EAAW9Y,EAAEI,EACf,CAAE,QACA0Y,EAAW5Y,GACb,CACAmC,KAAK+V,UAAW,EAChB,IAAInL,EAAgB8C,WAAW7N,EAAS,GAAG8K,QAAQC,eAAiB,GAClEzM,EAAO,SAAWyM,GAAiB8K,GAAY1V,KAAKF,QAAQiD,YACrD,SAASiT,IACd,IAAIC,EAAiBvI,WAAW7N,EAAS,GAAGoM,MAAMqG,SAClD,IAAO2D,GAAkB9X,GAAQyM,EAiB1B,CACL,IACE8L,EADEC,EAAc9Z,EAA2BgD,GAE7C,IACE,IAAK8W,EAAYpZ,MAAOmZ,EAAUC,EAAYnZ,KAAKC,MAAO,CACxD,IAAImZ,EAAYF,EAAQhZ,MACpBkZ,IACFA,EAAU3K,MAAMqG,QAAU1H,EAE9B,CACF,CAAE,MAAO7M,GACP4Y,EAAYhZ,EAAEI,EAChB,CAAE,QACA4Y,EAAY9Y,GACd,CACAiX,GAAYA,EAAS5W,KAAKsY,EAAS3W,EACrC,KAjCiD,CAC/C,IACEgX,EADEC,EAAaja,EAA2BgD,GAE5C,IACE,IAAKiX,EAAWvZ,MAAOsZ,EAASC,EAAWtZ,KAAKC,MAAO,CACrD,IAAIuJ,EAAU6P,EAAOnZ,MACjBsJ,IACFA,EAAQiF,MAAMqG,QAAU2D,EAE5B,CACF,CAAE,MAAOlY,GACP+Y,EAAWnZ,EAAEI,EACf,CAAE,QACA+Y,EAAWjZ,GACb,CACA,IAAK2Y,EAAQT,SAAU,OACvBO,sBAAsBN,EACxB,CAiBF,CACFA,EACF,GACC,CACDvW,IAAK,OACL/B,MAAO,SAAcmC,GAEnB,IACEkX,EADEC,EAAcna,EADlBgD,EAAWG,KAAK+U,KAAKlV,IAGrB,IACE,IAAKmX,EAAYzZ,MAAOwZ,EAAUC,EAAYxZ,KAAKC,MAAO,CACxD,IAAIuJ,EAAU+P,EAAQrZ,MACO,QAAzBsJ,EAAQiF,MAAMiE,UAChBlJ,EAAQ2D,QAAQsM,eAAiBjQ,EAAQiF,MAAMiE,SAEjDlJ,EAAQiF,MAAMiE,QAAU,MAC1B,CACF,CAAE,MAAOnS,GACPiZ,EAAYrZ,EAAEI,EAChB,CAAE,QACAiZ,EAAYnZ,GACd,CACF,GACC,CACD4B,IAAK,OACL/B,MAAO,SAAcmC,EAAUqQ,GAE7B,IACEgH,EADEC,EAActa,EADlBgD,EAAWG,KAAK+U,KAAKlV,IAGrB,IACE,IAAKsX,EAAY5Z,MAAO2Z,EAAUC,EAAY3Z,KAAKC,MAAO,CACxD,IAAIuJ,EAAUkQ,EAAQxZ,MACtBsJ,EAAQiF,MAAMiE,QAAUlJ,EAAQ2D,QAAQsM,gBAAkB/G,GAAW,OACvE,CACF,CAAE,MAAOnS,GACPoZ,EAAYxZ,EAAEI,EAChB,CAAE,QACAoZ,EAAYtZ,GACd,CACF,GACC,CACD4B,IAAK,OACL/B,MAAO,SAAc0Z,GACnB,MAAyC,mBAA3BA,EAAM3a,OAAOC,WAA6C,iBAAV0a,EAAqBA,EAAQ,CAACA,EAC9F,GACC,CACD3X,IAAK,KACL/B,MAAO,SAAYmX,EAAQC,GACzBD,EAAS7U,KAAK+U,KAAKF,GACnB,IACEwC,EADEC,EAAcza,EAA2BmD,KAAKH,UAElD,IACE,IAAKyX,EAAY/Z,MAAO8Z,EAAUC,EAAY9Z,KAAKC,MAAO,CACxD,IAAIuJ,EAAUqQ,EAAQ3Z,MACjBsJ,EAAQuQ,wBACXvQ,EAAQuQ,sBAAwB,CAAC,GAEnC,IACEC,EADEC,EAAc5a,EAA2BgY,GAE7C,IACE,IAAK4C,EAAYla,MAAOia,EAAUC,EAAYja,KAAKC,MAAO,CACxD,IAAIoK,EAAQ2P,EAAQ9Z,MACpBsJ,EAAQuQ,sBAAsB1P,GAASiN,EACvC9N,EAAQW,iBAAiBE,EAAOiN,EAClC,CACF,CAAE,MAAO/W,GACP0Z,EAAY9Z,EAAEI,EAChB,CAAE,QACA0Z,EAAY5Z,GACd,CACF,CACF,CAAE,MAAOE,GACPuZ,EAAY3Z,EAAEI,EAChB,CAAE,QACAuZ,EAAYzZ,GACd,CACA,OAAOmC,IACT,GACC,CACDP,IAAK,MACL/B,MAAO,SAAamX,GAClBA,EAAS7U,KAAK+U,KAAKF,GACnB,IACE6C,EADEC,EAAc9a,EAA2BmD,KAAKH,UAElD,IACE,IAAK8X,EAAYpa,MAAOma,EAAUC,EAAYna,KAAKC,MAAO,CACxD,IAEEma,EAFE5Q,EAAU0Q,EAAQha,MAClBma,EAAchb,EAA2BgY,GAE7C,IACE,IAAKgD,EAAYta,MAAOqa,EAAUC,EAAYra,KAAKC,MAAO,CACxD,IAAIoK,EAAQ+P,EAAQla,WACyB,IAAlCsJ,EAAQuQ,uBAAyC1P,KAASb,EAAQuQ,uBAC3EvQ,EAAQmC,oBAAoBtB,EAAOb,EAAQuQ,sBAAsB1P,GAErE,CACF,CAAE,MAAO9J,GACP8Z,EAAYla,EAAEI,EAChB,CAAE,QACA8Z,EAAYha,GACd,CACF,CACF,CAAE,MAAOE,GACP4Z,EAAYha,EAAEI,EAChB,CAAE,QACA4Z,EAAY9Z,GACd,CACA,OAAOmC,IACT,GAGC,CACDP,IAAK,OACL/B,MAAO,SAAc0L,GACnB,IAAI0O,EAAWjM,UAAUzO,OAAS,QAAsB4U,IAAjBnG,UAAU,GAAmBA,UAAU,GAAK,EACnFzC,EAAOA,GAAQpJ,KAAKH,SAAS,GACP,oBAAXkY,QAA0B3O,aAAgB2O,SACnD3O,EAAOA,EAAKF,IAAI,IAEd4O,EAAW,IACb1O,EAAOpJ,KAAKH,SAASiY,IAEvB9X,KAAKkI,kBAAoBlI,KAAKH,SAASsH,QAAQiC,GAC3CpJ,KAAKkI,mBAAqB,GAC5BlI,KAAKmI,UAAUiB,EAEnB,GACC,CACD3J,IAAK,eACL/B,MAAO,SAAsBoa,GAC3B,IAAI1O,EAAOpJ,KAAKH,SAASiY,GACzB9X,KAAKgY,KAAK5O,EAAM0O,EAClB,GACC,CACDrY,IAAK,OACL/B,MAAO,WACLsC,KAAK6I,UAAU,EACjB,GACC,CACDpJ,IAAK,OACL/B,MAAO,WACLsC,KAAK6I,WAAW,EAClB,GAGC,CACDpJ,IAAK,iBACL/B,MAAO,WACL,MAAO,CACLqQ,kBAAmB/N,KAAK+N,kBACxBpF,aAAc3I,KAAK2I,aACnBmI,qBAAsB9Q,KAAK8Q,qBAE/B,GAGC,CACDrR,IAAK,UACL/B,MAAO,WAELsC,KAAKiY,IAAI,CAAC,SAAWjY,KAAK4H,eAAgB,UAAY5H,KAAK4H,eAAgB,mBAAqB5H,KAAK4H,eAAgB,mBAAqB5H,KAAK4H,eAAgB,UAAY5H,KAAK4H,eAAgB,YAAc5H,KAAK4H,eAAgB,YAAc5H,KAAK4H,eAAgB,SAAW5H,KAAK4H,eAAgB,WAAa5H,KAAK4H,eAAgB,QAAU5H,KAAK4H,eAAgB,QAAU5H,KAAK4H,eAAgB,QAAU5H,KAAK4H,eAAgB,SAAW5H,KAAK4H,iBACrb5H,KAAKmJ,oBAAoBnJ,KAAKH,SAAU,SAAWG,KAAK4H,gBACxD5H,KAAKmJ,oBAAoB9C,SAAU,WAAarG,KAAK4H,gBACrD5H,KAAKmJ,oBAAoB9C,SAASgC,KAAM,eAAiBrI,KAAK4H,gBAC9D5H,KAAKmJ,oBAAoB9C,SAASgC,KAAM,SAAWrI,KAAK4H,gBACxD5H,KAAKmJ,oBAAoBnJ,KAAKsH,SAASI,WAAW+J,qBAAqB,UAAW,SAAWzR,KAAK4H,gBAClG5H,KAAKmJ,oBAAoBnJ,KAAKsH,SAASG,YAAa,SAAWzH,KAAK4H,gBACpE5H,KAAKmJ,oBAAoB9F,OAAQ,UAAYrD,KAAK4H,gBAClD5H,KAAKmJ,oBAAoB9F,OAAQ,cAAgBrD,KAAK4H,gBACtD5H,KAAKkB,QACDlB,KAAKoI,SACP/B,SAASgC,KAAKiE,YAAYtM,KAAKsH,SAASC,SACxClB,SAASgC,KAAKiE,YAAYtM,KAAKsH,SAASjH,UAE1CL,KAAKH,SAAW,IAClB,GACC,CACDJ,IAAK,UACL/B,MAAO,WACL,IAAKsC,KAAKoG,gBACR,KAAM,8DAER,IAAItG,EAAUE,KAAKF,QACjBwJ,EAAWtJ,KAAKoG,gBAGlB,OAFApG,KAAKkY,UACLlY,KAAKrD,YAAY2M,EAAUxJ,GACpBE,IACT,IArhD8D+I,GAAY9J,EAAkBiB,EAAYtD,UAAWmM,GAA2EvK,OAAOgB,eAAeU,EAAa,YAAa,CAAEX,UAAU,IAuhDrPK,CACT,CAthDkC,GAuhD9BuY,EAAWvY,EACfD,EAAiB,QAAIwY,EACrB,EAAAC,EAAOxY,eAAiBA,C","sources":["webpack://configuracao/./node_modules/simplelightbox/dist/simple-lightbox.modules.js"],"sourcesContent":["/*!\r\n\tBy André Rinas, www.andrerinas.de\r\n\tDocumentation, www.simplelightbox.com\r\n\tAvailable for use under the MIT License\r\n\tVersion 2.14.2\r\n*/\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nvar SimpleLightbox = /*#__PURE__*/function () {\n function SimpleLightbox(elements, options) {\n var _this = this;\n _classCallCheck(this, SimpleLightbox);\n _defineProperty(this, \"defaultOptions\", {\n sourceAttr: 'href',\n overlay: true,\n overlayOpacity: 0.7,\n spinner: true,\n nav: true,\n navText: ['‹', '›'],\n captions: true,\n captionDelay: 0,\n captionSelector: 'img',\n captionType: 'attr',\n captionsData: 'title',\n captionPosition: 'bottom',\n captionClass: '',\n captionHTML: true,\n close: true,\n closeText: '×',\n swipeClose: true,\n showCounter: true,\n fileExt: 'png|jpg|jpeg|gif|webp',\n animationSlide: true,\n animationSpeed: 250,\n preloading: true,\n enableKeyboard: true,\n loop: true,\n rel: false,\n docClose: true,\n swipeTolerance: 50,\n className: 'simple-lightbox',\n widthRatio: 0.8,\n heightRatio: 0.9,\n scaleImageToRatio: false,\n disableRightClick: false,\n disableScroll: true,\n alertError: true,\n alertErrorMessage: 'Image not found, next image will be loaded',\n additionalHtml: false,\n history: true,\n throttleInterval: 0,\n doubleTapZoom: 2,\n maxZoom: 10,\n htmlClass: 'has-lightbox',\n rtl: false,\n fixedClass: 'sl-fixed',\n fadeSpeed: 300,\n uniqueImages: true,\n focus: true,\n scrollZoom: true,\n scrollZoomFactor: 0.5,\n download: false\n });\n _defineProperty(this, \"transitionPrefix\", void 0);\n _defineProperty(this, \"isPassiveEventsSupported\", void 0);\n _defineProperty(this, \"transitionCapable\", false);\n _defineProperty(this, \"isTouchDevice\", 'ontouchstart' in window);\n _defineProperty(this, \"isAppleDevice\", /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform));\n _defineProperty(this, \"initialLocationHash\", void 0);\n _defineProperty(this, \"pushStateSupport\", 'pushState' in history);\n _defineProperty(this, \"isOpen\", false);\n _defineProperty(this, \"isAnimating\", false);\n _defineProperty(this, \"isClosing\", false);\n _defineProperty(this, \"isFadeIn\", false);\n _defineProperty(this, \"urlChangedOnce\", false);\n _defineProperty(this, \"hashReseted\", false);\n _defineProperty(this, \"historyHasChanges\", false);\n _defineProperty(this, \"historyUpdateTimeout\", null);\n _defineProperty(this, \"currentImage\", void 0);\n _defineProperty(this, \"eventNamespace\", 'simplelightbox');\n _defineProperty(this, \"domNodes\", {});\n _defineProperty(this, \"loadedImages\", []);\n _defineProperty(this, \"initialImageIndex\", 0);\n _defineProperty(this, \"currentImageIndex\", 0);\n _defineProperty(this, \"initialSelector\", null);\n _defineProperty(this, \"globalScrollbarWidth\", 0);\n _defineProperty(this, \"controlCoordinates\", {\n swipeDiff: 0,\n swipeYDiff: 0,\n swipeStart: 0,\n swipeEnd: 0,\n swipeYStart: 0,\n swipeYEnd: 0,\n mousedown: false,\n imageLeft: 0,\n zoomed: false,\n containerHeight: 0,\n containerWidth: 0,\n containerOffsetX: 0,\n containerOffsetY: 0,\n imgHeight: 0,\n imgWidth: 0,\n capture: false,\n initialOffsetX: 0,\n initialOffsetY: 0,\n initialPointerOffsetX: 0,\n initialPointerOffsetY: 0,\n initialPointerOffsetX2: 0,\n initialPointerOffsetY2: 0,\n initialScale: 1,\n initialPinchDistance: 0,\n pointerOffsetX: 0,\n pointerOffsetY: 0,\n pointerOffsetX2: 0,\n pointerOffsetY2: 0,\n targetOffsetX: 0,\n targetOffsetY: 0,\n targetScale: 0,\n pinchOffsetX: 0,\n pinchOffsetY: 0,\n limitOffsetX: 0,\n limitOffsetY: 0,\n scaleDifference: 0,\n targetPinchDistance: 0,\n touchCount: 0,\n doubleTapped: false,\n touchmoveCount: 0\n });\n this.options = Object.assign(this.defaultOptions, options);\n this.isPassiveEventsSupported = this.checkPassiveEventsSupport();\n if (typeof elements === 'string') {\n this.initialSelector = elements;\n this.elements = Array.from(document.querySelectorAll(elements));\n } else {\n this.elements = typeof elements.length !== 'undefined' && elements.length > 0 ? Array.from(elements) : [elements];\n }\n this.relatedElements = [];\n this.transitionPrefix = this.calculateTransitionPrefix();\n this.transitionCapable = this.transitionPrefix !== false;\n this.initialLocationHash = this.hash;\n\n // this should be handled by attribute selector IMHO! => 'a[rel=bla]'...\n if (this.options.rel) {\n this.elements = this.getRelated(this.options.rel);\n }\n if (this.options.uniqueImages) {\n var imgArr = [];\n this.elements = Array.from(this.elements).filter(function (element) {\n var src = element.getAttribute(_this.options.sourceAttr);\n if (imgArr.indexOf(src) === -1) {\n imgArr.push(src);\n return true;\n }\n return false;\n });\n }\n this.createDomNodes();\n if (this.options.close) {\n this.domNodes.wrapper.appendChild(this.domNodes.closeButton);\n }\n if (this.options.nav) {\n this.domNodes.wrapper.appendChild(this.domNodes.navigation);\n }\n if (this.options.spinner) {\n this.domNodes.wrapper.appendChild(this.domNodes.spinner);\n }\n this.addEventListener(this.elements, 'click.' + this.eventNamespace, function (event) {\n if (_this.isValidLink(event.currentTarget)) {\n event.preventDefault();\n if (_this.isAnimating) {\n return false;\n }\n _this.initialImageIndex = _this.elements.indexOf(event.currentTarget);\n _this.openImage(event.currentTarget);\n }\n });\n\n // close addEventListener click addEventListener doc\n if (this.options.docClose) {\n this.addEventListener(this.domNodes.wrapper, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], function (event) {\n if (_this.isOpen && event.target === event.currentTarget) {\n _this.close();\n }\n });\n }\n\n // disable rightclick\n if (this.options.disableRightClick) {\n this.addEventListener(document.body, 'contextmenu.' + this.eventNamespace, function (event) {\n if (event.target.parentElement.classList.contains(\"sl-image\")) {\n event.preventDefault();\n }\n });\n }\n\n // keyboard-control\n if (this.options.enableKeyboard) {\n this.addEventListener(document.body, 'keyup.' + this.eventNamespace, this.throttle(function (event) {\n _this.controlCoordinates.swipeDiff = 0;\n // keyboard control only if lightbox is open\n\n if (_this.isAnimating && event.key === 'Escape') {\n _this.currentImage.setAttribute('src', '');\n _this.isAnimating = false;\n _this.close();\n return;\n }\n if (_this.isOpen) {\n event.preventDefault();\n if (event.key === 'Escape') {\n _this.close();\n }\n if (!_this.isAnimating && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) > -1) {\n _this.loadImage(event.key === 'ArrowRight' ? 1 : -1);\n }\n }\n }, this.options.throttleInterval));\n }\n this.addEvents();\n }\n _createClass(SimpleLightbox, [{\n key: \"checkPassiveEventsSupport\",\n value: function checkPassiveEventsSupport() {\n // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection\n // Test via a getter in the options object to see if the passive property is accessed\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"testPassive\", null, opts);\n window.removeEventListener(\"testPassive\", null, opts);\n } catch (e) {}\n return supportsPassive;\n }\n }, {\n key: \"getCaptionElement\",\n value: function getCaptionElement(elem) {\n // look at sibling selector\n if (this.options.captionSelector.startsWith('+')) {\n var selector = this.options.captionSelector.replace(/^\\+/, '').trimStart();\n var sibling = elem.nextElementSibling;\n if (sibling && sibling.matches(selector)) {\n return sibling;\n }\n return false;\n } else if (this.options.captionSelector.startsWith('>')) {\n var _selector = this.options.captionSelector.replace(/^>/, '').trimStart();\n return elem.querySelector(_selector);\n } else {\n return elem.querySelector(this.options.captionSelector);\n }\n }\n }, {\n key: \"generateQuerySelector\",\n value: function generateQuerySelector(elem) {\n var tagName = elem.tagName,\n id = elem.id,\n className = elem.className,\n parentNode = elem.parentNode;\n if (tagName === 'HTML') return 'HTML';\n var str = tagName;\n str += id !== '' ? \"#\".concat(id) : '';\n if (className) {\n var classes = className.trim().split(/\\s/);\n for (var i = 0; i < classes.length; i++) {\n str += \".\".concat(classes[i]);\n }\n }\n var childIndex = 1;\n for (var e = elem; e.previousElementSibling; e = e.previousElementSibling) {\n childIndex += 1;\n }\n str += \":nth-child(\".concat(childIndex, \")\");\n return \"\".concat(this.generateQuerySelector(parentNode), \" > \").concat(str);\n }\n }, {\n key: \"createDomNodes\",\n value: function createDomNodes() {\n this.domNodes.overlay = document.createElement('div');\n this.domNodes.overlay.classList.add('sl-overlay');\n this.domNodes.overlay.dataset.opacityTarget = this.options.overlayOpacity;\n this.domNodes.closeButton = document.createElement('button');\n this.domNodes.closeButton.classList.add('sl-close');\n this.domNodes.closeButton.innerHTML = this.options.closeText;\n this.domNodes.spinner = document.createElement('div');\n this.domNodes.spinner.classList.add('sl-spinner');\n this.domNodes.spinner.innerHTML = '<div></div>';\n this.domNodes.navigation = document.createElement('div');\n this.domNodes.navigation.classList.add('sl-navigation');\n this.domNodes.navigation.innerHTML = \"<button class=\\\"sl-prev\\\">\".concat(this.options.navText[0], \"</button><button class=\\\"sl-next\\\">\").concat(this.options.navText[1], \"</button>\");\n this.domNodes.counter = document.createElement('div');\n this.domNodes.counter.classList.add('sl-counter');\n this.domNodes.counter.innerHTML = '<span class=\"sl-current\"></span>/<span class=\"sl-total\"></span>';\n this.domNodes.download = document.createElement('div');\n this.domNodes.download.classList.add('sl-download');\n this.domNodes.downloadLink = document.createElement('a');\n this.domNodes.downloadLink.setAttribute('download', '');\n this.domNodes.downloadLink.textContent = this.options.download;\n this.domNodes.download.appendChild(this.domNodes.downloadLink);\n this.domNodes.caption = document.createElement('div');\n this.domNodes.caption.classList.add('sl-caption', 'pos-' + this.options.captionPosition);\n if (this.options.captionClass) {\n var _this$domNodes$captio;\n var captionClasses = this.options.captionClass.split(/[\\s,]+/);\n (_this$domNodes$captio = this.domNodes.caption.classList).add.apply(_this$domNodes$captio, _toConsumableArray(captionClasses));\n }\n this.domNodes.image = document.createElement('div');\n this.domNodes.image.classList.add('sl-image');\n this.domNodes.wrapper = document.createElement('div');\n this.domNodes.wrapper.classList.add('sl-wrapper');\n this.domNodes.wrapper.setAttribute('tabindex', -1);\n this.domNodes.wrapper.setAttribute('role', 'dialog');\n this.domNodes.wrapper.setAttribute('aria-hidden', false);\n if (this.options.className) {\n this.domNodes.wrapper.classList.add(this.options.className);\n }\n if (this.options.rtl) {\n this.domNodes.wrapper.classList.add('sl-dir-rtl');\n }\n }\n }, {\n key: \"throttle\",\n value: function throttle(func, limit) {\n var inThrottle;\n return function () {\n if (!inThrottle) {\n func.apply(this, arguments);\n inThrottle = true;\n setTimeout(function () {\n return inThrottle = false;\n }, limit);\n }\n };\n }\n }, {\n key: \"isValidLink\",\n value: function isValidLink(element) {\n return !this.options.fileExt || element.getAttribute(this.options.sourceAttr) && new RegExp('(' + this.options.fileExt + ')($|\\\\?.*$)', 'i').test(element.getAttribute(this.options.sourceAttr));\n }\n }, {\n key: \"calculateTransitionPrefix\",\n value: function calculateTransitionPrefix() {\n var s = (document.body || document.documentElement).style;\n return 'transition' in s ? '' : 'WebkitTransition' in s ? '-webkit-' : 'MozTransition' in s ? '-moz-' : 'OTransition' in s ? '-o' : false;\n }\n }, {\n key: \"getScrollbarWidth\",\n value: function getScrollbarWidth() {\n var scrollbarWidth = 0;\n var scrollDiv = document.createElement('div');\n scrollDiv.classList.add('sl-scrollbar-measure');\n document.body.appendChild(scrollDiv);\n scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n }\n }, {\n key: \"toggleScrollbar\",\n value: function toggleScrollbar(type) {\n var scrollbarWidth = 0;\n var fixedElements = [].slice.call(document.querySelectorAll('.' + this.options.fixedClass));\n if (type === 'hide') {\n var fullWindowWidth = window.innerWidth;\n if (!fullWindowWidth) {\n var documentElementRect = document.documentElement.getBoundingClientRect();\n fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n }\n if (document.body.clientWidth < fullWindowWidth || this.isAppleDevice) {\n var paddingRight = parseInt(window.getComputedStyle(document.body).paddingRight || 0, 10);\n scrollbarWidth = this.getScrollbarWidth();\n document.body.dataset.originalPaddingRight = paddingRight;\n if (scrollbarWidth > 0 || scrollbarWidth == 0 && this.isAppleDevice) {\n document.body.classList.add('hidden-scroll');\n document.body.style.paddingRight = paddingRight + scrollbarWidth + 'px';\n fixedElements.forEach(function (element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = window.getComputedStyle(element)['padding-right'];\n element.dataset.originalPaddingRight = actualPadding;\n element.style.paddingRight = \"\".concat(parseFloat(calculatedPadding) + scrollbarWidth, \"px\");\n });\n }\n }\n } else {\n document.body.classList.remove('hidden-scroll');\n document.body.style.paddingRight = document.body.dataset.originalPaddingRight + 'px';\n fixedElements.forEach(function (element) {\n var padding = element.dataset.originalPaddingRight;\n if (typeof padding !== 'undefined') {\n element.style.paddingRight = padding;\n }\n });\n }\n return scrollbarWidth;\n }\n }, {\n key: \"close\",\n value: function close() {\n var _this2 = this;\n if (!this.isOpen || this.isAnimating || this.isClosing) {\n return false;\n }\n this.isClosing = true;\n var element = this.relatedElements[this.currentImageIndex];\n element.dispatchEvent(new Event('close.simplelightbox'));\n if (this.options.history) {\n this.historyHasChanges = false;\n if (!this.hashReseted) {\n this.resetHash();\n }\n }\n this.removeEventListener(document, 'focusin.' + this.eventNamespace);\n this.fadeOut(this.domNodes.overlay, this.options.fadeSpeed);\n this.fadeOut(document.querySelectorAll('.sl-image img, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter'), this.options.fadeSpeed, function () {\n if (_this2.options.disableScroll) {\n _this2.toggleScrollbar('show');\n }\n if (_this2.options.htmlClass && _this2.options.htmlClass !== '') {\n document.querySelector('html').classList.remove(_this2.options.htmlClass);\n }\n document.body.removeChild(_this2.domNodes.wrapper);\n if (_this2.options.overlay) {\n document.body.removeChild(_this2.domNodes.overlay);\n }\n _this2.domNodes.additionalHtml = null;\n _this2.domNodes.download = null;\n element.dispatchEvent(new Event('closed.simplelightbox'));\n _this2.isClosing = false;\n });\n this.currentImage = null;\n this.isOpen = false;\n this.isAnimating = false;\n\n // reset touchcontrol coordinates\n for (var key in this.controlCoordinates) {\n this.controlCoordinates[key] = 0;\n }\n this.controlCoordinates.mousedown = false;\n this.controlCoordinates.zoomed = false;\n this.controlCoordinates.capture = false;\n this.controlCoordinates.initialScale = this.minMax(1, 1, this.options.maxZoom);\n this.controlCoordinates.doubleTapped = false;\n }\n }, {\n key: \"hash\",\n get: function get() {\n return window.location.hash.substring(1);\n }\n }, {\n key: \"preload\",\n value: function preload() {\n var _this3 = this;\n var index = this.currentImageIndex,\n length = this.relatedElements.length,\n next = index + 1 < 0 ? length - 1 : index + 1 >= length - 1 ? 0 : index + 1,\n prev = index - 1 < 0 ? length - 1 : index - 1 >= length - 1 ? 0 : index - 1,\n nextImage = new Image(),\n prevImage = new Image();\n nextImage.addEventListener('load', function (event) {\n var src = event.target.getAttribute('src');\n if (_this3.loadedImages.indexOf(src) === -1) {\n //is this condition even required... setting multiple times will not change usage...\n _this3.loadedImages.push(src);\n }\n _this3.relatedElements[index].dispatchEvent(new Event('nextImageLoaded.' + _this3.eventNamespace));\n });\n nextImage.setAttribute('src', this.relatedElements[next].getAttribute(this.options.sourceAttr));\n prevImage.addEventListener('load', function (event) {\n var src = event.target.getAttribute('src');\n if (_this3.loadedImages.indexOf(src) === -1) {\n _this3.loadedImages.push(src);\n }\n _this3.relatedElements[index].dispatchEvent(new Event('prevImageLoaded.' + _this3.eventNamespace));\n });\n prevImage.setAttribute('src', this.relatedElements[prev].getAttribute(this.options.sourceAttr));\n }\n }, {\n key: \"loadImage\",\n value: function loadImage(direction) {\n var _this4 = this;\n var slideDirection = direction;\n if (this.options.rtl) {\n direction = -direction;\n }\n this.relatedElements[this.currentImageIndex].dispatchEvent(new Event('change.' + this.eventNamespace));\n this.relatedElements[this.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'next' : 'prev') + '.' + this.eventNamespace));\n var newIndex = this.currentImageIndex + direction;\n if (this.isAnimating || (newIndex < 0 || newIndex >= this.relatedElements.length) && this.options.loop === false) {\n return false;\n }\n this.currentImageIndex = newIndex < 0 ? this.relatedElements.length - 1 : newIndex > this.relatedElements.length - 1 ? 0 : newIndex;\n this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1;\n if (this.options.animationSlide) {\n this.slide(this.options.animationSpeed / 1000, -100 * slideDirection - this.controlCoordinates.swipeDiff + 'px');\n }\n this.fadeOut(this.domNodes.image, this.options.fadeSpeed, function () {\n _this4.isAnimating = true;\n if (!_this4.isClosing) {\n setTimeout(function () {\n var element = _this4.relatedElements[_this4.currentImageIndex];\n if (!_this4.currentImage) return;\n _this4.currentImage.setAttribute('src', element.getAttribute(_this4.options.sourceAttr));\n if (_this4.loadedImages.indexOf(element.getAttribute(_this4.options.sourceAttr)) === -1) {\n _this4.show(_this4.domNodes.spinner);\n }\n if (_this4.domNodes.image.contains(_this4.domNodes.caption)) {\n _this4.domNodes.image.removeChild(_this4.domNodes.caption);\n }\n _this4.adjustImage(slideDirection);\n if (_this4.options.preloading) _this4.preload();\n }, 100);\n } else {\n _this4.isAnimating = false;\n }\n });\n }\n }, {\n key: \"adjustImage\",\n value: function adjustImage(direction) {\n var _this5 = this;\n if (!this.currentImage) {\n return false;\n }\n var tmpImage = new Image(),\n windowWidth = window.innerWidth * this.options.widthRatio,\n windowHeight = window.innerHeight * this.options.heightRatio;\n tmpImage.setAttribute('src', this.currentImage.getAttribute('src'));\n this.currentImage.dataset.scale = 1;\n this.currentImage.dataset.translateX = 0;\n this.currentImage.dataset.translateY = 0;\n this.zoomPanElement(0, 0, 1);\n tmpImage.addEventListener('error', function (event) {\n _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('error.' + _this5.eventNamespace));\n _this5.isAnimating = false;\n _this5.isOpen = true;\n _this5.domNodes.spinner.style.display = 'none';\n var dirIsDefined = direction === 1 || direction === -1;\n if (_this5.initialImageIndex === _this5.currentImageIndex && dirIsDefined) {\n return _this5.close();\n }\n if (_this5.options.alertError) {\n alert(_this5.options.alertErrorMessage);\n }\n _this5.loadImage(dirIsDefined ? direction : 1);\n });\n tmpImage.addEventListener('load', function (event) {\n if (typeof direction !== 'undefined') {\n _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event('changed.' + _this5.eventNamespace));\n _this5.relatedElements[_this5.currentImageIndex].dispatchEvent(new Event((direction === 1 ? 'nextDone' : 'prevDone') + '.' + _this5.eventNamespace));\n }\n\n // history\n if (_this5.options.history) {\n _this5.updateURL();\n }\n if (_this5.loadedImages.indexOf(_this5.currentImage.getAttribute('src')) === -1) {\n _this5.loadedImages.push(_this5.currentImage.getAttribute('src'));\n }\n var imageWidth = event.target.width,\n imageHeight = event.target.height;\n if (_this5.options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight) {\n var ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight;\n imageWidth /= ratio;\n imageHeight /= ratio;\n }\n _this5.domNodes.image.style.top = (window.innerHeight - imageHeight) / 2 + 'px';\n _this5.domNodes.image.style.left = (window.innerWidth - imageWidth - _this5.globalScrollbarWidth) / 2 + 'px';\n _this5.domNodes.image.style.width = imageWidth + 'px';\n _this5.domNodes.image.style.height = imageHeight + 'px';\n _this5.domNodes.spinner.style.display = 'none';\n if (_this5.options.focus) {\n _this5.forceFocus();\n }\n _this5.fadeIn(_this5.currentImage, _this5.options.fadeSpeed, function () {\n if (_this5.options.focus) {\n _this5.domNodes.wrapper.focus();\n }\n });\n _this5.isOpen = true;\n var captionContainer, captionText;\n if (typeof _this5.options.captionSelector === 'string') {\n captionContainer = _this5.options.captionSelector === 'self' ? _this5.relatedElements[_this5.currentImageIndex] : _this5.getCaptionElement(_this5.relatedElements[_this5.currentImageIndex]);\n } else if (typeof _this5.options.captionSelector === 'function') {\n captionContainer = _this5.options.captionSelector(_this5.relatedElements[_this5.currentImageIndex]);\n }\n if (_this5.options.captions && captionContainer) {\n if (_this5.options.captionType === 'data') {\n captionText = captionContainer.dataset[_this5.options.captionsData];\n } else if (_this5.options.captionType === 'text') {\n captionText = captionContainer.innerHTML;\n } else {\n captionText = captionContainer.getAttribute(_this5.options.captionsData);\n }\n }\n if (!_this5.options.loop) {\n if (_this5.currentImageIndex === 0) {\n _this5.hide(_this5.domNodes.navigation.querySelector('.sl-prev'));\n }\n if (_this5.currentImageIndex >= _this5.relatedElements.length - 1) {\n _this5.hide(_this5.domNodes.navigation.querySelector('.sl-next'));\n }\n if (_this5.currentImageIndex > 0) {\n _this5.show(_this5.domNodes.navigation.querySelector('.sl-prev'));\n }\n if (_this5.currentImageIndex < _this5.relatedElements.length - 1) {\n _this5.show(_this5.domNodes.navigation.querySelector('.sl-next'));\n }\n } else {\n if (_this5.relatedElements.length === 1) {\n _this5.hide(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next'));\n } else {\n _this5.show(_this5.domNodes.navigation.querySelectorAll('.sl-prev, .sl-next'));\n }\n }\n if (direction === 1 || direction === -1) {\n if (_this5.options.animationSlide) {\n _this5.slide(0, 100 * direction + 'px');\n setTimeout(function () {\n _this5.slide(_this5.options.animationSpeed / 1000, 0 + 'px');\n }, 50);\n }\n _this5.fadeIn(_this5.domNodes.image, _this5.options.fadeSpeed, function () {\n _this5.isAnimating = false;\n _this5.setCaption(captionText, imageWidth);\n });\n } else {\n _this5.isAnimating = false;\n _this5.setCaption(captionText, imageWidth);\n }\n if (_this5.options.additionalHtml && !_this5.domNodes.additionalHtml) {\n _this5.domNodes.additionalHtml = document.createElement('div');\n _this5.domNodes.additionalHtml.classList.add('sl-additional-html');\n _this5.domNodes.additionalHtml.innerHTML = _this5.options.additionalHtml;\n _this5.domNodes.image.appendChild(_this5.domNodes.additionalHtml);\n }\n if (_this5.options.download) {\n _this5.domNodes.downloadLink.setAttribute('href', _this5.currentImage.getAttribute('src'));\n }\n });\n }\n }, {\n key: \"zoomPanElement\",\n value: function zoomPanElement(targetOffsetX, targetOffsetY, targetScale) {\n this.currentImage.style[this.transitionPrefix + 'transform'] = 'translate(' + targetOffsetX + ',' + targetOffsetY + ') scale(' + targetScale + ')';\n }\n }, {\n key: \"minMax\",\n value: function minMax(value, min, max) {\n return value < min ? min : value > max ? max : value;\n }\n }, {\n key: \"setZoomData\",\n value: function setZoomData(initialScale, targetOffsetX, targetOffsetY) {\n this.currentImage.dataset.scale = initialScale;\n this.currentImage.dataset.translateX = targetOffsetX;\n this.currentImage.dataset.translateY = targetOffsetY;\n }\n }, {\n key: \"hashchangeHandler\",\n value: function hashchangeHandler() {\n if (this.isOpen && this.hash === this.initialLocationHash) {\n this.hashReseted = true;\n this.close();\n }\n }\n }, {\n key: \"addEvents\",\n value: function addEvents() {\n var _this6 = this;\n // resize/responsive\n this.addEventListener(window, 'resize.' + this.eventNamespace, function (event) {\n //this.adjustImage.bind(this)\n if (_this6.isOpen) {\n _this6.adjustImage();\n }\n });\n this.addEventListener(this.domNodes.closeButton, ['click.' + this.eventNamespace, 'touchstart.' + this.eventNamespace], this.close.bind(this));\n if (this.options.history) {\n setTimeout(function () {\n _this6.addEventListener(window, 'hashchange.' + _this6.eventNamespace, function (event) {\n if (_this6.isOpen) {\n _this6.hashchangeHandler();\n }\n });\n }, 40);\n }\n this.addEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace, function (event) {\n if (!event.currentTarget.tagName.match(/button/i)) {\n return true;\n }\n event.preventDefault();\n _this6.controlCoordinates.swipeDiff = 0;\n _this6.loadImage(event.currentTarget.classList.contains('sl-next') ? 1 : -1);\n });\n if (this.options.scrollZoom) {\n var scale = 1;\n this.addEventListener(this.domNodes.image, ['mousewheel', 'DOMMouseScroll'], function (event) {\n if (_this6.controlCoordinates.mousedown || _this6.isAnimating || _this6.isClosing || !_this6.isOpen) {\n return true;\n }\n if (_this6.controlCoordinates.containerHeight == 0) {\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n }\n // event.preventDefault();\n\n var delta = event.delta || event.wheelDelta;\n if (delta === undefined) {\n //we are on firefox\n delta = event.detail;\n }\n delta = Math.max(-1, Math.min(1, delta)); // cap the delta to [-1,1] for cross browser consistency\n\n // apply zoom\n scale += delta * _this6.options.scrollZoomFactor * scale;\n scale = Math.max(1, Math.min(_this6.options.maxZoom, scale));\n _this6.controlCoordinates.targetScale = scale;\n var scrollTopPos = document.documentElement.scrollTop || document.body.scrollTop;\n _this6.controlCoordinates.pinchOffsetX = event.pageX;\n _this6.controlCoordinates.pinchOffsetY = event.pageY - scrollTopPos || 0; // need to substract the scroll position\n\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n if (_this6.controlCoordinates.targetScale > 1) {\n _this6.controlCoordinates.zoomed = true;\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n } else {\n if (_this6.controlCoordinates.initialScale === 1) {\n _this6.controlCoordinates.zoomed = false;\n if (_this6.domNodes.caption.style.display === 'none') {\n _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n _this6.controlCoordinates.initialPinchDistance = null;\n _this6.controlCoordinates.capture = false;\n }\n _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance;\n _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale;\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n _this6.setZoomData(_this6.controlCoordinates.targetScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n });\n }\n this.addEventListener(this.domNodes.image, ['touchstart.' + this.eventNamespace, 'mousedown.' + this.eventNamespace], function (event) {\n if (event.target.tagName === 'A' && event.type === 'touchstart') {\n return true;\n }\n if (event.type === 'mousedown') {\n event.preventDefault();\n _this6.controlCoordinates.initialPointerOffsetX = event.clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.clientY;\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n _this6.controlCoordinates.capture = true;\n } else {\n _this6.controlCoordinates.touchCount = event.touches.length;\n _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY;\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n if (_this6.controlCoordinates.touchCount === 1) /* Single touch */{\n if (!_this6.controlCoordinates.doubleTapped) {\n _this6.controlCoordinates.doubleTapped = true;\n setTimeout(function () {\n _this6.controlCoordinates.doubleTapped = false;\n }, 300);\n } else {\n _this6.currentImage.classList.add('sl-transition');\n if (!_this6.controlCoordinates.zoomed) {\n _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n _this6.controlCoordinates.zoomed = true;\n } else {\n _this6.controlCoordinates.initialScale = 1;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n _this6.controlCoordinates.zoomed = false;\n }\n setTimeout(function () {\n if (_this6.currentImage) {\n _this6.currentImage.classList.remove('sl-transition');\n }\n }, 200);\n return false;\n }\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n } else if (_this6.controlCoordinates.touchCount === 2) /* Pinch */{\n _this6.controlCoordinates.initialPointerOffsetX2 = event.touches[1].clientX;\n _this6.controlCoordinates.initialPointerOffsetY2 = event.touches[1].clientY;\n _this6.controlCoordinates.initialOffsetX = parseFloat(_this6.currentImage.dataset.translateX);\n _this6.controlCoordinates.initialOffsetY = parseFloat(_this6.currentImage.dataset.translateY);\n _this6.controlCoordinates.pinchOffsetX = (_this6.controlCoordinates.initialPointerOffsetX + _this6.controlCoordinates.initialPointerOffsetX2) / 2;\n _this6.controlCoordinates.pinchOffsetY = (_this6.controlCoordinates.initialPointerOffsetY + _this6.controlCoordinates.initialPointerOffsetY2) / 2;\n _this6.controlCoordinates.initialPinchDistance = Math.sqrt((_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) * (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialPointerOffsetX2) + (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2) * (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialPointerOffsetY2));\n }\n _this6.controlCoordinates.capture = true;\n }\n if (_this6.controlCoordinates.mousedown) return true;\n if (_this6.transitionCapable) {\n _this6.controlCoordinates.imageLeft = parseInt(_this6.domNodes.image.style.left, 10);\n }\n _this6.controlCoordinates.mousedown = true;\n _this6.controlCoordinates.swipeDiff = 0;\n _this6.controlCoordinates.swipeYDiff = 0;\n _this6.controlCoordinates.swipeStart = event.pageX || event.touches[0].pageX;\n _this6.controlCoordinates.swipeYStart = event.pageY || event.touches[0].pageY;\n return false;\n });\n this.addEventListener(this.domNodes.image, ['touchmove.' + this.eventNamespace, 'mousemove.' + this.eventNamespace, 'MSPointerMove'], function (event) {\n if (!_this6.controlCoordinates.mousedown) {\n return true;\n }\n if (event.type === 'touchmove') {\n if (_this6.controlCoordinates.capture === false) {\n return false;\n }\n _this6.controlCoordinates.pointerOffsetX = event.touches[0].clientX;\n _this6.controlCoordinates.pointerOffsetY = event.touches[0].clientY;\n _this6.controlCoordinates.touchCount = event.touches.length;\n _this6.controlCoordinates.touchmoveCount++;\n if (_this6.controlCoordinates.touchCount > 1) /* Pinch */{\n _this6.controlCoordinates.pointerOffsetX2 = event.touches[1].clientX;\n _this6.controlCoordinates.pointerOffsetY2 = event.touches[1].clientY;\n _this6.controlCoordinates.targetPinchDistance = Math.sqrt((_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) * (_this6.controlCoordinates.pointerOffsetX - _this6.controlCoordinates.pointerOffsetX2) + (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2) * (_this6.controlCoordinates.pointerOffsetY - _this6.controlCoordinates.pointerOffsetY2));\n if (_this6.controlCoordinates.initialPinchDistance === null) {\n _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance;\n }\n if (Math.abs(_this6.controlCoordinates.initialPinchDistance - _this6.controlCoordinates.targetPinchDistance) >= 1) {\n /* Initialize helpers */\n _this6.controlCoordinates.targetScale = _this6.minMax(_this6.controlCoordinates.targetPinchDistance / _this6.controlCoordinates.initialPinchDistance * _this6.controlCoordinates.initialScale, 1, _this6.options.maxZoom);\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.scaleDifference = _this6.controlCoordinates.targetScale - _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetX - (_this6.controlCoordinates.pinchOffsetX - _this6.controlCoordinates.containerOffsetX - _this6.controlCoordinates.containerWidth / 2 - _this6.controlCoordinates.initialOffsetX) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.initialOffsetY - (_this6.controlCoordinates.pinchOffsetY - _this6.controlCoordinates.containerOffsetY - _this6.controlCoordinates.containerHeight / 2 - _this6.controlCoordinates.initialOffsetY) / (_this6.controlCoordinates.targetScale - _this6.controlCoordinates.scaleDifference) * _this6.controlCoordinates.scaleDifference, _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n if (_this6.controlCoordinates.targetScale > 1) {\n _this6.controlCoordinates.zoomed = true;\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n _this6.controlCoordinates.initialPinchDistance = _this6.controlCoordinates.targetPinchDistance;\n _this6.controlCoordinates.initialScale = _this6.controlCoordinates.targetScale;\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n }\n } else {\n _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) {\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX;\n }\n if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) {\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY;\n }\n _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n }\n }\n\n /* Mouse Move implementation */\n if (event.type === 'mousemove' && _this6.controlCoordinates.mousedown) {\n if (event.type == 'touchmove') return true;\n event.preventDefault();\n if (_this6.controlCoordinates.capture === false) return false;\n _this6.controlCoordinates.pointerOffsetX = event.clientX;\n _this6.controlCoordinates.pointerOffsetY = event.clientY;\n _this6.controlCoordinates.targetScale = _this6.controlCoordinates.initialScale;\n _this6.controlCoordinates.limitOffsetX = (_this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerWidth) / 2;\n _this6.controlCoordinates.limitOffsetY = (_this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale - _this6.controlCoordinates.containerHeight) / 2;\n _this6.controlCoordinates.targetOffsetX = _this6.controlCoordinates.imgWidth * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerWidth ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetX - (_this6.controlCoordinates.initialPointerOffsetX - _this6.controlCoordinates.initialOffsetX), _this6.controlCoordinates.limitOffsetX * -1, _this6.controlCoordinates.limitOffsetX);\n _this6.controlCoordinates.targetOffsetY = _this6.controlCoordinates.imgHeight * _this6.controlCoordinates.targetScale <= _this6.controlCoordinates.containerHeight ? 0 : _this6.minMax(_this6.controlCoordinates.pointerOffsetY - (_this6.controlCoordinates.initialPointerOffsetY - _this6.controlCoordinates.initialOffsetY), _this6.controlCoordinates.limitOffsetY * -1, _this6.controlCoordinates.limitOffsetY);\n if (Math.abs(_this6.controlCoordinates.targetOffsetX) === Math.abs(_this6.controlCoordinates.limitOffsetX)) {\n _this6.controlCoordinates.initialOffsetX = _this6.controlCoordinates.targetOffsetX;\n _this6.controlCoordinates.initialPointerOffsetX = _this6.controlCoordinates.pointerOffsetX;\n }\n if (Math.abs(_this6.controlCoordinates.targetOffsetY) === Math.abs(_this6.controlCoordinates.limitOffsetY)) {\n _this6.controlCoordinates.initialOffsetY = _this6.controlCoordinates.targetOffsetY;\n _this6.controlCoordinates.initialPointerOffsetY = _this6.controlCoordinates.pointerOffsetY;\n }\n _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n _this6.zoomPanElement(_this6.controlCoordinates.targetOffsetX + \"px\", _this6.controlCoordinates.targetOffsetY + \"px\", _this6.controlCoordinates.targetScale);\n }\n if (!_this6.controlCoordinates.zoomed) {\n _this6.controlCoordinates.swipeEnd = event.pageX || event.touches[0].pageX;\n _this6.controlCoordinates.swipeYEnd = event.pageY || event.touches[0].pageY;\n _this6.controlCoordinates.swipeDiff = _this6.controlCoordinates.swipeStart - _this6.controlCoordinates.swipeEnd;\n _this6.controlCoordinates.swipeYDiff = _this6.controlCoordinates.swipeYStart - _this6.controlCoordinates.swipeYEnd;\n if (_this6.options.animationSlide) {\n _this6.slide(0, -_this6.controlCoordinates.swipeDiff + 'px');\n }\n }\n });\n this.addEventListener(this.domNodes.image, ['touchend.' + this.eventNamespace, 'mouseup.' + this.eventNamespace, 'touchcancel.' + this.eventNamespace, 'mouseleave.' + this.eventNamespace, 'pointerup', 'pointercancel', 'MSPointerUp', 'MSPointerCancel'], function (event) {\n if (_this6.isTouchDevice && event.type === 'touchend') {\n _this6.controlCoordinates.touchCount = event.touches.length;\n if (_this6.controlCoordinates.touchCount === 0) /* No touch */{\n /* Set attributes */\n if (_this6.currentImage) {\n _this6.setZoomData(_this6.controlCoordinates.initialScale, _this6.controlCoordinates.targetOffsetX, _this6.controlCoordinates.targetOffsetY);\n }\n if (_this6.controlCoordinates.initialScale === 1) {\n _this6.controlCoordinates.zoomed = false;\n if (_this6.domNodes.caption.style.display === 'none') {\n _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n _this6.controlCoordinates.initialPinchDistance = null;\n _this6.controlCoordinates.capture = false;\n } else if (_this6.controlCoordinates.touchCount === 1) /* Single touch */{\n _this6.controlCoordinates.initialPointerOffsetX = event.touches[0].clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.touches[0].clientY;\n } else if (_this6.controlCoordinates.touchCount > 1) /* Pinch */{\n _this6.controlCoordinates.initialPinchDistance = null;\n }\n }\n if (_this6.controlCoordinates.mousedown) {\n _this6.controlCoordinates.mousedown = false;\n var possibleDir = true;\n if (!_this6.options.loop) {\n if (_this6.currentImageIndex === 0 && _this6.controlCoordinates.swipeDiff < 0) {\n possibleDir = false;\n }\n if (_this6.currentImageIndex >= _this6.relatedElements.length - 1 && _this6.controlCoordinates.swipeDiff > 0) {\n possibleDir = false;\n }\n }\n if (Math.abs(_this6.controlCoordinates.swipeDiff) > _this6.options.swipeTolerance && possibleDir) {\n _this6.loadImage(_this6.controlCoordinates.swipeDiff > 0 ? 1 : -1);\n } else if (_this6.options.animationSlide) {\n _this6.slide(_this6.options.animationSpeed / 1000, 0 + 'px');\n }\n if (_this6.options.swipeClose && Math.abs(_this6.controlCoordinates.swipeYDiff) > 50 && Math.abs(_this6.controlCoordinates.swipeDiff) < _this6.options.swipeTolerance) {\n _this6.close();\n }\n }\n });\n this.addEventListener(this.domNodes.image, ['dblclick'], function (event) {\n if (_this6.isTouchDevice) return;\n _this6.controlCoordinates.initialPointerOffsetX = event.clientX;\n _this6.controlCoordinates.initialPointerOffsetY = event.clientY;\n _this6.controlCoordinates.containerHeight = _this6.getDimensions(_this6.domNodes.image).height;\n _this6.controlCoordinates.containerWidth = _this6.getDimensions(_this6.domNodes.image).width;\n _this6.controlCoordinates.imgHeight = _this6.getDimensions(_this6.currentImage).height;\n _this6.controlCoordinates.imgWidth = _this6.getDimensions(_this6.currentImage).width;\n _this6.controlCoordinates.containerOffsetX = _this6.domNodes.image.offsetLeft;\n _this6.controlCoordinates.containerOffsetY = _this6.domNodes.image.offsetTop;\n _this6.currentImage.classList.add('sl-transition');\n if (!_this6.controlCoordinates.zoomed) {\n _this6.controlCoordinates.initialScale = _this6.options.doubleTapZoom;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n if ((!_this6.domNodes.caption.style.opacity || _this6.domNodes.caption.style.opacity > 0) && _this6.domNodes.caption.style.display !== 'none') {\n _this6.fadeOut(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n _this6.controlCoordinates.zoomed = true;\n } else {\n _this6.controlCoordinates.initialScale = 1;\n _this6.setZoomData(_this6.controlCoordinates.initialScale, 0, 0);\n _this6.zoomPanElement(0 + \"px\", 0 + \"px\", _this6.controlCoordinates.initialScale);\n _this6.controlCoordinates.zoomed = false;\n if (_this6.domNodes.caption.style.display === 'none') {\n _this6.fadeIn(_this6.domNodes.caption, _this6.options.fadeSpeed);\n }\n }\n setTimeout(function () {\n if (_this6.currentImage) {\n _this6.currentImage.classList.remove('sl-transition');\n _this6.currentImage.style[_this6.transitionPrefix + 'transform-origin'] = null;\n }\n }, 200);\n _this6.controlCoordinates.capture = true;\n return false;\n });\n }\n }, {\n key: \"getDimensions\",\n value: function getDimensions(element) {\n var styles = window.getComputedStyle(element),\n height = element.offsetHeight,\n width = element.offsetWidth,\n borderTopWidth = parseFloat(styles.borderTopWidth),\n borderBottomWidth = parseFloat(styles.borderBottomWidth),\n paddingTop = parseFloat(styles.paddingTop),\n paddingBottom = parseFloat(styles.paddingBottom),\n borderLeftWidth = parseFloat(styles.borderLeftWidth),\n borderRightWidth = parseFloat(styles.borderRightWidth),\n paddingLeft = parseFloat(styles.paddingLeft),\n paddingRight = parseFloat(styles.paddingRight);\n return {\n height: height - borderBottomWidth - borderTopWidth - paddingTop - paddingBottom,\n width: width - borderLeftWidth - borderRightWidth - paddingLeft - paddingRight\n };\n }\n }, {\n key: \"updateHash\",\n value: function updateHash() {\n var newHash = 'pid=' + (this.currentImageIndex + 1),\n newURL = window.location.href.split('#')[0] + '#' + newHash;\n this.hashReseted = false;\n if (this.pushStateSupport) {\n window.history[this.historyHasChanges ? 'replaceState' : 'pushState']('', document.title, newURL);\n } else {\n // what is the browser target of this?\n if (this.historyHasChanges) {\n window.location.replace(newURL);\n } else {\n window.location.hash = newHash;\n }\n }\n if (!this.historyHasChanges) {\n this.urlChangedOnce = true;\n }\n this.historyHasChanges = true;\n }\n }, {\n key: \"resetHash\",\n value: function resetHash() {\n this.hashReseted = true;\n if (this.urlChangedOnce) {\n history.back();\n } else {\n if (this.pushStateSupport) {\n history.pushState('', document.title, window.location.pathname + window.location.search);\n } else {\n window.location.hash = '';\n }\n }\n //\n //in case an history operation is still pending\n clearTimeout(this.historyUpdateTimeout);\n }\n }, {\n key: \"updateURL\",\n value: function updateURL() {\n clearTimeout(this.historyUpdateTimeout);\n if (!this.historyHasChanges) {\n this.updateHash(); // first time\n } else {\n this.historyUpdateTimeout = setTimeout(this.updateHash.bind(this), 800);\n }\n }\n }, {\n key: \"setCaption\",\n value: function setCaption(captionText, imageWidth, allowHTML) {\n var _this7 = this;\n if (this.options.captions && captionText && captionText !== '' && typeof captionText !== \"undefined\") {\n var _ref;\n var property = ((_ref = allowHTML !== null && allowHTML !== void 0 ? allowHTML : this.options.captionHTML) !== null && _ref !== void 0 ? _ref : true) ? 'innerHTML' : 'innerText';\n this.hide(this.domNodes.caption);\n this.domNodes.caption.style.width = imageWidth + 'px';\n this.domNodes.caption[property] = captionText;\n this.domNodes.image.appendChild(this.domNodes.caption);\n setTimeout(function () {\n _this7.fadeIn(_this7.domNodes.caption, _this7.options.fadeSpeed);\n }, this.options.captionDelay);\n }\n }\n }, {\n key: \"slide\",\n value: function slide(speed, pos) {\n if (!this.transitionCapable) {\n return this.domNodes.image.style.left = pos;\n }\n this.domNodes.image.style[this.transitionPrefix + 'transform'] = 'translateX(' + pos + ')';\n this.domNodes.image.style[this.transitionPrefix + 'transition'] = this.transitionPrefix + 'transform ' + speed + 's linear';\n }\n }, {\n key: \"getRelated\",\n value: function getRelated(rel) {\n var elems;\n if (rel && rel !== false && rel !== 'nofollow') {\n elems = Array.from(this.elements).filter(function (element) {\n return element.getAttribute('rel') === rel;\n });\n } else {\n elems = this.elements;\n }\n return elems;\n }\n }, {\n key: \"openImage\",\n value: function openImage(element) {\n var _this8 = this;\n element.dispatchEvent(new Event('show.' + this.eventNamespace));\n this.globalScrollbarWidth = this.getScrollbarWidth();\n if (this.options.disableScroll) {\n this.toggleScrollbar('hide');\n this.globalScrollbarWidth = 0;\n }\n if (this.options.htmlClass && this.options.htmlClass !== '') {\n document.querySelector('html').classList.add(this.options.htmlClass);\n }\n document.body.appendChild(this.domNodes.wrapper);\n this.domNodes.wrapper.appendChild(this.domNodes.image);\n if (this.options.overlay) {\n document.body.appendChild(this.domNodes.overlay);\n }\n this.relatedElements = this.getRelated(element.rel);\n if (this.options.showCounter) {\n if (this.relatedElements.length == 1 && this.domNodes.wrapper.contains(this.domNodes.counter)) {\n this.domNodes.wrapper.removeChild(this.domNodes.counter);\n } else if (this.relatedElements.length > 1 && !this.domNodes.wrapper.contains(this.domNodes.counter)) {\n this.domNodes.wrapper.appendChild(this.domNodes.counter);\n }\n }\n if (this.options.download && this.domNodes.download) {\n this.domNodes.wrapper.appendChild(this.domNodes.download);\n }\n this.isAnimating = true;\n this.currentImageIndex = this.relatedElements.indexOf(element);\n var targetURL = element.getAttribute(this.options.sourceAttr);\n this.currentImage = document.createElement('img');\n this.currentImage.style.display = 'none';\n this.currentImage.setAttribute('src', targetURL);\n this.currentImage.dataset.scale = 1;\n this.currentImage.dataset.translateX = 0;\n this.currentImage.dataset.translateY = 0;\n if (this.loadedImages.indexOf(targetURL) === -1) {\n this.loadedImages.push(targetURL);\n }\n this.domNodes.image.innerHTML = '';\n this.domNodes.image.setAttribute('style', '');\n this.domNodes.image.appendChild(this.currentImage);\n this.fadeIn(this.domNodes.overlay, this.options.fadeSpeed);\n this.fadeIn([this.domNodes.counter, this.domNodes.navigation, this.domNodes.closeButton, this.domNodes.download], this.options.fadeSpeed);\n this.show(this.domNodes.spinner);\n this.domNodes.counter.querySelector('.sl-current').innerHTML = this.currentImageIndex + 1;\n this.domNodes.counter.querySelector('.sl-total').innerHTML = this.relatedElements.length;\n this.adjustImage();\n if (this.options.preloading) {\n this.preload();\n }\n setTimeout(function () {\n element.dispatchEvent(new Event('shown.' + _this8.eventNamespace));\n }, this.options.animationSpeed);\n }\n }, {\n key: \"forceFocus\",\n value: function forceFocus() {\n var _this9 = this;\n this.removeEventListener(document, 'focusin.' + this.eventNamespace);\n this.addEventListener(document, 'focusin.' + this.eventNamespace, function (event) {\n if (document !== event.target && _this9.domNodes.wrapper !== event.target && !_this9.domNodes.wrapper.contains(event.target)) {\n _this9.domNodes.wrapper.focus();\n }\n });\n }\n\n // utility\n }, {\n key: \"addEventListener\",\n value: function addEventListener(elements, events, callback, opts) {\n elements = this.wrap(elements);\n events = this.wrap(events);\n var _iterator = _createForOfIteratorHelper(elements),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var element = _step.value;\n if (!element.namespaces) {\n element.namespaces = {};\n } // save the namespaces addEventListener the DOM element itself\n var _iterator2 = _createForOfIteratorHelper(events),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var event = _step2.value;\n var options = opts || false;\n var needsPassiveFix = ['touchstart', 'touchmove', 'mousewheel', 'DOMMouseScroll'].indexOf(event.split('.')[0]) >= 0;\n if (needsPassiveFix && this.isPassiveEventsSupported) {\n if (_typeof(options) === 'object') {\n options.passive = true;\n } else {\n options = {\n passive: true\n };\n }\n }\n element.namespaces[event] = callback;\n element.addEventListener(event.split('.')[0], callback, options);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(elements, events) {\n elements = this.wrap(elements);\n events = this.wrap(events);\n var _iterator3 = _createForOfIteratorHelper(elements),\n _step3;\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var element = _step3.value;\n var _iterator4 = _createForOfIteratorHelper(events),\n _step4;\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var event = _step4.value;\n if (element.namespaces && element.namespaces[event]) {\n element.removeEventListener(event.split('.')[0], element.namespaces[event]);\n delete element.namespaces[event];\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"fadeOut\",\n value: function fadeOut(elements, duration, callback) {\n var _this10 = this;\n elements = this.wrap(elements);\n var _iterator5 = _createForOfIteratorHelper(elements),\n _step5;\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var element = _step5.value;\n element.style.opacity = parseFloat(element) || window.getComputedStyle(element).getPropertyValue(\"opacity\");\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n this.isFadeIn = false;\n var step = 16.66666 / (duration || this.options.fadeSpeed),\n fade = function fade() {\n var currentOpacity = parseFloat(elements[0].style.opacity);\n if ((currentOpacity -= step) < 0) {\n var _iterator6 = _createForOfIteratorHelper(elements),\n _step6;\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var element = _step6.value;\n element.style.display = \"none\";\n // element.style.opacity = '';\n element.style.opacity = 1;\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n callback && callback.call(_this10, elements);\n } else {\n var _iterator7 = _createForOfIteratorHelper(elements),\n _step7;\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _element = _step7.value;\n _element.style.opacity = currentOpacity;\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n requestAnimationFrame(fade);\n }\n };\n fade();\n }\n }, {\n key: \"fadeIn\",\n value: function fadeIn(elements, duration, callback, display) {\n var _this11 = this;\n elements = this.wrap(elements);\n var _iterator8 = _createForOfIteratorHelper(elements),\n _step8;\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var element = _step8.value;\n if (element) {\n element.style.opacity = 0;\n element.style.display = display || \"block\";\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n this.isFadeIn = true;\n var opacityTarget = parseFloat(elements[0].dataset.opacityTarget || 1),\n step = 16.66666 * opacityTarget / (duration || this.options.fadeSpeed),\n fade = function fade() {\n var currentOpacity = parseFloat(elements[0].style.opacity);\n if (!((currentOpacity += step) > opacityTarget)) {\n var _iterator9 = _createForOfIteratorHelper(elements),\n _step9;\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var element = _step9.value;\n if (element) {\n element.style.opacity = currentOpacity;\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n if (!_this11.isFadeIn) return;\n requestAnimationFrame(fade);\n } else {\n var _iterator10 = _createForOfIteratorHelper(elements),\n _step10;\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var _element2 = _step10.value;\n if (_element2) {\n _element2.style.opacity = opacityTarget;\n }\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n callback && callback.call(_this11, elements);\n }\n };\n fade();\n }\n }, {\n key: \"hide\",\n value: function hide(elements) {\n elements = this.wrap(elements);\n var _iterator11 = _createForOfIteratorHelper(elements),\n _step11;\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var element = _step11.value;\n if (element.style.display != 'none') {\n element.dataset.initialDisplay = element.style.display;\n }\n element.style.display = 'none';\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n }\n }, {\n key: \"show\",\n value: function show(elements, display) {\n elements = this.wrap(elements);\n var _iterator12 = _createForOfIteratorHelper(elements),\n _step12;\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var element = _step12.value;\n element.style.display = element.dataset.initialDisplay || display || 'block';\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n }\n }, {\n key: \"wrap\",\n value: function wrap(input) {\n return typeof input[Symbol.iterator] === 'function' && typeof input !== 'string' ? input : [input];\n }\n }, {\n key: \"on\",\n value: function on(events, callback) {\n events = this.wrap(events);\n var _iterator13 = _createForOfIteratorHelper(this.elements),\n _step13;\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var element = _step13.value;\n if (!element.fullyNamespacedEvents) {\n element.fullyNamespacedEvents = {};\n }\n var _iterator14 = _createForOfIteratorHelper(events),\n _step14;\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var event = _step14.value;\n element.fullyNamespacedEvents[event] = callback;\n element.addEventListener(event, callback);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n return this;\n }\n }, {\n key: \"off\",\n value: function off(events) {\n events = this.wrap(events);\n var _iterator15 = _createForOfIteratorHelper(this.elements),\n _step15;\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var element = _step15.value;\n var _iterator16 = _createForOfIteratorHelper(events),\n _step16;\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var event = _step16.value;\n if (typeof element.fullyNamespacedEvents !== 'undefined' && event in element.fullyNamespacedEvents) {\n element.removeEventListener(event, element.fullyNamespacedEvents[event]);\n }\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n return this;\n }\n\n // api\n }, {\n key: \"open\",\n value: function open(elem) {\n var position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n elem = elem || this.elements[0];\n if (typeof jQuery !== \"undefined\" && elem instanceof jQuery) {\n elem = elem.get(0);\n }\n if (position > 0) {\n elem = this.elements[position];\n }\n this.initialImageIndex = this.elements.indexOf(elem);\n if (this.initialImageIndex > -1) {\n this.openImage(elem);\n }\n }\n }, {\n key: \"openPosition\",\n value: function openPosition(position) {\n var elem = this.elements[position];\n this.open(elem, position);\n }\n }, {\n key: \"next\",\n value: function next() {\n this.loadImage(1);\n }\n }, {\n key: \"prev\",\n value: function prev() {\n this.loadImage(-1);\n }\n\n // get some useful data\n }, {\n key: \"getLighboxData\",\n value: function getLighboxData() {\n return {\n currentImageIndex: this.currentImageIndex,\n currentImage: this.currentImage,\n globalScrollbarWidth: this.globalScrollbarWidth\n };\n }\n\n //close is exposed anyways..\n }, {\n key: \"destroy\",\n value: function destroy() {\n //remove all custom event listeners from elements\n this.off(['close.' + this.eventNamespace, 'closed.' + this.eventNamespace, 'nextImageLoaded.' + this.eventNamespace, 'prevImageLoaded.' + this.eventNamespace, 'change.' + this.eventNamespace, 'nextDone.' + this.eventNamespace, 'prevDone.' + this.eventNamespace, 'error.' + this.eventNamespace, 'changed.' + this.eventNamespace, 'next.' + this.eventNamespace, 'prev.' + this.eventNamespace, 'show.' + this.eventNamespace, 'shown.' + this.eventNamespace]);\n this.removeEventListener(this.elements, 'click.' + this.eventNamespace);\n this.removeEventListener(document, 'focusin.' + this.eventNamespace);\n this.removeEventListener(document.body, 'contextmenu.' + this.eventNamespace);\n this.removeEventListener(document.body, 'keyup.' + this.eventNamespace);\n this.removeEventListener(this.domNodes.navigation.getElementsByTagName('button'), 'click.' + this.eventNamespace);\n this.removeEventListener(this.domNodes.closeButton, 'click.' + this.eventNamespace);\n this.removeEventListener(window, 'resize.' + this.eventNamespace);\n this.removeEventListener(window, 'hashchange.' + this.eventNamespace);\n this.close();\n if (this.isOpen) {\n document.body.removeChild(this.domNodes.wrapper);\n document.body.removeChild(this.domNodes.overlay);\n }\n this.elements = null;\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n if (!this.initialSelector) {\n throw 'refreshing only works when you initialize using a selector!';\n }\n var options = this.options,\n selector = this.initialSelector;\n this.destroy();\n this.constructor(selector, options);\n return this;\n }\n }]);\n return SimpleLightbox;\n}();\nvar _default = SimpleLightbox;\nexports[\"default\"] = _default;\nglobal.SimpleLightbox = SimpleLightbox;"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","o","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","minLen","_arrayLikeToArray","Object","toString","slice","name","from","test","arr","len","arr2","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","key","_defineProperty","exports","SimpleLightbox","elements","options","_this","this","instance","Constructor","_classCallCheck","sourceAttr","overlay","overlayOpacity","spinner","nav","navText","captions","captionDelay","captionSelector","captionType","captionsData","captionPosition","captionClass","captionHTML","close","closeText","swipeClose","showCounter","fileExt","animationSlide","animationSpeed","preloading","enableKeyboard","loop","rel","docClose","swipeTolerance","className","widthRatio","heightRatio","scaleImageToRatio","disableRightClick","disableScroll","alertError","alertErrorMessage","additionalHtml","history","throttleInterval","doubleTapZoom","maxZoom","htmlClass","rtl","fixedClass","fadeSpeed","uniqueImages","focus","scrollZoom","scrollZoomFactor","download","window","navigator","platform","swipeDiff","swipeYDiff","swipeStart","swipeEnd","swipeYStart","swipeYEnd","mousedown","imageLeft","zoomed","containerHeight","containerWidth","containerOffsetX","containerOffsetY","imgHeight","imgWidth","capture","initialOffsetX","initialOffsetY","initialPointerOffsetX","initialPointerOffsetY","initialPointerOffsetX2","initialPointerOffsetY2","initialScale","initialPinchDistance","pointerOffsetX","pointerOffsetY","pointerOffsetX2","pointerOffsetY2","targetOffsetX","targetOffsetY","targetScale","pinchOffsetX","pinchOffsetY","limitOffsetX","limitOffsetY","scaleDifference","targetPinchDistance","touchCount","doubleTapped","touchmoveCount","assign","defaultOptions","isPassiveEventsSupported","checkPassiveEventsSupport","initialSelector","document","querySelectorAll","relatedElements","transitionPrefix","calculateTransitionPrefix","transitionCapable","initialLocationHash","hash","getRelated","imgArr","filter","element","src","getAttribute","indexOf","push","createDomNodes","domNodes","wrapper","appendChild","closeButton","navigation","addEventListener","eventNamespace","event","isValidLink","currentTarget","preventDefault","isAnimating","initialImageIndex","openImage","isOpen","body","parentElement","classList","contains","throttle","controlCoordinates","currentImage","setAttribute","loadImage","addEvents","protoProps","supportsPassive","opts","get","removeEventListener","elem","startsWith","selector","replace","trimStart","sibling","nextElementSibling","matches","_selector","querySelector","tagName","id","parentNode","str","concat","classes","trim","split","childIndex","previousElementSibling","generateQuerySelector","createElement","add","dataset","opacityTarget","innerHTML","counter","downloadLink","textContent","caption","_this$domNodes$captio","captionClasses","apply","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","image","func","limit","inThrottle","arguments","setTimeout","RegExp","documentElement","style","scrollbarWidth","scrollDiv","offsetWidth","clientWidth","removeChild","type","fixedElements","fullWindowWidth","innerWidth","documentElementRect","getBoundingClientRect","right","Math","abs","left","isAppleDevice","paddingRight","parseInt","getComputedStyle","getScrollbarWidth","originalPaddingRight","forEach","actualPadding","calculatedPadding","parseFloat","remove","padding","_this2","isClosing","currentImageIndex","dispatchEvent","Event","historyHasChanges","hashReseted","resetHash","fadeOut","toggleScrollbar","minMax","location","substring","_this3","index","prev","nextImage","Image","prevImage","loadedImages","direction","_this4","slideDirection","newIndex","slide","show","adjustImage","preload","_this5","tmpImage","windowWidth","windowHeight","innerHeight","scale","translateX","translateY","zoomPanElement","display","dirIsDefined","alert","updateURL","captionContainer","captionText","imageWidth","width","imageHeight","height","ratio","top","globalScrollbarWidth","forceFocus","fadeIn","getCaptionElement","hide","setCaption","min","max","_this6","bind","hashchangeHandler","getElementsByTagName","match","getDimensions","offsetLeft","offsetTop","delta","wheelDelta","undefined","detail","scrollTopPos","scrollTop","pageX","pageY","opacity","setZoomData","clientX","clientY","touches","sqrt","isTouchDevice","possibleDir","styles","offsetHeight","borderTopWidth","borderBottomWidth","paddingTop","paddingBottom","borderLeftWidth","borderRightWidth","paddingLeft","newHash","newURL","href","pushStateSupport","title","urlChangedOnce","back","pushState","pathname","search","clearTimeout","historyUpdateTimeout","updateHash","allowHTML","_this7","_ref","property","speed","pos","_this8","targetURL","_this9","events","callback","wrap","_step","_iterator","namespaces","_step2","_iterator2","passive","_step3","_iterator3","_step4","_iterator4","duration","_step5","_this10","_iterator5","getPropertyValue","isFadeIn","fade","currentOpacity","_step6","_iterator6","_step7","_iterator7","requestAnimationFrame","_step8","_this11","_iterator8","_step10","_iterator10","_element2","_step9","_iterator9","_step11","_iterator11","initialDisplay","_step12","_iterator12","input","_step13","_iterator13","fullyNamespacedEvents","_step14","_iterator14","_step15","_iterator15","_step16","_iterator16","position","jQuery","open","off","destroy","_default","g"],"sourceRoot":""}