{"version":3,"file":"js/1259-c68968d666d200b3665e.js","mappings":"8FAMUA,E,sOAAAA,EAAyT,WAAqC,OAAmB,SAASC,EAAEC,EAAEC,EAAEC,GAAG,SAASC,EAAEC,EAAEN,GAAG,IAAIG,EAAJG,GAAS,CAAC,IAAIJ,EAAJI,GAAS,CAAmE,GAAGC,EAAE,OAAOA,EAAED,GAAE,GAAI,IAAIE,EAAE,IAAIC,MAAM,uBAAuBH,EAAvC,KAA8C,MAAME,EAAAA,KAAAA,mBAAN,EAAkC,IAAIE,EAAEP,EAAAA,GAAK,CAACQ,QAAQ,IAAIT,EAAAA,GAAAA,GAAAA,KAAaQ,EAAbR,SAAuB,SAASD,GAAoB,OAAOI,EAAlBH,EAAAA,GAAAA,GAAN,IAAiBD,KAApDC,EAAsEQ,EAAtER,QAAAA,EAAAA,EAAAA,EAAAA,GAAyF,OAAOC,EAAAA,GAAP,QAAoB,IAAI,IAAII,OAAE,EAAoCD,EAA9C,EAAkDA,EAAEF,EAApD,OAA6DE,IAAID,EAAED,EAAFC,IAAQ,OAAOA,EAA5b,CAA2c,CAAC,EAAE,CAAC,SAASO,EAAQC,EAAOF,GACv1B,aAEAG,OAAAA,eAAAA,EAAAA,aAA6C,CAC3CC,OAAO,IAETJ,EAAO,aAAc,EAErBC,EAAAA,WAEA,IAAII,EAAiBC,EAAuBL,EAA5C,oBAEIM,EAAqBD,EAAuBL,EAAhD,wBAEIO,EAAgBF,EAAuBL,EAA3C,mBAEIQ,EAAiBH,EAAuBL,EAA5C,oBAEA,SAASK,EAAuBI,GAAO,OAAOA,GAAOA,EAAPA,WAAAA,EAA8B,CAAE,QAAWA,GAEzF,SAASC,EAAeC,EAAI,GAAM,OAMlC,SAAyBA,GAAO,GAAIC,MAAAA,QAAJ,GAAwB,OAAOD,EANtBE,CAAAA,IAIzC,SAA+BF,EAAI,GAAM,IAAIG,EAAJ,GAAmBC,GAAJ,EAAmBC,GAAJ,EAAoBC,OAAJ,EAAoB,IAAM,IAAK,IAAL,EAASC,EAAKP,EAAIQ,OAAb,cAAuCJ,GAAMK,EAAKF,EAAN,QAAjD,QAAsFJ,EAAAA,KAAUM,EAAVN,QAAyBpB,GAAKoB,EAAAA,SAATpB,GAAlCqB,GAAzE,IAAkJ,SAAcC,GAAAA,EAAWC,EAAAA,EAAjL,QAAuM,IAAWF,GAAL,MAAWG,EAAE,QAAoBA,EAAE,SAAzC,QAAmE,KAAQ,MAAMD,GAAQ,OAAOH,EAJjVO,CAAsBV,EAA9CE,IAEzC,WAA8B,MAAM,cAAN,wDAFoES,GAUlG,SAASC,EAAkBC,EAAO,GAAU,IAAK,IAAI9B,EAAT,EAAgBA,EAAI+B,EAApB,OAAkC/B,IAAK,CAAE,IAAIgC,EAAaD,EAAjB,GAA2BC,EAAAA,WAAwBA,EAAAA,aAAxBA,EAAwDA,EAAAA,cAAAA,EAAoC,UAAJ,IAA2BA,EAAAA,UAAAA,GAA4BxB,OAAAA,eAAAA,EAA8BwB,EAA9BxB,IAAAA,IAI/P,IAkfIyB,EAhfJ,WACE,SAASC,EAAQC,GACf,IAyEqB,EAzEjBC,EAAJ,KAEIC,EAAcF,EAAlB,OACIG,OAAyB,IAAhBD,EAAAA,KADb,EAEIE,EAAcJ,EAFlB,OAGIK,OAAyB,IAAhBD,EAAAA,KAHb,EAIIE,EAAmBN,EAJvB,YAKIO,OAAmC,IAArBD,EAAAA,YALlB,EAMIE,EAAeR,EANnB,QAOIS,OAA2B,IAAjBD,EAAAA,IAPd,EAQIE,EAAwBV,EAR5B,iBASIW,OAA6C,IAA1BD,GATvB,EAUIE,EAAsBZ,EAV1B,eAWIa,OAAyC,IAAxBD,EAAAA,KAXrB,EAYIE,EAAwBd,EAZ5B,iBAaIe,OAA6C,IAA1BD,EAAAA,KAbvB,EAcIE,EAAchB,EAdlB,OAeIiB,OAAyB,IAAhBD,EAAAA,MAfb,EAgBIE,EAAgBlB,EAhBpB,SAiBImB,OAA6B,IAAlBD,EAAAA,QAjBf,EAkBIE,EAAkBpB,EAlBtB,WAmBIqB,OAAiC,IAApBD,EAAAA,KAnBjB,EAoBIE,EAAqBtB,EApBzB,cAqBIuB,OAAuC,IAAvBD,EAAAA,KArBpB,EAsBIE,EAAuBxB,EAtB3B,gBAuBIyB,OAA2C,IAAzBD,EAAAA,KAvBtB,EAwBIE,EAAwB1B,EAxB5B,oBAyBI2B,OAAgD,IAA1BD,GAzB1B,EA0BIE,EAAmB5B,EA1BvB,YA2BI6B,OAAmC,IAArBD,GA3BlB,EA4BIE,EAAwB9B,EA5B5B,kBA6BI+B,OAA8C,IAA1BD,EAAAA,KA7BxB,EA8BIE,EAAoBhC,EA9BxB,aA+BIiC,OAAqC,IAAtBD,GA/BnB,EAgCIE,EAAwBlC,EAhC5B,kBAiCImC,OAA8C,IAA1BD,GAjCxB,EAkCIE,EAAkBpC,EAlCtB,WAmCIqC,OAAiC,IAApBD,EAAAA,GAnCjB,EAoCIE,EAAqBtC,EApCzB,cAqCIuC,OAAuC,IAAvBD,EAAAA,KArCpB,EA0DA,GAtEJ,SAAyBE,EAAS,GAAgB,KAAMA,aAAN,GAA0C,MAAM,cAAN,qCAmDxFC,CAAgBC,KAAhBD,GAEAC,KAAK/B,iBAAL,EACA+B,KAAKC,aAAL,EACAD,KAAKE,QAAL,GACAF,KAAKG,YAAL,EACAH,KAAKI,UAAL,EACAJ,KAAKnB,cAAL,EACAmB,KAAKb,YAAL,EACAa,KAAKX,kBAAL,EACAW,KAAKT,aAAL,EACAS,KAAKK,kBAAL,EACAL,KAAKP,kBAAL,EAEIO,KAAJ,mBACEjC,EAAAA,GACAoB,GAAAA,GAGF,EACEa,KAAKrB,WAAa,CAAC,CAEjBZ,QAFiB,EAIjBJ,OAJiB,EAMjBE,YANiB,EAQjBM,gBAAiBA,GAAkBd,EAAnB,4BARC,MAUjBgB,kBAAmBA,GAAoBhB,EAArB,8BAVD,MAYjB0B,iBAAiB,EAZA,EAaf,oBAAW9D,EACFA,EAAAA,KAAP,GAGK8D,GAAmB,WACxB,MAAM,IADkB,KAA1B,IAKFR,OAtBiB,EAwBjBE,SAxBiB,EA0BjBhB,OA1BiB,EA2BjBwB,oBA3BiB,EA4BjBU,WA5BiB,EA6BjBE,cAAeA,QAEZ,OA0BL,MAAM,UAAN,sCAzBIG,KAAJ,kBAA2BM,QAAAA,KAAAA,8DAC3BN,KAAKrB,WAAaA,EAAA,KAAe,YAC/B,MAAO,CACLZ,QAASwC,EAAAA,SADJ,EAEL5C,OAAQ4C,EAAAA,QAFH,EAGL1C,YAAa0C,EAAAA,aAHR,EAILpC,gBAAiBoC,EAAAA,gBAAuBlD,EAAxB,4BAJX,GAKLgB,kBAAmBkC,EAAAA,kBAAyBlD,EAA1B,8BALb,GAOL0B,gBAAiB,YACf,0BAAW9D,EACFA,EAAAA,KAAP,GAGK,KALQ,CAPZ,GAcLsD,OAAQgC,EAAAA,QAdH,EAeL9B,SAAU8B,EAAAA,UAfL,EAgBL9C,OAAQ8C,EAhBH,OAiBLtB,oBAAqBsB,EAjBhB,oBAkBLZ,WAAYY,EAAAA,YAlBP,EAmBLV,cAAeU,EAAAA,eAAsBV,MAO3C,IAAI7D,EAAa,QAAjB,MACA,IAAIH,EAAc,QAAlB,MACA,IAAIE,EAAkB,QAAtB,MACA,IAAIE,EAAc,QAAlB,MAlIJ,IAAsBuE,EAAY,EAAlC,EAifE,OAjfoBA,EAqIPnD,EArIf,EA0dM,CAAC,CACHoD,IADG,wBAEH7E,MAAO,SAA+B2E,GACpC,2BAAWA,EAA6B,KAEpCP,KAAKU,MAAMC,kBAAkBX,KAAKE,QAAtC,SACS,kCAAoCF,KAAKE,QAAQvB,WAAWZ,QAAUwC,EAAAA,SAAcP,KAAKE,QAAQvB,WAAjG,WAAP,UAGKqB,KAAA,2BAAkCO,EAAAA,SAAcP,KAAKE,QAAQvB,WAApE,YAED,CACD8B,IADC,0BAED7E,MAAO,SAAiCgF,GACtC,OAAOA,EAAP,SAED,CACDH,IADC,aAED7E,MAAO,WACL,MAAO,CAAC,WAAR,aA7e4B,EAqIV,CAAC,CACrB6E,IADqB,WAErB7E,MAAO,WACL,OAAOoE,KAAA,gBAAoB,YACzB,OAAOa,EAAP,aAGH,CACDJ,IADC,SAED7E,MAAO,SAAgBkF,GACrB,MACE,MAAM,UAAN,kDASF,GALI,qBAAOC,QAA0BD,aAArC,SACEA,EAAKA,EAALA,OAIEA,EAAAA,cAAAA,UAA+BA,EAAAA,cAA/BA,gBAAoEA,EAAAA,cAAxE,MAGE,IAFA,IAAIE,EAASF,EAAb,OAES3F,EAAT,EAAgBA,EAAhB,MACE6E,KAAKiB,QAAQH,EAAb,SAGFd,KAAKiB,QAAQH,KAGhB,CACDL,IADC,UAED7E,MAAO,SAAiBkF,GAClBA,EAAAA,aAAJ,iBACER,QAAAA,KAAa,gCAAkCQ,EAA/CR,UAGFN,KAAKkB,eAAeJ,GACpBd,KAAKmB,OAAOC,KAAKN,GACjBA,EAAAA,aAAAA,gBAAAA,KAED,CACDL,IADC,iBAED7E,MAAO,SAAwByF,GAC7B,QAAIhE,EAAAA,aAAAA,QAA6BgE,EAA7BhE,UAAuD,CACzD,IAAIgE,EAAJ,gBAGE,MAAM,UAAU,4BAA8BA,EAA9C,UAFAA,EAAAA,iBAAAA,KAML,CACDZ,IADC,aAED7E,MAAO,WACL,IAAI0F,EAAUtB,KAAKU,MAAMa,cAAcC,cAAvC,OACIC,EAAKzB,KAAKU,MAAMa,cAAcC,cADlC,MAOA,OALAF,EAAAA,UAAAA,oBACAA,EAAAA,aAAAA,gBAAAA,QACAG,EAAAA,aAAAA,KAAAA,WACAH,EAAAA,YAAAA,GAEItB,KAAJ,cACSA,KAAA,0BAAP,GAGKA,KAAA,qCAAP,KAED,CACDS,IADC,cAED7E,MAAO,SAAqByF,EAAQ,GAClC,IAAIK,EADyC,KAI7C,IAAI1B,KAAKI,UAAYJ,KAAKE,QAAQmB,UAA9B,GAAqDrB,KAAKE,QAAQyB,cAAgB3B,KAAtF,4BAIAA,KAAK4B,2BAA6B5B,KAAKE,QARM,YAUxCF,KAAL,OACEA,KAAK6B,KAAO7B,KAAZ,aACAqB,EAAAA,YAAsBrB,KAAtBqB,KACArB,KAAK8B,WAAWV,KAAKpB,KAArB,OAGFA,KAAKI,UAAL,EACAJ,KAAKC,aAAL,EAEKD,KAAKE,QAAV,cACEF,KAAKE,QAAQyB,YAAb,IAGF,IAAII,EAAgB,SAAuBtE,GAEzC,GAAKiE,EAAL,UAIA,IAAIM,EAAQN,EAAA,cAAqBA,EAAAA,QAArB,cAAyD,CACnEO,IAAKP,EAAAA,QAAAA,WAAAA,WAAAA,KAD8D,SAEnEQ,KAAMR,EAAAA,QAAAA,WAAAA,WAAAA,MAF6D,UAGnES,KAAMT,EAAAA,QAAAA,WAAAA,WAH6D,KAInEU,QAAS,SAAiBtB,GACxB,qBAAWY,EAAAA,QAAAA,WAAP,OACF,OAAOZ,EAAGY,EAAAA,QAAAA,WAAV,QACK,uBAAWA,EAAAA,QAAAA,WAAP,OACT,OAAOA,EAAAA,QAAAA,WAAAA,OAAAA,EAAqCA,EAAAA,QAA5C,aAEA,MAAM,UAAN,mEAKFA,EAAAA,QAAAA,WAAJ,gBACEM,EAAQA,EAAAA,MAAAA,EAAeN,EAAAA,QAAAA,WAAvBM,gBAGFN,EAAAA,QAAAA,cAAAA,EAEA,IAAID,EAAKC,EAAAA,KAAAA,cAAT,MAIA,GAFAA,EAAAA,MAAAA,oBAAAA,IAEKM,EAAL,OAAmB,CACjB,IAAIK,EAAe,IAAIC,YAAY,mBAAoB,CACrDC,OAAQb,EAAOG,OAWjB,OARAH,EAAAA,QAAAA,QAAAA,cAAAA,QAEI,oBAAOA,EAAAA,QAAAA,WAAP,kBAAoEA,EAAAA,QAAAA,WAApE,oBAAoHA,EAAAA,QAAAA,WAAxH,gBACEA,EAAAA,WAEA,oBAAOA,EAAAA,QAAAA,WAAP,gBAAkED,EAAAA,UAAeC,EAAAA,QAAAA,WAAjF,kBAA+HD,EAAAA,UAAeC,EAAAA,QAAAA,WAA9I,iBAMJD,EAAAA,UAAAA,GAEA,IAAIe,EAAWd,EAAAA,MAAAA,cAAf,yBAEAM,EAAAA,SAAc,cACZ,IAAIS,EAAKf,EAAAA,MAAAA,cAAAA,cAAT,MACAe,EAAAA,aAAAA,OAAAA,UACAA,EAAAA,aAAAA,aAAAA,GACAA,EAAAA,iBAAAA,aAAiC,YAC/B,IACIC,EAAwBvG,EADDuF,EAAAA,cAAqB3G,EAAhD,WAGI4H,GADKD,EAFT,GAGYA,EAHZ,IAKA,IAAI3H,EAAAA,WACF2G,EAAAA,OAAAA,YAAAA,MAIAA,EAAAA,eAAJ,IACEe,EAAAA,UAAef,EAAAA,QAAAA,WAAfe,aAGFA,EAAAA,UAAef,EAAAA,QAAAA,WAAAA,iBAAfe,GACAD,EAAAA,YAAAA,MAEFf,EAAAA,YAAAA,KAGF,oBAAWzB,KAAA,mBAAP,OACFA,KAAKE,QAAQvB,WAAWlB,OAAOuC,KAAKE,QAApC,eAEA6B,EAAc/B,KAAKE,QAAQvB,WAA3BoD,WAGH,CACDtB,IADC,gBAED7E,MAAO,SAAuBkF,GAC5B,MAAS,MAAM,GACf,IAAI6B,EAAQ7B,EAAAA,aAAZ,cACA,OAAQ6B,EAA4C,CAAC7B,EAArD,GAAgBd,KAAK4C,cAAc9B,EAA5B,cAER,CACDL,IADC,wBAED7E,MAAO,SAA+ByF,EAAQ,GACxCA,IAAYwB,SAAhB,eACE7C,KAAK8C,gBAAgBzB,GAGvBrB,KAAKE,QAAQvB,WAAaqB,KAAKrB,WAAWoE,GAA1C,GACA/C,KAAKE,QAAQ8C,iBAAb,EACAhD,KAAKE,QAAQmB,QAAb,EACIA,EAAJ,kBAA+BrB,KAAKiD,mBAAmBjD,KAAKE,QAAQvB,WAApE,SAA6FqB,KAAA,gBAA4BA,KAAKE,QAAQvB,WAAzC,SAC7FqB,KAAKkD,YAAY7B,KAGlB,CACDZ,IADC,kBAED7E,MAAO,SAAyBkF,GAG9B,GAFAA,EAAAA,QAEI,oBAAOqC,OAAP,cAAJ,oBAAwDN,SAAP,YAA4C,CAC3F,IAAInC,EAAQmC,SAAZ,cACAnC,EAAAA,mBAAAA,GACAA,EAAAA,UAAAA,GACA,IAAI0C,EAAMD,OAAV,eACAC,EAAAA,kBACAA,EAAAA,SAAAA,QACK,uBAAWP,SAAAA,KAAP,gBAAqD,CAC9D,IAAIQ,EAAYR,SAAAA,KAAhB,kBACAQ,EAAAA,kBAAAA,GACAA,EAAAA,UAAAA,GACAA,EAAAA,YAIH,CACD5C,IADC,qBAED7E,MAAO,SAA4B0H,GACjC,IAAIF,EAAI,GAER1C,GADA0C,EAAMD,OAANC,gBACQA,WAAR1C,IACAA,iBACA,IAAI6C,EAAWV,SAAAA,eAAf,GACAnC,EAAAA,WAAAA,GACAA,EAAAA,mBAAAA,GACAA,EAAAA,UAAAA,GACA0C,EAAAA,kBACAA,EAAAA,SAAAA,KAGD,CACD3C,IADC,gBAED7E,MAAO,SAAuB4H,EAAS,GACrC,IAAIC,EAAYD,EAAhB,UACIE,EAAWF,EAAf,eACIG,EAAQH,EAAAA,MAAAA,UAAAA,EAAZ,GACII,EAAOJ,EAAAA,MAAAA,UAAyBA,EAAzBA,aAAgDA,EAAAA,MAA3D,QACAA,EAAAA,MAAiBG,EAAAA,EAAjBH,EACAE,GAAsBJ,EAAtBI,OACAF,EAAAA,eAAAA,EACAA,EAAAA,aAAAA,EACAA,EAAAA,QACAA,EAAAA,UAAAA,IAED,CACD/C,IADC,WAED7E,MAAO,WACDoE,KAAJ,OACEA,KAAK6B,KAAKgC,MAAMC,QAAhB,iBACA9D,KAAKI,UAAL,EACAJ,KAAKC,aAAL,EACAD,KAAKE,QAAL,MAGH,CACDO,IADC,oBAED7E,MAAO,SAA2B+G,EAAM,GAEtC,GAAI,kBADJA,EAAQoB,SAARpB,MACiCqB,MAAjC,IACA,IAAIzD,EAAOP,KAAKE,QAAQ+D,cAAxB,GACIC,EAAUlE,KAAKE,QAAQvB,WAAWR,eAAtC,GACA,OAAI+F,GAAkBlE,KAAKmE,YAAYD,EAAQ,EAAzB,MAEvB,CACDzD,IADC,cAED7E,MAAO,SAAqBsI,EAAQ,EAA7B,GACLlE,KAAKU,MAAM0D,mBAAmBF,GAAQ,GAAtC,SAED,CACDzD,IADC,UAED7E,MAAO,SAAiB+C,EAAW,EAA5B,GACL,uBAAWA,EAAP,OACF,MAAM,UAAN,oDAIAA,EAAAA,OAHK,EAGLA,EAFoBA,EAAAA,OAAAA,OAApBA,KAKH,CACD8B,IADC,SAED7E,MAAO,SAAgBmH,EAAgB,EAAhC,GACL,IAAIJ,EAAQoB,SAAZ,GACA,qBAAWpB,EAAoB,MAAM,UAAN,yDAC/B,IAAIhE,EAAaqB,KAAKrB,WAAtB,GAEAqB,KAAKqE,QAAQ1F,EAAW,EAAxB,KAED,CACD8B,IADC,gBAED7E,MAAO,SAAuB0I,EAAU,GACtC,IAAItE,KAAJ,SAGE,MAAM,UAAN,iEAFAA,KAAKqE,QAAQrE,KAAKE,QAAlB,kBAKH,CACDO,IADC,SAED7E,MAAO,SAAgBkF,GACrB,MACE,MAAM,UAAN,kDASF,GALI,qBAAOC,QAA0BD,aAArC,SACEA,EAAKA,EAALA,OAIEA,EAAAA,cAAAA,UAA+BA,EAAAA,cAA/BA,gBAAoEA,EAAAA,cAAxE,MAGE,IAFA,IAAIE,EAASF,EAAb,OAES3F,EAAT,EAAgBA,EAAhB,MACE6E,KAAKuE,QAAQzD,EAAb,SAGFd,KAAKuE,QAAQzD,KAGhB,CACDL,IADC,UAED7E,MAAO,SAAiBkF,GACtB,IAAI0D,EAAJ,KAEAxE,KAAKmB,OAAOsD,OAAO3D,GAEfA,EAAJ,aACEd,KAAK8B,WAAW2C,OAAO3D,EAAvB,aAGF4D,YAAW,WACT5D,EAAAA,gBAAAA,gBACA0D,EAAAA,UAAAA,EAEI1D,EAAJ,aACEA,EAAAA,YAAAA,iBAtdoE9D,EAAkBwD,EAAD,UAAjBxD,GAAsD,GAAiBA,EAAkBwD,EAAlBxD,GAif5IK,EA7eT,GAifA7B,EAAO,QAAPA,EACAE,EAAAA,QAAiBF,EAAO,SAEtB,CAAC,kBAAD,EAAqB,sBAArB,EAA6C,iBAA7C,EAAgE,kBAAhE,EAAoF,UAAU,IAAI,EAAE,CAAC,SAASC,EAAQC,EAAOF,GAC/H,aASA,SAASwB,EAAkBC,EAAO,GAAU,IAAK,IAAI9B,EAAT,EAAgBA,EAAI+B,EAApB,OAAkC/B,IAAK,CAAE,IAAIgC,EAAaD,EAAjB,GAA2BC,EAAAA,WAAwBA,EAAAA,aAAxBA,EAAwDA,EAAAA,cAAAA,EAAoC,UAAJ,IAA2BA,EAAAA,UAAAA,GAA4BxB,OAAAA,eAAAA,EAA8BwB,EAA9BxB,IAAAA,IAP/PA,OAAAA,eAAAA,EAAAA,aAA6C,CAC3CC,OAAO,IAETJ,EAAO,aAAc,EAQrB,IAgVI4B,EA9UJ,WACE,SAASuH,EAAcC,IATzB,SAAyB9E,EAAS,GAAgB,KAAMA,aAAN,GAA0C,MAAM,cAAN,qCAUxFC,CAAgBC,KAAhBD,GAEAC,KAAK4E,QAAL,EACA5E,KAAK4E,QAAQzD,OAAbnB,KATJ,IAAsBQ,EAAY,EAAlC,EA+UE,OA/UoBA,EAYPmE,EAZf,EAmTM,CAAC,CACHlE,IADG,OAEH7E,MAAO,WACL,MAAO,CAAC,CACN6E,IADM,EAEN7E,MAAO,OACN,CACD6E,IADC,EAED7E,MAAO,UACN,CACD6E,IADC,GAED7E,MAAO,SACN,CACD6E,IADC,GAED7E,MAAO,UACN,CACD6E,IADC,GAED7E,MAAO,SACN,CACD6E,IADC,GAED7E,MAAO,MACN,CACD6E,IADC,GAED7E,MAAO,aA1UmB,EAYJ,CAAC,CAC3B6E,IAD2B,OAE3B7E,MAAO,SAAcyF,GACnBA,EAAAA,aAAuBrB,KAAK6E,QAAQzD,KAAKC,EAAzCA,MACAA,EAAAA,WAAqBrB,KAAK8E,MAAM1D,KAAKC,EAArCA,MACAA,EAAAA,WAAqBrB,KAAK+E,MAAM3D,KAAKC,EAArCA,MACAA,EAAAA,iBAAAA,UAAoCA,EAApCA,cAAAA,GACAA,EAAAA,iBAAAA,QAAkCA,EAAlCA,YAAAA,GACAA,EAAAA,iBAAAA,QAAkCA,EAAlCA,YAAAA,KAED,CACDZ,IADC,SAED7E,MAAO,SAAgByF,GACrBA,EAAAA,oBAAAA,UAAuCA,EAAvCA,cAAAA,GACAA,EAAAA,oBAAAA,QAAqCA,EAArCA,YAAAA,GACAA,EAAAA,oBAAAA,QAAqCA,EAArCA,YAAAA,UACOA,EAAP,oBACOA,EAAP,kBACOA,EAAP,aAED,CACDZ,IADC,UAED7E,MAAO,SAAiBkE,EAAS,GAC3BA,EAAAA,iBAAJ,KACEA,EAAAA,QAAAA,UAAAA,EACAA,EAAAA,QAAAA,YAGF,IAAIuB,EAAJ,KACAvB,EAAAA,cAAAA,EACA6E,EAAAA,OAAAA,SAA6B,YACvBzJ,EAAAA,MAAU8J,EAAd,UACElF,EAAAA,cAAAA,EACAA,EAAAA,YAAqB5E,EAAAA,MAArB4E,eAAAA,EAAAA,SAIL,CACDW,IADC,QAED7E,MAAO,SAAekE,EAAS,GAC7BA,EAAAA,YAAAA,EACAA,EAAAA,MAAAA,KAAAA,KAAAA,EAAAA,KAED,CACDW,IADC,QAED7E,MAAO,SAAekE,EAAS,GAC7B,IAAI8E,EAAU9E,EAAd,QAEA,GAAI8E,EAAAA,MAAgBA,EAAAA,KAAAA,SAAsBI,EAA1C,QAAyD,CACvD,IAAIvC,EAAKuC,EAAT,OAIA,IAHAA,EAAAA,iBACAA,EAAAA,kBAEA,OAAOvC,EAAAA,SAAAA,eAGL,KAFAA,EAAKA,EAALA,aAEWA,IAAOmC,EAAlB,KACE,MAAM,UAAN,qDAIJ,GAAInC,EAAAA,uBAAAA,4BAAAA,KACFmC,EAAAA,kBAA0BnC,EAAAA,aAA1BmC,cAAAA,GACAA,EAFsE,iBAI/DA,EAAAA,QAAAA,UAA4BA,EAAAA,QAAhC,kBACLA,EAAAA,QAAAA,iBAAAA,EACAF,YAAW,WACT,OAAOE,EAAP,iBAIL,CACDnE,IADC,QAED7E,MAAO,SAAekE,EAAS,GAM7B,GALIA,EAAJ,aACEA,EAAAA,YAAAA,GAGFA,EAAAA,gBAAAA,MACA,KAAIkF,EAAAA,QAAJ,CAEA,IAAKlF,EAAAA,QAAD,aAAiCA,EAAAA,QAArC,iBAIE,OAHAA,EAAAA,QAAAA,kBAAAA,EACAA,EAAAA,cAAAA,OACAA,EAAAA,YAAAA,MAAAA,EAAAA,MAIF,IAAKA,EAAAA,QAAL,SACE,GAAIA,EAAAA,QAAJ,iBACEA,EAAAA,YAAAA,YAAAA,EAAAA,KAAAA,QACK,CACL,IAAImF,EAAUnF,EAAAA,WAAAA,EAAAA,KAAd,GACA,GAAIkE,MAAAA,KAAJ,EAAgC,OAChC,IAAIjG,EAAU+B,EAAA,yBAAiC,YAC7C,OAAO/B,EAAAA,WAAAA,KAAP,KAGF,qBAAWA,GACT+B,EAAAA,YAAAA,YAAAA,EAAAA,KAAAA,KAKDA,EAAAA,QAAAA,QAAAA,SAAoCA,EAAAA,QAArC,wBAA2EA,EAAAA,cAAmCA,EAAAA,QAAAA,UAAlH,IAA+IkF,EAAAA,UAC7IlF,EAAAA,QAAAA,YAAAA,MAAAA,MAGH,CACDW,IADC,mBAED7E,MAAO,SAA0BoJ,GAC/B,IAAKhF,KAAK4E,QAAV,SAA4B,OAAO,EAEnC,OAAI5E,KAAK4E,QAAQ1E,QAAQyB,YAAYX,OAAc,CACjD,IAAIkE,GAAJ,EAIA,OAHAP,EAAAA,OAAAA,SAA6B,YACvBK,EAAAA,UAAkB9J,EAAtB,MAA6BgK,GAAAA,OAE/B,EAGF,OAAO,IAER,CACDzE,IADC,aAED7E,MAAO,SAAoBkE,EAAS,EAA7B,GACL,IAEI8E,EAAU9E,EAAd,QACIqF,EAAOP,EAAAA,MAAAA,gBAAAA,EAAoCA,EAApCA,kBAAAA,EAAoEA,EAApEA,YAAyFA,EAApG,kBAEA,WACSO,EAAAA,mBAAAA,WAAP,KAKH,CACD1E,IADC,kBAED7E,MAAO,SAAyBkF,GAC9Bd,KAAK4E,QAAQ1E,QAAQmB,QAArB,EACA,IAAI8D,EAAOnF,KAAK4E,QAAQlE,MAAM0E,gBAAe,EAAOpF,KAAK4E,QAA9C,oBAA8E5E,KAAK4E,QAAnF,YAAwG5E,KAAK4E,QAAxH,kBAEA,IACE5E,KAAK4E,QAAQ1E,QAAQmF,aAAeF,EAApC,oBACAnF,KAAK4E,QAAQ1E,QAAQyB,YAAcwD,EAAnC,YACAnF,KAAK4E,QAAQ1E,QAAQoF,eAAiBH,EAAtC,yBAGH,CACD1E,IADC,YAED7E,MAAO,WACL,IAAI2B,EAAJ,KAEA,MAAO,CACLgI,YAAa,SAAqBxK,EAAE,EAAvB,GACX,IAAI6J,EAAUrH,EAAd,QACAqH,EAAAA,QAAAA,QAAAA,EACA,IAAIY,EAAiBZ,EAAA,iBAAwB,YAC3C,OAAOrE,EAAAA,UAAP,KAEFqE,EAAAA,QAAAA,WAAAA,EACIA,EAAJ,YAAwBA,EAAAA,YAAAA,GAAAA,IAE1Ba,MAAO,SAAe1K,EAAE,GAElBwC,EAAAA,QAAAA,UAA0BA,EAAAA,QAAAA,QAA9B,gBACExC,EAAAA,iBACAA,EAAAA,kBACA2J,YAAW,WACTnH,EAAAA,QAAAA,kBAAgCA,EAAAA,QAAhCA,aAAAA,GAEAA,EAAAA,QAAAA,aAHFmH,KAOJgB,OAAQ,SAAgB3K,EAAE,GACpBwC,EAAAA,QAAJ,WACExC,EAAAA,iBACAA,EAAAA,kBACAwC,EAAAA,QAAAA,UAAAA,EAEAA,EAAAA,QAAAA,aAGJoI,IAAK,SAAa5K,EAAE,GAElBwC,EAAAA,YAAAA,MAAAA,EAAAA,IAEFqI,MAAO,SAAe7K,EAAE,GAClBwC,EAAAA,QAAJ,WACMA,EAAAA,QAAJ,kBACEA,EAAAA,YAAAA,MAAAA,EAAAA,GACUA,EAAAA,QAAL,cACLxC,EAAAA,kBACA2J,YAAW,WACTnH,EAAAA,QAAAA,WAEAA,EAAAA,QAAAA,UAAAA,IAHFmH,MAQNmB,GAAI,SAAY9K,EAAE,GAEhB,GAAIwC,EAAAA,QAAAA,UAA0BA,EAAAA,QAAAA,QAA9B,cAAmE,CACjExC,EAAAA,iBACAA,EAAAA,kBACA,IAAI+K,EAAQvI,EAAAA,QAAAA,QAAAA,cAAZ,OACIwI,EAAWxI,EAAAA,QADf,aAGIuI,EAAAA,GAAoBC,EAAxB,GACExI,EAAAA,QAAAA,eAEAA,EAAAA,eACK,IAAIwI,IACTxI,EAAAA,QAAAA,aAA6BuI,EAA7BvI,EAEAA,EAAAA,cAEAA,EAAAA,QAAAA,KAAAA,UAA+BA,EAAAA,QAAAA,KAA/BA,gBAINyI,KAAM,SAAcjL,EAAE,GAEpB,GAAIwC,EAAAA,QAAAA,UAA0BA,EAAAA,QAAAA,QAA9B,cAAmE,CACjExC,EAAAA,iBACAA,EAAAA,kBACA,IAAI+K,EAAQvI,EAAAA,QAAAA,QAAAA,cAAAA,OAAZ,EACIwI,EAAWxI,EAAAA,QADf,aAGIuI,EAAJ,GACEvI,EAAAA,QAAAA,eAEAA,EAAAA,eACSuI,IAAJ,IACLvI,EAAAA,QAAAA,aAAAA,EAEAA,EAAAA,cAEAA,EAAAA,QAAAA,KAAAA,UAAAA,KAIN,OAAU,SAAiBxC,EAAE,GACvBwC,EAAAA,QAAAA,UAA0BA,EAAAA,QAAAA,QAAAA,YAAAA,OAA9B,EACEA,EAAAA,QAAAA,WACSA,EAAAA,QAAJ,UACLA,EAAAA,QAAAA,YAAAA,OAKP,CACDkD,IADC,cAED7E,MAAO,SAAqB+G,GAC1B,IAAIsD,EAAMjG,KAAK4E,QAAQ/C,KAAKqE,iBAA5B,MACIlF,EAASiF,EAAAA,SADb,EAEA,IAAWjG,KAAK4E,QAAQ3E,aAAe8D,SAA5B,IAEX,IAAK,IAAI5I,EAAT,EAAgBA,EAAhB,EAA4BA,IAAK,CAC/B,IAAIsH,EAAKwD,EAAT,GAEA,GAAI9K,IAAM6E,KAAK4E,QAAf,aAAqC,CACnCnC,EAAAA,UAAAA,IAAiBzC,KAAK4E,QAAQ1E,QAAQvB,WAAtC8D,aACA,IAAI0D,EAAe1D,EAAnB,wBACI2D,EAAiBpG,KAAK4E,QAAQ/C,KAAlC,wBAEA,GAAIsE,EAAAA,OAAsBC,EAA1B,OAAiD,CAC/C,IAAIC,EAAiBF,EAAAA,OAAsBC,EAA3C,OACApG,KAAK4E,QAAQ/C,KAAKyE,WAAlB,OACK,GAAIH,EAAAA,IAAmBC,EAAvB,IAA2C,CAChD,IAAIG,EAAkBH,EAAAA,IAAqBD,EAA3C,IAEAnG,KAAK4E,QAAQ/C,KAAKyE,WAAlB,QAGF7D,EAAAA,UAAAA,OAAoBzC,KAAK4E,QAAQ1E,QAAQvB,WAAzC8D,gBAIL,CACDhC,IADC,gBAED7E,MAAO,SAAuB4K,EAAK,GACjC,IAAIC,EAASD,EAAAA,wBAAb,OAEA,KAAmB,CACjB,IAAI3C,EAAQ2C,EAAAA,cAAqBrD,OAAAA,iBAAjC,GACA,OAAOsD,EAASC,WAAW7C,EAApB4C,WAAuCC,WAAW7C,EAAzD,cAGF,OAAO4C,OAjTiEzJ,EAAkBwD,EAAD,UAAjBxD,GAAsD,GAAiBA,EAAkBwD,EAAlBxD,GA+U5I2H,EA3UT,GA+UAnJ,EAAO,QAAPA,EACAE,EAAAA,QAAiBF,EAAO,SAx3BmyB,IA03BrzB,EAAE,CAAC,SAASC,EAAQC,EAAOF,GACjC,aASA,SAASwB,EAAkBC,EAAO,GAAU,IAAK,IAAI9B,EAAT,EAAgBA,EAAI+B,EAApB,OAAkC/B,IAAK,CAAE,IAAIgC,EAAaD,EAAjB,GAA2BC,EAAAA,WAAwBA,EAAAA,aAAxBA,EAAwDA,EAAAA,cAAAA,EAAoC,UAAJ,IAA2BA,EAAAA,UAAAA,GAA4BxB,OAAAA,eAAAA,EAA8BwB,EAA9BxB,IAAAA,IAP/PA,OAAAA,eAAAA,EAAAA,aAA6C,CAC3CC,OAAO,IAETJ,EAAO,aAAc,EAQrB,IAAImL,EAEJ,WACE,SAASA,EAAkB/B,IAT7B,SAAyB9E,EAAS,GAAgB,KAAMA,aAAN,GAA0C,MAAM,cAAN,qCAUxFC,CAAgBC,KAAhBD,GAEAC,KAAK4E,QAAL,EACA5E,KAAK4E,QAAQ9C,WAAb9B,KACAA,KAAK6B,KAAO7B,KAAK4E,QAAjB,KAVJ,IAAsBpE,EAAY,EAAlC,EA6EE,OA7EoBA,EAaPmG,EAbmB,EAaA,CAAC,CAC/BlG,IAD+B,OAE/B7E,MAAO,SAAciG,GACnB,IAAItE,EAAJ,KAEAyC,KAAK4G,eAAiB5G,KAAK4E,QAAQzD,OAAO0F,MAAMzF,KAAK,KAArDpB,MACAA,KAAK8G,yBAA2B9G,KAAK+G,UAAS,WACxCxJ,EAAAA,QAAJ,UACEA,EAAAA,QAAAA,YAA0BA,EAAAA,QAAAA,QAA1BA,SAAAA,KAF4B,KAAhC,GAKAyC,KAAKgH,kBAAoBhH,KAAK+G,UAAS,WACjCxJ,EAAAA,QAAJ,UACEA,EAAAA,QAAAA,MAAAA,qBAAAA,KAFqB,KATA,GAezByC,KAAK4E,QAAQlE,MAAMa,cAAc0F,iBAAiB,gBAAiBjH,KAAnE,mBACAA,KAAK4E,QAAQlE,MAAMa,cAAc0F,iBAAiB,YAAajH,KAA/D,mBACAmD,OAAAA,iBAAAA,SAAkCnD,KAAlCmD,mBAEInD,KAAJ,cACEA,KAAKnB,cAAcoI,iBAAiB,SAAUjH,KAA9C,6BAEAmD,OAAAA,iBAAAA,SAAkCnD,KAAlCmD,4BAGH,CACD1C,IADC,SAED7E,MAAO,SAAgBiG,GACrB7B,KAAK4E,QAAQlE,MAAMa,cAAc2F,oBAAoB,YAAalH,KAAlE,mBACAA,KAAK4E,QAAQlE,MAAMa,cAAc2F,oBAAoB,gBAAiBlH,KAAtE,mBACAmD,OAAAA,oBAAAA,SAAqCnD,KAArCmD,mBAEInD,KAAJ,cACEA,KAAKnB,cAAcqI,oBAAoB,SAAUlH,KAAjD,6BAEAmD,OAAAA,oBAAAA,SAAqCnD,KAArCmD,4BAGH,CACD1C,IADC,WAED7E,MAAO,SAAkBuL,EAAK,EAAvB,GACL,IAGIC,EAHA1F,EAAJ,KACI2F,EADJ,UAIA,OAAO,WACL,IAAIC,EAAJ,EACIC,EADJ,EAQIC,EAAUC,IAAd,EACAC,aAAAA,GACAN,EAAU1C,YAPE,WACV0C,EAAAA,KACA,GAAgBD,EAAAA,MAAAA,EAAAA,KAKlBC,GACA,GAAaD,EAAAA,MAAAA,EAAAA,OAxEyC,GAAgBnK,EAAkBwD,EAAD,UAAjBxD,GAAsD,GAAiBA,EAAkBwD,EAAlBxD,GA6E5I2J,EAzET,GA4EIvJ,EAAJ,EACA5B,EAAO,QAAPA,EACAE,EAAAA,QAAiBF,EAAO,SAx9BmyB,IA09BrzB,EAAE,CAAC,SAASC,EAAQC,EAAOF,GACjC,aASA,SAASwB,EAAkBC,EAAO,GAAU,IAAK,IAAI9B,EAAT,EAAgBA,EAAI+B,EAApB,OAAkC/B,IAAK,CAAE,IAAIgC,EAAaD,EAAjB,GAA2BC,EAAAA,WAAwBA,EAAAA,aAAxBA,EAAwDA,EAAAA,cAAAA,EAAoC,UAAJ,IAA2BA,EAAAA,UAAAA,GAA4BxB,OAAAA,eAAAA,EAA8BwB,EAA9BxB,IAAAA,IAP/PA,OAAAA,eAAAA,EAAAA,aAA6C,CAC3CC,OAAO,IAETJ,EAAO,aAAc,EASrB,IAgnBI4B,EA9mBJ,WACE,SAASuK,EAAa/C,IAVxB,SAAyB9E,EAAS,GAAgB,KAAMA,aAAN,GAA0C,MAAM,cAAN,qCAWxFC,CAAgBC,KAAhBD,GAEAC,KAAK4E,QAAL,EACA5E,KAAK4E,QAAQlE,MAAbV,KAVJ,IAAsBQ,EAAY,EAAlC,EAgnBE,OAhnBoBA,EAaPmH,GAbmB,EAaL,CAAC,CAC1BlH,IAD0B,cAE1B7E,MAAO,WACL,IAAI+B,EAMJ,OAJIqC,KAAK4E,QAAQ1E,QAAjB,aACEvC,EAASqC,KAAK4E,QAAQ1E,QAAQvB,WAA9BhB,QAGF,EAIOA,EAAAA,cAAP,SAHSkF,WAKV,CACDpC,IADC,sBAED7E,MAAO,SAA6BgM,GAClC,IAEA,EAFIrK,EAAJ,KAEI+J,EAAUtH,KAAK4E,QAAnB,QAEIO,EAAOnF,KAAKoF,gBAAe,EAAOpF,KAAK4E,QAAhC,oBAAgE5E,KAAK4E,QAArE,YAA0F5E,KAAK4E,QAA1G,kBAEA,wBAAWO,EAAsB,CAC/B,IAAKnF,KAAK4E,QAAV,aAEE,YADA5E,KAAK4E,QAAQ/C,KAAKgC,MAAMC,QAAxB,mBAOA+D,EAHG7H,KAAKW,kBAAkB2G,EAA5B,SAGgBtH,KAAK8H,gCAAgC3C,EAAnD0C,iBAFc7H,KAAK+H,oCAAoC/H,KAAK4E,QAAQ1E,QAAtD,QAAuEiF,EAArF0C,iBAKF7H,KAAK4E,QAAQ/C,KAAKgC,MAAMC,QAAU,QAAQkE,OAAOH,EAAf,+DAA2FA,EAA3F,iEAAyKA,EAAzK,mEAAyPA,EAAzP,OAAlC,uHAEA,SAAIA,EAAAA,OACF7H,KAAK4E,QAAQ/C,KAAKgC,MAAMoE,KAAxB,QAGF,SAAIJ,EAAAA,MACF7H,KAAK4E,QAAQ/C,KAAKgC,MAAMqE,IAAxB,QAGF,GAAclI,KAAKmI,iBACnBhF,OAAAA,YAAkB,WAChB,IAAIiF,EAAiB,CACnBC,MAAO9K,EAAAA,QAAAA,KADY,YAEnBkJ,OAAQlJ,EAAAA,QAAAA,KAAmB+K,cAGzBC,EAAkBhL,EAAAA,gBAAAA,EAAtB,GAEIiL,EAA8BrF,OAAAA,WAAoBiF,EAApBjF,QAA6CoF,EAAAA,MAAwBA,EAAvG,OACIE,EAA4BtF,OAAAA,YAAqBiF,EAArBjF,SAA+CoF,EAAAA,KAAuBA,EAAtG,SAEIC,GAAJ,KACEjL,EAAAA,QAAAA,KAAAA,MAAAA,QAAAA,gBAEAA,EAAAA,oBAAAA,MAdJ4F,QAkBAnD,KAAK4E,QAAQ/C,KAAKgC,MAAMC,QAAxB,kBAGH,CACDrD,IADC,gBAED7E,MAAO,SAAuB8M,EAAc,EAArC,GACL,IAAIhI,EACA8F,EAAJ,EAEA,KACE,IAAK,IAAIrL,EAAT,EAAgBA,EAAIwN,EAApB,OAAiCxN,IAAK,CAGpC,aAFAqL,EAAOA,EAAAA,WAAgBmC,EAAvBnC,KAGE,OAGF,KAAOA,EAAAA,OAAP,GACEoC,GAAUpC,EAAVoC,OACApC,EAAOA,EAAPA,YAGEA,IAAAA,EAAAA,WAAAA,QAAiCA,EAArC,SACEA,EAAOA,EAAPA,iBAKN,IAAIpD,EAAMpD,KAAV,sBACAU,EAAQV,KAAKuB,cAAbb,eACAA,SAAAA,EAAAA,GACAA,EAAAA,OAAAA,EAAAA,GACAA,EAAAA,UAAAA,GAEA,IACE0C,EAAAA,kBACA,UAEFA,EAAAA,SAAAA,GACAsF,EAAAA,UAED,CACDjI,IADC,qBAED7E,MAAO,SAA4B0H,EAAK,EAAjC,OACL,IAAI6B,EAAOnF,KAAKoF,gBAAe,EAAK,EAAzB,EAAiEpF,KAAK4E,QAAtE,YAA2F5E,KAAK4E,QAA3G,kBAEA,YAAIO,EAAoB,CACtB,IAAImC,EAAUtH,KAAK4E,QAAnB,QACIiE,EAAe,IAAIvG,YAAY,mBAAoB,CACrDC,OAAQ,CACNhC,KADM,EAENT,SAFM,EAGNwH,QAHM,EAINtC,MAAO8D,KAIX,GAAK9I,KAAKW,kBAAkB2G,EAA5B,SAaEhE,GAFkB,iBAAOtD,KAAA,QAAP,kBAAoDA,KAAK4E,QAAzD,kBAAlB,OAGA5E,KAAK+I,UAAUzF,EAAM6B,EAArB,gBAA2CA,EAAAA,gBAAuBA,EAAAA,YAAvBA,QAAkDnF,KAAK4E,QAAlG,sBAd4C,CAC5C,IAAIoE,EAAUhJ,KAAK4E,QAAQ1E,QAA3B,QACI+I,EAAa,iBAAOjJ,KAAA,QAAP,kBAAoDA,KAAK4E,QAAzD,kBAAjB,IACAtB,GAAAA,EACA,IAAI4F,EAAW/D,EAAf,gBACIgE,EAAShE,EAAAA,gBAAuBA,EAAAA,YAAvBA,OAAiD8D,EAA9D,OACAD,EAAAA,MAAgBA,EAAAA,MAAAA,UAAAA,EAAAA,GAAAA,EAA8CA,EAAAA,MAAAA,UAAAA,EAAgCA,EAAAA,MAA9FA,QACAA,EAAAA,eAAyBE,EAAW5F,EAApC0F,OACAA,EAAAA,aAAuBE,EAAW5F,EAAlC0F,OASF1B,EAAAA,QAAAA,cAAAA,MAGH,CACD7G,IADC,YAED7E,MAAO,SAAmBwN,EAAK,EAAxB,GACL,IAAI1I,EAAM,EACV0C,EAAMpD,KAANoD,sBACA1C,EAAQV,KAAKuB,cAAbb,eACAA,SAAe0C,EAAf1C,WAAAA,GACAA,EAAAA,OAAa0C,EAAb1C,WAAAA,GACAA,EAAAA,iBACA,IAAII,EAAKd,KAAKuB,cAAcC,cAA5B,OACAV,EAAAA,UAAAA,EAKA,IAJA,QAAIuI,EAAOrJ,KAAKuB,cAAhB,yBAIO+H,EAAOxI,EAAd,YACEyI,EAAWF,EAAAA,YAAXE,GAGF7I,EAAAA,WAjBgD,GAmBhD,KACEA,EAAQA,EAARA,cACAA,cAAAA,GACAA,EAAAA,UAAAA,GACA0C,EAAAA,kBACAA,EAAAA,SAAAA,MAGH,CACD3C,IADC,qBAED7E,MAAO,WACL,OAAIoE,KAAK4E,QAAQjG,WAAjB,OACSqB,KAAA,wCAAP,eAGKmD,OAAP,iBAED,CACD1C,IADC,0BAED7E,MAAO,SAAiCyF,GACtC,UAAIA,EAAAA,WACF,OAAO,EAGT,IAAK,IAAIlG,EAAT,EAAgBA,EAAIkG,EAAAA,WAAAA,WAApB,OAA0DlG,IAGxD,GAFWkG,EAAAA,WAAAA,WAAX,KAEA,EACE,OAAOlG,IAIZ,CACDsF,IADC,iCAED7E,MAAO,SAAwC4N,GAC7C,IAAIpG,EAAMpD,KAAV,qBACI+F,EAAW3C,EAAf,WACIuF,EAAJ,GAGA,SAAI5C,EAAkB,CAIpB,IAHA,IAAI5K,EACAsO,EAAK1D,EAAT,gBAEOA,OAAAA,GAAP,SAA4B0D,GAC1BtO,EAAI6E,KAAK0J,wBAATvO,GACAwN,EAAAA,KAAAA,GAGA,QAFA5C,EAAWA,EAAXA,cAGE0D,EAAK1D,EAAL0D,iBAOJ,OAHAd,EAdoB,UAiBb,CACL5C,SADK,EAEL4C,KAFK,EAGLC,OAJOxF,EAAAA,WAAAA,GAATwF,gBAQH,CACDnI,IADC,mCAED7E,MAAO,WACL,IAAI0L,EAAUtH,KAAK4E,QAAnB,QACItB,EADJ,GAGA,GAAKtD,KAAKW,kBAAkB2G,EAA5B,SAUO,CACL,IAAIqC,EAAe3J,KAAK4J,qBAAxB,WAEA,SAAID,EAAsB,CACxB,IAAIE,EAAqBF,EAAzB,YACIG,EAAoB9J,KAAK4J,qBAAqBG,WAAW,GAA7D,YAEIF,GAAsBC,GAA1B,IACExG,EAAOuG,EAAAA,UAAAA,EAAPvG,SAlBwC,CAC5C,IAAI0G,EAAgBhK,KAAK4E,QAAQ1E,QAAjC,QAEA,KAAmB,CACjB,IAAIgJ,EAAWc,EAAf,eAEIA,EAAAA,OAAuBd,GAA3B,IACE5F,EAAO0G,EAAAA,MAAAA,UAAAA,EAAP1G,KAgBN,OAAOA,IAER,CACD7C,IADC,oBAED7E,MAAO,SAA2B0H,GAGhC,IAAI2G,GAFJ3G,EAAOA,EAAAA,QAAAA,UAD+B,MAGrBA,MAAjB,OAEA,OAAO2G,EADWA,EAAAA,OAAlB,GACA,SAED,CACDxJ,IADC,iBAED7E,MAAO,SAAwBsO,EAAkB,EAA1C,OACL,IAGInE,EAAS,EAAb,EAHIrE,EAAJ,KAEI8H,EAAMxJ,KAAK4E,QAAf,QAGA,GAAK5E,KAAKW,kBAAkB6I,EAA5B,SAEO,CACL,IAAIW,EAAgBnK,KAAKoK,+BAAzB,GAEA,IACErE,EAAWoE,EAAXpE,SACA4C,EAAOwB,EAAPxB,KACAC,EAASuB,EAATvB,aAPF7C,EAAW/F,KAAK4E,QAAQ1E,QAAxB6F,QAWF,IAAIsE,EAAiBrK,KAArB,mCACIsK,EAA2BtK,KAAKuK,kBAApC,GAEA,KACE,MAAO,CACLC,gBAAiBH,EAAAA,OAAwBC,EADpC,OAEL3I,YAFK,EAGL8I,uBAHK,EAILC,oBAJK,EAKLC,sBAAuB/B,GAI3B,QAAIyB,IAAAA,GAAJ,OAAoCA,EAAyB,CAC3D,IACI9E,EADAqF,GAAJ,EAaA,GAXA5K,KAAK4E,QAAQjG,WAAWkM,SAAQ,YAC9B,IAAIC,EAAIjK,EAAR,QACIkK,EAAMlK,EAAAA,oBAA6Ba,EAAAA,0BAAAA,EAA7Bb,GAAmFwJ,EAAAA,YAA7F,GAEIU,EAAJ,IACEH,EAAAA,EACArF,EAAAA,EACAtG,EAAsB4B,EAAtB5B,wBAIA2L,GAAAA,IAAkCA,IAAAA,IAAAA,GAA0D,YAAYI,KAAKX,EAAAA,UAAyBO,EAAzBP,EAAjH,KAAqM,CACnM,IAAIY,EAAwBZ,EAAAA,UAAyBO,EAAzBP,EAAuDA,EAAnF,QACA9E,EAAc8E,EAAAA,UAAAA,EAAmDO,EAAjErF,GACA,IAAI2F,EAAmBD,EAAAA,UAAAA,EAAvB,GACIE,EAAeF,EAAAA,OAAAA,IAAqCC,MAAAA,GAAxD,SAAoFA,GAEpF,IACED,EAAwBA,EAAxBA,QAGF,IAAIG,EAAQjM,EAAW,UAAvB,YAGA,GAFAa,KAAK4E,QAAQvE,iBAAmB+K,EAAAA,KAAhC,IAEKD,IAAiBjB,IAAsBkB,EAAAA,KAA5C,IACE,MAAO,CACLZ,gBADK,EAEL7I,YAFK,EAGL8I,uBAHK,EAILC,oBAJK,EAKLC,sBALK,EAMLU,mBAAoB9F,OAM7B,CACD9E,IADC,4BAED7E,MAAO,SAAmC0P,EAAI,GAI5C,IAHA,IAAIC,EAAcD,EAAAA,MAAAA,IAAAA,UAAAA,KAAlB,IACI3I,GAAJ,EAES6I,EAAJ,EAAcC,EAAMH,EAAzB,OAAqCE,EAArC,EAAiDA,IAAQ,CACvD,IAAIE,EAAYF,IAASF,EAAAA,OAAzB,EACIH,EAAe,KAAKH,KAAKO,EAAYC,EAAzC,IAGA,GAFYG,IAAUJ,EAAtB,KAEcG,GAAd,GAA0C,CACxC/I,EAAQ2I,EAAAA,OAAAA,EAAR3I,EACA,OAIJ,OAAOA,IAER,CACDlC,IADC,oBAED7E,MAAO,SAA2ByF,GAChC,MAAOA,UAAAA,EAAAA,UAAP,aAAuCA,EAAAA,WAExC,CACDZ,IADC,kBAED7E,MAAO,SAAyBiM,EAAY,GAC1C,IAAI+D,EAAczI,OAAlB,WACI0I,EAAe1I,OAAnB,YACI2I,EAAMjJ,SAAV,gBACIkJ,GAAc5I,OAAAA,aAAsB2I,EAAvB,aAA0CA,EAAAA,YAA3D,GACIE,GAAa7I,OAAAA,aAAsB2I,EAAvB,YAAyCA,EAAAA,WAAzD,GACIG,EAAU,kBAAOpE,EAAP,IAAsCA,EAAtC,IAAwDmE,EAAAA,EAA2BnE,EAA3BmE,OAAgD5D,EAAtH,OACI8D,EAAY,kBAAOrE,EAAP,MAAwCA,EAAxC,MAA4DA,EAAAA,KAAmBO,EAA/F,MACI+D,EAAa,kBAAOtE,EAAP,OAAyCA,EAAzC,OAA8DA,EAAAA,IAAkBO,EAAjG,OACIgE,EAAW,kBAAOvE,EAAP,KAAuCA,EAAvC,KAA0DkE,EAAAA,EAA2BlE,EAA3BkE,MAA+C3D,EAAxH,MACA,MAAO,CACLF,IAAK+D,EAAUI,KAAAA,MADV,GAELC,MAAOJ,EAAYG,KAAAA,KAAUN,EAFxB,GAGLQ,OAAQJ,EAAaE,KAAAA,KAAUL,EAH1B,GAIL/D,KAAMmE,EAAWC,KAAAA,MAAAA,MAGpB,CACD5L,IADC,oBAED7E,MAAO,WAIL,IAAI4Q,EAAa,CACfnE,MADe,KAEf5B,OAAQ,MAMV,OAJAzG,KAAK4E,QAAQ/C,KAAKgC,MAAMC,QAAxB,oNACA0I,EAAAA,MAAmBxM,KAAK4E,QAAQ/C,KAAhC2K,YACAA,EAAAA,OAAoBxM,KAAK4E,QAAQ/C,KAAjC2K,aACAxM,KAAK4E,QAAQ/C,KAAKgC,MAAMC,QAAxB,iBACO0I,IAER,CACD/L,IADC,sCAED7E,MAAO,SAA6CyF,EAAQ,EAArD,GACL,IACIoL,EAAJ,OAAgBtJ,OAAAA,gBACZuJ,EAAM1M,KAAKuB,cAAcC,cAA7B,OACAkL,EAAAA,GAAAA,2CACA1M,KAAKuB,cAAcoL,KAAKC,YAAYF,GACpC,IAAI7I,EAAQ6I,EAAZ,MACIG,EAAW1J,OAAAA,iBAA0B2J,iBAA1B3J,GAAsD9B,EAArE,aACAwC,EAAAA,WAAAA,WAEA,UAAIxC,EAAAA,WACFwC,EAAAA,SAAAA,cAIFA,EAAAA,SAAAA,WACAA,EAAAA,WAhB8E,SAC7D,CAAC,YAAY,YAAb,kWAAjB,eAiBAkJ,SAAmB,YACjBlJ,EAAAA,GAAcgJ,EAAdhJ,MAGF,GACEA,EAAAA,MAAc,GAAGmE,OAAOjE,SAAS8I,EAAT9I,OAAV,EAAdF,MACIxC,EAAAA,aAAuB0C,SAAS8I,EAApC,UAAsDhJ,EAAAA,UAAAA,WAEtDA,EAAAA,SAAAA,SAGF6I,EAAAA,YAAkBrL,EAAAA,MAAAA,UAAAA,EAAlBqL,GAEA,UAAIrL,EAAAA,WACFqL,EAAAA,YAAkBA,EAAAA,YAAAA,QAAAA,MAAlBA,MAGF,IAAIM,EAAOhN,KAAKuB,cAAcC,cAA9B,QACAwL,EAAAA,YAAmB3L,EAAAA,MAAAA,UAAAA,IAAnB2L,IACAN,EAAAA,YAAAA,GACA,IAAIO,EAAO5L,EAAX,wBACIyK,EAAMjJ,SAAV,gBACIkJ,GAAc5I,OAAAA,aAAsB2I,EAAvB,aAA0CA,EAAAA,YAA3D,GACIE,GAAa7I,OAAAA,aAAsB2I,EAAvB,YAAyCA,EAAAA,WAAzD,GACI5D,EAAJ,EACID,EAAJ,EAEIjI,KAAJ,sBACEkI,EAAM+E,EAAN/E,IACAD,EAAOgF,EAAPhF,MAGF,IAAIJ,EAAc,CAChBK,IAAKA,EAAAA,EAAkB8E,EAAlB9E,UAAmCnE,SAAS8I,EAA5C3E,gBAAuEnE,SAAS8I,EAAhF3E,UAAqG7G,EAD1F,UAEhB4G,KAAMA,EAAAA,EAAoB+E,EAApB/E,WAAsClE,SAAS8I,EAAD,kBAElDjB,EAAczI,OAAlB,WACI0I,EAAe1I,OAAnB,YACIiF,EAAiBpI,KAArB,oBACIuI,EAAkBvI,KAAKkN,gBAAgBrF,EAA3C,GAEIU,EAAJ,QACEV,EAAAA,MAAoB+D,EAAc/D,EAAlCA,KACAA,EAAAA,KAAAA,QAGF,IAAIsF,EAAenN,KAAK4E,QAAQ/F,cAAgBmB,KAAK4E,QAAQ/F,cAA1C,aAAuEmB,KAAKuB,cAAcoL,KAA7G,aAEA,GAAIpE,EAAJ,OAA4B,CAC1B,IACI6E,EAAuBD,GAAgBtB,GAD1B7L,KAAK4E,QAAQ/F,cAAgBmB,KAAK4E,QAAQ/F,cAA1C,wBAAkFmB,KAAKuB,cAAcoL,KAAtH,yBACA,KACA9E,EAAAA,OAAqBuF,GAAwBvB,EAAeoB,EAAfpB,IAA0BmB,EAAvEnF,WACAA,EAAAA,IAAAA,OAgBF,OAbAU,EAAkBvI,KAAKkN,gBAAgBrF,EAAvCU,IAEA,OACEV,EAAAA,KAAmB+D,EAAcxD,EAAdwD,MAAqCG,EAAAA,EAA2B3D,EAAhEwD,MAAnB/D,SACOA,EAAP,OAGEU,EAAJ,MACEV,EAAAA,IAAkBgE,EAAezD,EAAfyD,OAAuCG,EAAAA,EAA2B5D,EAAlEyD,OAAlBhE,SACOA,EAAP,QAGF7H,KAAKuB,cAAcoL,KAAKU,YAAYX,GAC7B7E,IAER,CACDpH,IADC,kCAED7E,MAAO,SAAyC0R,GAC9C,IACIC,EAEA7M,EADA8M,EAAW,OAAOxF,QAAO,IAAIyF,MAAlB,sBAAgDpB,KAAAA,SAAAA,WAAAA,OAD/D,IAGIjJ,EAAMpD,KAAV,qBACI0N,EAAYtK,EAAAA,WAAhB,IACA1C,EAAQV,KAAKuB,cAAbb,eACAA,SAAe0C,EAAf1C,WAAAA,GACAA,EAAAA,OAAa0C,EAAb1C,WAAAA,GACAA,EAAAA,UAVoE,IAYpE6M,EAAWvN,KAAKuB,cAAcC,cAA9B+L,SACAA,GAAAA,EACAA,EAAAA,YAAqBvN,KAAKuB,cAAcoM,eAbxC,WAcAjN,EAAAA,WAAAA,GACA0C,EAAAA,kBACAA,EAAAA,SAAAA,GACA,IAAI6J,EAAOM,EAAX,wBACIzB,EAAMjJ,SAAV,gBACIkJ,GAAc5I,OAAAA,aAAsB2I,EAAvB,aAA0CA,EAAAA,YAA3D,GACIE,GAAa7I,OAAAA,aAAsB2I,EAAvB,YAAyCA,EAAAA,WAAzD,GACI7D,EAAJ,EACIC,EAAJ,EAEIlI,KAAJ,qBACEiI,EAAOgF,EAAPhF,KACAC,EAAM+E,EAAN/E,MAEAD,EAAOsF,EAAPtF,WACAC,EAAMqF,EAANrF,WAGF,IAAIL,EAAc,CAChBI,KAAMA,EADU,EAEhBC,IAAKA,EAAMqF,EAANrF,aAA8B8D,GAEjCJ,EAAczI,OAAlB,WACI0I,EAAe1I,OAAnB,YACIiF,EAAiBpI,KAArB,oBACIuI,EAAkBvI,KAAKkN,gBAAgBrF,EAA3C,GAEIU,EAAJ,QACEV,EAAAA,KAAAA,OACAA,EAAAA,MAAoB+D,EAAcqB,EAAdrB,KAApB/D,GAGF,IAAIsF,EAAenN,KAAK4E,QAAQ/F,cAAgBmB,KAAK4E,QAAQ/F,cAA1C,aAAuEmB,KAAKuB,cAAcoL,KAA7G,aAEA,GAAIpE,EAAJ,OAA4B,CAC1B,IACI6E,EAAuBD,GAAgBtB,GAD1B7L,KAAK4E,QAAQ/F,cAAgBmB,KAAK4E,QAAQ/F,cAA1C,wBAAkFmB,KAAKuB,cAAcoL,KAAtH,yBACA,KACA9E,EAAAA,IAAAA,OACAA,EAAAA,OAAqBuF,GAAwBvB,EAAeoB,EAA5DpF,KAgBF,OAbAU,EAAkBvI,KAAKkN,gBAAgBrF,EAAvCU,IAEA,OACEV,EAAAA,KAAmB+D,EAAcxD,EAAdwD,MAAqCG,EAAAA,EAA2B3D,EAAhEwD,MAAnB/D,SACOA,EAAP,OAGEU,EAAJ,MACEV,EAAAA,IAAkBgE,EAAezD,EAAfyD,OAAuCG,EAAAA,EAA2B5D,EAAlEyD,OAAlBhE,SACOA,EAAP,QAGF0F,EAAAA,WAAAA,YAAAA,GACO1F,IAER,CACDpH,IADC,iBAED7E,MAAO,SAAwB4K,GAC7B,MAGIzL,EAAIiF,KAAR,KACA,wBAAWjF,EAAX,CAEA,UAAO6S,IAAAA,GAAP,IAAmCA,EAAAA,QAGjC,QAFAA,EAAa7S,EAAb6S,yBAEIA,cAGE7S,KAFJA,EAAIA,EAAAA,WAAJA,MAEwBA,EAAxB,uBACE,OAKN,IAAI8S,EAAUD,EAAd,IACIE,EAAaD,EAAUD,EAA3B,OAEA,GAAIC,EAAJ,EACE1K,OAAAA,SAAAA,EAAmBA,OAAAA,YAAqByK,EAArBzK,IAtBrB,SAuBO,GAAI2K,EAAa3K,OAAjB,YAAqC,CAC1C,IAAI4K,EAAO5K,OAAAA,YAAqByK,EAArBzK,IAxBb,GA0BM4K,EAAO5K,OAAP4K,YAxBN,MAyBIA,EAAO5K,OAAAA,YAzBX,KA4BE,IAAI6K,EAAU7K,OAAAA,aAAsBA,OAAAA,YAApC,GAEI6K,EAAJ,IACEA,EAAAA,GAGF7K,OAAAA,SAAAA,EAAAA,OAGH,CACD1C,IADC,sBAEDwN,IAAK,WACH,OAAOjO,KAAA,wBAA+B6C,SAA/B,OAAiD7C,KAAK4E,QAA7D,mBA5mBwE5H,EAAkBwD,EAAD,UAAjBxD,GAAsD,GAAiBA,EAAkBwD,EAAlBxD,GAgnB5I2K,EA3mBT,GA+mBAnM,EAAO,QAAPA,EACAE,EAAAA,QAAiBF,EAAO,SA3lDmyB,IA6lDrzB,EAAE,CAAC,SAASC,EAAQC,EAAOF,GACjC,aASA,SAASwB,EAAkBC,EAAO,GAAU,IAAK,IAAI9B,EAAT,EAAgBA,EAAI+B,EAApB,OAAkC/B,IAAK,CAAE,IAAIgC,EAAaD,EAAjB,GAA2BC,EAAAA,WAAwBA,EAAAA,aAAxBA,EAAwDA,EAAAA,cAAAA,EAAoC,UAAJ,IAA2BA,EAAAA,UAAAA,GAA4BxB,OAAAA,eAAAA,EAA8BwB,EAA9BxB,IAAAA,IAP/PA,OAAAA,eAAAA,EAAAA,aAA6C,CAC3CC,OAAO,IAETJ,EAAO,aAAc,EASrB,IAqKI4B,EAnKJ,WACE,SAAS8Q,EAActJ,IAVzB,SAAyB9E,EAAS,GAAgB,KAAMA,aAAN,GAA0C,MAAM,cAAN,qCAWxFC,CAAgBC,KAAhBD,GAEAC,KAAK4E,QAAL,EACA5E,KAAK4E,QAAQuJ,OAAbnO,KAVJ,IAAsBQ,EAAY,EAAlC,EAqKE,OArKoBA,EAaP0N,GAbmB,EAaJ,CAAC,CAC3BzN,IAD2B,eAE3B7E,MAAO,SAAsBwS,EAAQ,GACnC,IAAI7Q,EAAJ,KAEA,OAAO8Q,EAAA,QAAa,YAClB,OAAO9Q,EAAAA,KAAAA,EAAP,QAGH,CACDkD,IADC,OAED7E,MAAO,SAAcwS,EAAQ,GAC3B,cAAOpO,KAAA,aAER,CACDS,IADC,QAED7E,MAAO,SAAewS,EAAQ,EAAvB,GACLE,EAAOA,GAAPA,GAGUC,EAFV,WAKItM,EAAMqM,EAAAA,KALV,GAMIpM,EAAOoM,EAAAA,MANX,GAOIE,EAAgBF,EAAAA,eAAAA,GAAgCC,EAPpD,cAWA,GAAID,EAAJ,KACE,MAAO,CACLG,SADK,EAELC,MAAO,GAIXN,EAAUE,EAAAA,eAAAA,GAAiCF,EAA3CA,cACA,IAAIO,EAAe3O,KAAK4O,SAASJ,EAAc,EAA5B,IAAnB,IAEA,SAIO,CACLC,SAAUzO,KAAK6O,OAAON,EAAQI,EAApB,QADL,GAELD,MAAOC,EAAaD,OALb,OAQV,CACDjO,IADC,WAED7E,MAAO,SAAkB2S,EAAO,EAAzB,OAEL,GAAIH,EAAAA,SAAJ,EAEE,MAAO,CACLM,MAAO1O,KAAK8O,eADP,GAELC,MAAOJ,EAAAA,SAKX,KAAIJ,EAAAA,SAAAA,GAAiCH,EAAAA,OAAAA,EAAgCG,EAAAA,OAArE,IAQA,IAJA,IAEIS,EAAK,EAFLlE,EAAIsD,EAAR,GACIzL,EAAQ4L,EAAAA,QAAAA,EAAZ,GAGO5L,GAAP,GAAmB,CAKjB,GAJAgM,EAAAA,KAAAA,GACAM,EAAOjP,KAAK4O,SAASL,EAAO,EAAU5L,EAA/B,EAA0CuM,EAA1C,EAAPD,GACAN,EAHiB,OAKjB,EACE,OAAOK,IAGJA,GAAQA,EAAAA,MAAaC,EAA1B,SACED,EAAAA,GAGFrM,EAAQ4L,EAAAA,QAAAA,EAAkB5L,EAA1BA,GAGF,OAAOqM,KAER,CACDvO,IADC,iBAED7E,MAAO,SAAwB+S,GAC7B,IAAID,EAAJ,EACIO,EAAJ,EAYA,OAXAN,EAAAA,SAAqB,cACfxT,EAAJ,IACMwT,EAAaxT,EAAbwT,GAAAA,IAAJ,EACEM,GAAQA,EAARA,EAEAA,EAAAA,GAIJP,GAAAA,KAEKA,IAER,CACDjO,IADC,SAED7E,MAAO,SAAgB2S,EAAO,EAAvB,KACL,IAAIE,EAAWF,EAAAA,UAAAA,EAAoBY,EAAnC,IAIA,OAHAA,EAAAA,SAAgB,cACdV,GAAYxM,EAAMsM,EAANtM,GAAAA,EAA6BsM,EAAAA,UAAiB5L,EAAjB4L,EAA4BY,EAAQhU,EAARgU,GAAiBA,EAAQhU,EAAzBgU,GAAkCZ,EAAvGE,WAEKA,IAER,CACDhO,IADC,SAED7E,MAAO,SAAgBwS,EAAQ,EAAxB,GACL,IAAI1M,EAAJ,KAGA,OADA4M,EAAOA,GAAPA,GACOlS,EAAA,QAAW,kBAChB,IAAIkP,EAAJ,EAEIgD,EAAJ,WACEhD,EAAMgD,EAAAA,QAANhD,MAIEA,EAAAA,KAIJ,IAAImD,EAAW/M,EAAAA,MAAAA,EAAAA,EAAf,GAWA,OATA,MAAI+M,IACFW,EAAKA,EAALA,QAAoB,CAClBb,OAAQE,EADU,SAElBC,MAAOD,EAFW,MAGlB9L,MAHkB,EAIlB0M,SAAUhO,IAIP+N,IAvBF,UAwBK,cACV,IAAIE,EAAUC,EAAAA,MAAUlU,EAAxB,MACA,UACOA,EAAAA,MAAUkU,EAAjB,cAhKsEvS,EAAkBwD,EAAD,UAAjBxD,GAAsD,GAAiBA,EAAkBwD,EAAlBxD,GAqK5IkR,EAhKT,GAoKA1S,EAAO,QAAPA,EACAE,EAAAA,QAAiBF,EAAO,SAnxDmyB,IAqxDrzB,EAAE,CAAC,SAASC,EAAQC,EAAOF,GACjC,aAOA,IAEgCU,EAPhCP,OAAAA,eAAAA,EAAAA,aAA6C,CAC3CC,OAAO,IAETJ,EAAO,aAAc,EAUrB,IAAI4B,IAN4BlB,EAFMT,EAAtC,eAEqDS,EAAPA,WAAAA,EAA8B,CAAE,QAAWA,IAMlE,QACvBV,EAAO,QAAPA,EACAE,EAAAA,QAAiBF,EAAO,SAEtB,CAAC,YAAY,IAAI,EAAE,CAAC,SAASC,EAAQC,EAAOF,GAC9C,aA6BA,GA3BKa,MAAAA,UAAL,OACEA,MAAAA,UAAAA,KAAuB,YACrB,UAAI2D,KACF,MAAM,cAAN,oDAGF,uBAAWwP,EACT,MAAM,cAAN,gCAQF,IALA,IAGI5T,EAHA6T,EAAO9T,OAAX,MACIqF,EAASyO,EAAAA,SAAb,EACIC,EAAUC,UAAd,GAGSxU,EAAT,EAAgBA,EAAhB,EAA4BA,IAG1B,GAFAS,EAAQ6T,EAAR7T,GAEI4T,EAAAA,KAAAA,EAAAA,EAAAA,EAAJ,GACE,OAAO5T,IAQXuH,QAAJ,oBAAqBA,OAAP,YAA0C,CACtD,IAAIb,EAAc,SAAqB0C,EAAM,GAC3C4K,EAASA,GAAU,CACjBC,SADiB,EAEjBC,YAFiB,EAGjBvN,YAAQwN,GAEV,IAAIC,EAAMnN,SAAAA,YAAV,eAEA,OADAmN,EAAAA,gBAAAA,EAA2BJ,EAA3BI,QAA2CJ,EAA3CI,WAA8DJ,EAA9DI,QACOA,GAGT,qBAAW7M,OAAP,QACFb,EAAAA,UAAwBa,OAAAA,MAAxBb,WAGFa,OAAAA,YAAAA,IA9CmB,KAzyD0V,GA01DrW,CA11DqW,GAAC,CAAR,IAAxV,gBAAwDzH,EAAAA,QAAeb,KAAoDoV,EAAM","sources":["webpack://code/../usr/local/bundle/gems/decidim-core-0.25.2/app/packs/src/decidim/vendor/tribute.js"],"sourcesContent":["/* eslint-disable */\n\n/*\n Modified file from the original tribute.js\n Adding inside click event the conditional if the li element has no disabled-tribute-element class name. if true, then it must continue with normal behaviour.\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Tribute = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i',\n post: _this2.current.collection.searchOpts.post || '',\n skip: _this2.current.collection.searchOpts.skip,\n extract: function extract(el) {\n if (typeof _this2.current.collection.lookup === 'string') {\n return el[_this2.current.collection.lookup];\n } else if (typeof _this2.current.collection.lookup === 'function') {\n return _this2.current.collection.lookup(el, _this2.current.mentionText);\n } else {\n throw new Error('Invalid lookup attribute, lookup must be string or function.');\n }\n }\n });\n\n if (_this2.current.collection.menuItemLimit) {\n items = items.slice(0, _this2.current.collection.menuItemLimit);\n }\n\n _this2.current.filteredItems = items;\n\n var ul = _this2.menu.querySelector('ul');\n\n _this2.range.positionMenuAtCaret(scrollTo);\n\n if (!items.length) {\n var noMatchEvent = new CustomEvent('tribute-no-match', {\n detail: _this2.menu\n });\n\n _this2.current.element.dispatchEvent(noMatchEvent);\n\n if (typeof _this2.current.collection.noMatchTemplate === 'function' && !_this2.current.collection.noMatchTemplate() || !_this2.current.collection.noMatchTemplate) {\n _this2.hideMenu();\n } else {\n typeof _this2.current.collection.noMatchTemplate === 'function' ? ul.innerHTML = _this2.current.collection.noMatchTemplate() : ul.innerHTML = _this2.current.collection.noMatchTemplate;\n }\n\n return;\n }\n\n ul.innerHTML = '';\n\n var fragment = _this2.range.getDocument().createDocumentFragment();\n\n items.forEach(function (item, index) {\n var li = _this2.range.getDocument().createElement('li');\n li.setAttribute('role', 'option');\n li.setAttribute('data-index', index);\n li.addEventListener('mousemove', function (e) {\n var _this2$_findLiTarget = _this2._findLiTarget(e.target),\n _this2$_findLiTarget2 = _slicedToArray(_this2$_findLiTarget, 2),\n li = _this2$_findLiTarget2[0],\n index = _this2$_findLiTarget2[1];\n\n if (e.movementY !== 0) {\n _this2.events.setActiveLi(index);\n }\n });\n\n if (_this2.menuSelected === index) {\n li.className = _this2.current.collection.selectClass;\n }\n\n li.innerHTML = _this2.current.collection.menuItemTemplate(item);\n fragment.appendChild(li);\n });\n ul.appendChild(fragment);\n };\n\n if (typeof this.current.collection.values === 'function') {\n this.current.collection.values(this.current.mentionText, processValues);\n } else {\n processValues(this.current.collection.values);\n }\n }\n }, {\n key: \"_findLiTarget\",\n value: function _findLiTarget(el) {\n if (!el) return [];\n var index = el.getAttribute('data-index');\n return !index ? this._findLiTarget(el.parentNode) : [el, index];\n }\n }, {\n key: \"showMenuForCollection\",\n value: function showMenuForCollection(element, collectionIndex) {\n if (element !== document.activeElement) {\n this.placeCaretAtEnd(element);\n }\n\n this.current.collection = this.collection[collectionIndex || 0];\n this.current.externalTrigger = true;\n this.current.element = element;\n if (element.isContentEditable) this.insertTextAtCursor(this.current.collection.trigger);else this.insertAtCaret(element, this.current.collection.trigger);\n this.showMenuFor(element);\n } // TODO: make sure this works for inputs/textareas\n\n }, {\n key: \"placeCaretAtEnd\",\n value: function placeCaretAtEnd(el) {\n el.focus();\n\n if (typeof window.getSelection != \"undefined\" && typeof document.createRange != \"undefined\") {\n var range = document.createRange();\n range.selectNodeContents(el);\n range.collapse(false);\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n } else if (typeof document.body.createTextRange != \"undefined\") {\n var textRange = document.body.createTextRange();\n textRange.moveToElementText(el);\n textRange.collapse(false);\n textRange.select();\n }\n } // for contenteditable\n\n }, {\n key: \"insertTextAtCursor\",\n value: function insertTextAtCursor(text) {\n var sel, range, html;\n sel = window.getSelection();\n range = sel.getRangeAt(0);\n range.deleteContents();\n var textNode = document.createTextNode(text);\n range.insertNode(textNode);\n range.selectNodeContents(textNode);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n } // for regular inputs\n\n }, {\n key: \"insertAtCaret\",\n value: function insertAtCaret(textarea, text) {\n var scrollPos = textarea.scrollTop;\n var caretPos = textarea.selectionStart;\n var front = textarea.value.substring(0, caretPos);\n var back = textarea.value.substring(textarea.selectionEnd, textarea.value.length);\n textarea.value = front + text + back;\n caretPos = caretPos + text.length;\n textarea.selectionStart = caretPos;\n textarea.selectionEnd = caretPos;\n textarea.focus();\n textarea.scrollTop = scrollPos;\n }\n }, {\n key: \"hideMenu\",\n value: function hideMenu() {\n if (this.menu) {\n this.menu.style.cssText = 'display: none;';\n this.isActive = false;\n this.menuSelected = 0;\n this.current = {};\n }\n }\n }, {\n key: \"selectItemAtIndex\",\n value: function selectItemAtIndex(index, originalEvent) {\n index = parseInt(index);\n if (typeof index !== 'number' || isNaN(index)) return;\n var item = this.current.filteredItems[index];\n var content = this.current.collection.selectTemplate(item);\n if (content !== null) this.replaceText(content, originalEvent, item);\n }\n }, {\n key: \"replaceText\",\n value: function replaceText(content, originalEvent, item) {\n this.range.replaceTriggerText(content, true, true, originalEvent, item);\n }\n }, {\n key: \"_append\",\n value: function _append(collection, newValues, replace) {\n if (typeof collection.values === 'function') {\n throw new Error('Unable to append to values, as it is a function.');\n } else if (!replace) {\n collection.values = collection.values.concat(newValues);\n } else {\n collection.values = newValues;\n }\n }\n }, {\n key: \"append\",\n value: function append(collectionIndex, newValues, replace) {\n var index = parseInt(collectionIndex);\n if (typeof index !== 'number') throw new Error('please provide an index for the collection to update.');\n var collection = this.collection[index];\n\n this._append(collection, newValues, replace);\n }\n }, {\n key: \"appendCurrent\",\n value: function appendCurrent(newValues, replace) {\n if (this.isActive) {\n this._append(this.current.collection, newValues, replace);\n } else {\n throw new Error('No active state. Please use append instead and pass an index.');\n }\n }\n }, {\n key: \"detach\",\n value: function detach(el) {\n if (!el) {\n throw new Error('[Tribute] Must pass in a DOM node or NodeList.');\n } // Check if it is a jQuery collection\n\n\n if (typeof jQuery !== 'undefined' && el instanceof jQuery) {\n el = el.get();\n } // Is el an Array/Array-like object?\n\n\n if (el.constructor === NodeList || el.constructor === HTMLCollection || el.constructor === Array) {\n var length = el.length;\n\n for (var i = 0; i < length; ++i) {\n this._detach(el[i]);\n }\n } else {\n this._detach(el);\n }\n }\n }, {\n key: \"_detach\",\n value: function _detach(el) {\n var _this3 = this;\n\n this.events.unbind(el);\n\n if (el.tributeMenu) {\n this.menuEvents.unbind(el.tributeMenu);\n }\n\n setTimeout(function () {\n el.removeAttribute('data-tribute');\n _this3.isActive = false;\n\n if (el.tributeMenu) {\n el.tributeMenu.remove();\n }\n });\n }\n }], [{\n key: \"defaultSelectTemplate\",\n value: function defaultSelectTemplate(item) {\n if (typeof item === 'undefined') return null;\n\n if (this.range.isContentEditable(this.current.element)) {\n return '' + (this.current.collection.trigger + item.original[this.current.collection.fillAttr]) + '';\n }\n\n return this.current.collection.trigger + item.original[this.current.collection.fillAttr];\n }\n }, {\n key: \"defaultMenuItemTemplate\",\n value: function defaultMenuItemTemplate(matchItem) {\n return matchItem.string;\n }\n }, {\n key: \"inputTypes\",\n value: function inputTypes() {\n return ['TEXTAREA', 'INPUT'];\n }\n }]);\n\n return Tribute;\n}();\n\nvar _default = Tribute;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{\"./TributeEvents\":2,\"./TributeMenuEvents\":3,\"./TributeRange\":4,\"./TributeSearch\":5,\"./utils\":7}],2:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar TributeEvents =\n/*#__PURE__*/\nfunction () {\n function TributeEvents(tribute) {\n _classCallCheck(this, TributeEvents);\n\n this.tribute = tribute;\n this.tribute.events = this;\n }\n\n _createClass(TributeEvents, [{\n key: \"bind\",\n value: function bind(element) {\n element.boundKeydown = this.keydown.bind(element, this);\n element.boundKeyup = this.keyup.bind(element, this);\n element.boundInput = this.input.bind(element, this);\n element.addEventListener('keydown', element.boundKeydown, false);\n element.addEventListener('keyup', element.boundKeyup, false);\n element.addEventListener('input', element.boundInput, false);\n }\n }, {\n key: \"unbind\",\n value: function unbind(element) {\n element.removeEventListener('keydown', element.boundKeydown, false);\n element.removeEventListener('keyup', element.boundKeyup, false);\n element.removeEventListener('input', element.boundInput, false);\n delete element.boundKeydown;\n delete element.boundKeyup;\n delete element.boundInput;\n }\n }, {\n key: \"keydown\",\n value: function keydown(instance, event) {\n if (instance.shouldDeactivate(event)) {\n instance.tribute.isActive = false;\n instance.tribute.hideMenu();\n }\n\n var element = this;\n instance.commandEvent = false;\n TributeEvents.keys().forEach(function (o) {\n if (o.key === event.keyCode) {\n instance.commandEvent = true;\n instance.callbacks()[o.value.toLowerCase()](event, element);\n }\n });\n }\n }, {\n key: \"input\",\n value: function input(instance, event) {\n instance.inputEvent = true;\n instance.keyup.call(this, instance, event);\n }\n }, {\n key: \"click\",\n value: function click(instance, event) {\n var tribute = instance.tribute;\n\n if (tribute.menu && tribute.menu.contains(event.target)) {\n var li = event.target;\n event.preventDefault();\n event.stopPropagation();\n\n while (li.nodeName.toLowerCase() !== 'li') {\n li = li.parentNode;\n\n if (!li || li === tribute.menu) {\n throw new Error('cannot find the
  • container for the click');\n }\n }\n\n if (li.getElementsByClassName(\"disabled-tribute-element\")[0]==undefined){\n tribute.selectItemAtIndex(li.getAttribute('data-index'), event);\n tribute.hideMenu(); // TODO: should fire with externalTrigger and target is outside of menu\n }\n } else if (tribute.current.element && !tribute.current.externalTrigger) {\n tribute.current.externalTrigger = false;\n setTimeout(function () {\n return tribute.hideMenu();\n });\n }\n }\n }, {\n key: \"keyup\",\n value: function keyup(instance, event) {\n if (instance.inputEvent) {\n instance.inputEvent = false;\n }\n\n instance.updateSelection(this);\n if (event.keyCode === 27) return;\n\n if (!instance.tribute.allowSpaces && instance.tribute.hasTrailingSpace) {\n instance.tribute.hasTrailingSpace = false;\n instance.commandEvent = true;\n instance.callbacks()[\"space\"](event, this);\n return;\n }\n\n if (!instance.tribute.isActive) {\n if (instance.tribute.autocompleteMode) {\n instance.callbacks().triggerChar(event, this, '');\n } else {\n var keyCode = instance.getKeyCode(instance, this, event);\n if (isNaN(keyCode) || !keyCode) return;\n var trigger = instance.tribute.triggers().find(function (trigger) {\n return trigger.charCodeAt(0) === keyCode;\n });\n\n if (typeof trigger !== 'undefined') {\n instance.callbacks().triggerChar(event, this, trigger);\n }\n }\n }\n\n if ((instance.tribute.current.trigger || instance.tribute.autocompleteMode) && instance.commandEvent === false || instance.tribute.isActive && event.keyCode === 8) {\n instance.tribute.showMenuFor(this, true);\n }\n }\n }, {\n key: \"shouldDeactivate\",\n value: function shouldDeactivate(event) {\n if (!this.tribute.isActive) return false;\n\n if (this.tribute.current.mentionText.length === 0) {\n var eventKeyPressed = false;\n TributeEvents.keys().forEach(function (o) {\n if (event.keyCode === o.key) eventKeyPressed = true;\n });\n return !eventKeyPressed;\n }\n\n return false;\n }\n }, {\n key: \"getKeyCode\",\n value: function getKeyCode(instance, el, event) {\n var _char;\n\n var tribute = instance.tribute;\n var info = tribute.range.getTriggerInfo(false, tribute.hasTrailingSpace, true, tribute.allowSpaces, tribute.autocompleteMode);\n\n if (info) {\n return info.mentionTriggerChar.charCodeAt(0);\n } else {\n return false;\n }\n }\n }, {\n key: \"updateSelection\",\n value: function updateSelection(el) {\n this.tribute.current.element = el;\n var info = this.tribute.range.getTriggerInfo(false, this.tribute.hasTrailingSpace, true, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (info) {\n this.tribute.current.selectedPath = info.mentionSelectedPath;\n this.tribute.current.mentionText = info.mentionText;\n this.tribute.current.selectedOffset = info.mentionSelectedOffset;\n }\n }\n }, {\n key: \"callbacks\",\n value: function callbacks() {\n var _this = this;\n\n return {\n triggerChar: function triggerChar(e, el, trigger) {\n var tribute = _this.tribute;\n tribute.current.trigger = trigger;\n var collectionItem = tribute.collection.find(function (item) {\n return item.trigger === trigger;\n });\n tribute.current.collection = collectionItem;\n if (tribute.inputEvent) tribute.showMenuFor(el, true);\n },\n enter: function enter(e, el) {\n // choose selection\n if (_this.tribute.isActive && _this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(function () {\n _this.tribute.selectItemAtIndex(_this.tribute.menuSelected, e);\n\n _this.tribute.hideMenu();\n }, 0);\n }\n },\n escape: function escape(e, el) {\n if (_this.tribute.isActive) {\n e.preventDefault();\n e.stopPropagation();\n _this.tribute.isActive = false;\n\n _this.tribute.hideMenu();\n }\n },\n tab: function tab(e, el) {\n // choose first match\n _this.callbacks().enter(e, el);\n },\n space: function space(e, el) {\n if (_this.tribute.isActive) {\n if (_this.tribute.spaceSelectsMatch) {\n _this.callbacks().enter(e, el);\n } else if (!_this.tribute.allowSpaces) {\n e.stopPropagation();\n setTimeout(function () {\n _this.tribute.hideMenu();\n\n _this.tribute.isActive = false;\n }, 0);\n }\n }\n },\n up: function up(e, el) {\n // navigate up ul\n if (_this.tribute.isActive && _this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n var count = _this.tribute.current.filteredItems.length,\n selected = _this.tribute.menuSelected;\n\n if (count > selected && selected > 0) {\n _this.tribute.menuSelected--;\n\n _this.setActiveLi();\n } else if (selected === 0) {\n _this.tribute.menuSelected = count - 1;\n\n _this.setActiveLi();\n\n _this.tribute.menu.scrollTop = _this.tribute.menu.scrollHeight;\n }\n }\n },\n down: function down(e, el) {\n // navigate down ul\n if (_this.tribute.isActive && _this.tribute.current.filteredItems) {\n e.preventDefault();\n e.stopPropagation();\n var count = _this.tribute.current.filteredItems.length - 1,\n selected = _this.tribute.menuSelected;\n\n if (count > selected) {\n _this.tribute.menuSelected++;\n\n _this.setActiveLi();\n } else if (count === selected) {\n _this.tribute.menuSelected = 0;\n\n _this.setActiveLi();\n\n _this.tribute.menu.scrollTop = 0;\n }\n }\n },\n \"delete\": function _delete(e, el) {\n if (_this.tribute.isActive && _this.tribute.current.mentionText.length < 1) {\n _this.tribute.hideMenu();\n } else if (_this.tribute.isActive) {\n _this.tribute.showMenuFor(el);\n }\n }\n };\n }\n }, {\n key: \"setActiveLi\",\n value: function setActiveLi(index) {\n var lis = this.tribute.menu.querySelectorAll('li'),\n length = lis.length >>> 0;\n if (index) this.tribute.menuSelected = parseInt(index);\n\n for (var i = 0; i < length; i++) {\n var li = lis[i];\n\n if (i === this.tribute.menuSelected) {\n li.classList.add(this.tribute.current.collection.selectClass);\n var liClientRect = li.getBoundingClientRect();\n var menuClientRect = this.tribute.menu.getBoundingClientRect();\n\n if (liClientRect.bottom > menuClientRect.bottom) {\n var scrollDistance = liClientRect.bottom - menuClientRect.bottom;\n this.tribute.menu.scrollTop += scrollDistance;\n } else if (liClientRect.top < menuClientRect.top) {\n var _scrollDistance = menuClientRect.top - liClientRect.top;\n\n this.tribute.menu.scrollTop -= _scrollDistance;\n }\n } else {\n li.classList.remove(this.tribute.current.collection.selectClass);\n }\n }\n }\n }, {\n key: \"getFullHeight\",\n value: function getFullHeight(elem, includeMargin) {\n var height = elem.getBoundingClientRect().height;\n\n if (includeMargin) {\n var style = elem.currentStyle || window.getComputedStyle(elem);\n return height + parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n\n return height;\n }\n }], [{\n key: \"keys\",\n value: function keys() {\n return [{\n key: 9,\n value: 'TAB'\n }, {\n key: 8,\n value: 'DELETE'\n }, {\n key: 13,\n value: 'ENTER'\n }, {\n key: 27,\n value: 'ESCAPE'\n }, {\n key: 32,\n value: 'SPACE'\n }, {\n key: 38,\n value: 'UP'\n }, {\n key: 40,\n value: 'DOWN'\n }];\n }\n }]);\n\n return TributeEvents;\n}();\n\nvar _default = TributeEvents;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{}],3:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar TributeMenuEvents =\n/*#__PURE__*/\nfunction () {\n function TributeMenuEvents(tribute) {\n _classCallCheck(this, TributeMenuEvents);\n\n this.tribute = tribute;\n this.tribute.menuEvents = this;\n this.menu = this.tribute.menu;\n }\n\n _createClass(TributeMenuEvents, [{\n key: \"bind\",\n value: function bind(menu) {\n var _this = this;\n\n this.menuClickEvent = this.tribute.events.click.bind(null, this);\n this.menuContainerScrollEvent = this.debounce(function () {\n if (_this.tribute.isActive) {\n _this.tribute.showMenuFor(_this.tribute.current.element, false);\n }\n }, 300, false);\n this.windowResizeEvent = this.debounce(function () {\n if (_this.tribute.isActive) {\n _this.tribute.range.positionMenuAtCaret(true);\n }\n }, 300, false); // fixes IE11 issues with mousedown\n\n this.tribute.range.getDocument().addEventListener('MSPointerDown', this.menuClickEvent, false);\n this.tribute.range.getDocument().addEventListener('mousedown', this.menuClickEvent, false);\n window.addEventListener('resize', this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.addEventListener('scroll', this.menuContainerScrollEvent, false);\n } else {\n window.addEventListener('scroll', this.menuContainerScrollEvent);\n }\n }\n }, {\n key: \"unbind\",\n value: function unbind(menu) {\n this.tribute.range.getDocument().removeEventListener('mousedown', this.menuClickEvent, false);\n this.tribute.range.getDocument().removeEventListener('MSPointerDown', this.menuClickEvent, false);\n window.removeEventListener('resize', this.windowResizeEvent);\n\n if (this.menuContainer) {\n this.menuContainer.removeEventListener('scroll', this.menuContainerScrollEvent, false);\n } else {\n window.removeEventListener('scroll', this.menuContainerScrollEvent);\n }\n }\n }, {\n key: \"debounce\",\n value: function debounce(func, wait, immediate) {\n var _this2 = this,\n _arguments = arguments;\n\n var timeout;\n return function () {\n var context = _this2,\n args = _arguments;\n\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n }]);\n\n return TributeMenuEvents;\n}();\n\nvar _default = TributeMenuEvents;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{}],4:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// Thanks to https://github.com/jeff-collins/ment.io\nvar TributeRange =\n/*#__PURE__*/\nfunction () {\n function TributeRange(tribute) {\n _classCallCheck(this, TributeRange);\n\n this.tribute = tribute;\n this.tribute.range = this;\n }\n\n _createClass(TributeRange, [{\n key: \"getDocument\",\n value: function getDocument() {\n var iframe;\n\n if (this.tribute.current.collection) {\n iframe = this.tribute.current.collection.iframe;\n }\n\n if (!iframe) {\n return document;\n }\n\n return iframe.contentWindow.document;\n }\n }, {\n key: \"positionMenuAtCaret\",\n value: function positionMenuAtCaret(scrollTo) {\n var _this = this;\n\n var context = this.tribute.current,\n coordinates;\n var info = this.getTriggerInfo(false, this.tribute.hasTrailingSpace, true, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (typeof info !== 'undefined') {\n if (!this.tribute.positionMenu) {\n this.tribute.menu.style.cssText = \"display: block;\";\n return;\n }\n\n if (!this.isContentEditable(context.element)) {\n coordinates = this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element, info.mentionPosition);\n } else {\n coordinates = this.getContentEditableCaretPosition(info.mentionPosition);\n }\n\n this.tribute.menu.style.cssText = \"top: \".concat(coordinates.top, \"px;\\n left: \").concat(coordinates.left, \"px;\\n right: \").concat(coordinates.right, \"px;\\n bottom: \").concat(coordinates.bottom, \"px;\\n position: absolute;\\n display: block;\");\n\n if (coordinates.left === 'auto') {\n this.tribute.menu.style.left = 'auto';\n }\n\n if (coordinates.top === 'auto') {\n this.tribute.menu.style.top = 'auto';\n }\n\n if (scrollTo) this.scrollIntoView();\n window.setTimeout(function () {\n var menuDimensions = {\n width: _this.tribute.menu.offsetWidth,\n height: _this.tribute.menu.offsetHeight\n };\n\n var menuIsOffScreen = _this.isMenuOffScreen(coordinates, menuDimensions);\n\n var menuIsOffScreenHorizontally = window.innerWidth > menuDimensions.width && (menuIsOffScreen.left || menuIsOffScreen.right);\n var menuIsOffScreenVertically = window.innerHeight > menuDimensions.height && (menuIsOffScreen.top || menuIsOffScreen.bottom);\n\n if (menuIsOffScreenHorizontally || menuIsOffScreenVertically) {\n _this.tribute.menu.style.cssText = 'display: none';\n\n _this.positionMenuAtCaret(scrollTo);\n }\n }, 0);\n } else {\n this.tribute.menu.style.cssText = 'display: none';\n }\n }\n }, {\n key: \"selectElement\",\n value: function selectElement(targetElement, path, offset) {\n var range;\n var elem = targetElement;\n\n if (path) {\n for (var i = 0; i < path.length; i++) {\n elem = elem.childNodes[path[i]];\n\n if (elem === undefined) {\n return;\n }\n\n while (elem.length < offset) {\n offset -= elem.length;\n elem = elem.nextSibling;\n }\n\n if (elem.childNodes.length === 0 && !elem.length) {\n elem = elem.previousSibling;\n }\n }\n }\n\n var sel = this.getWindowSelection();\n range = this.getDocument().createRange();\n range.setStart(elem, offset);\n range.setEnd(elem, offset);\n range.collapse(true);\n\n try {\n sel.removeAllRanges();\n } catch (error) {}\n\n sel.addRange(range);\n targetElement.focus();\n }\n }, {\n key: \"replaceTriggerText\",\n value: function replaceTriggerText(text, requireLeadingSpace, hasTrailingSpace, originalEvent, item) {\n var info = this.getTriggerInfo(true, hasTrailingSpace, requireLeadingSpace, this.tribute.allowSpaces, this.tribute.autocompleteMode);\n\n if (info !== undefined) {\n var context = this.tribute.current;\n var replaceEvent = new CustomEvent('tribute-replaced', {\n detail: {\n item: item,\n instance: context,\n context: info,\n event: originalEvent\n }\n });\n\n if (!this.isContentEditable(context.element)) {\n var myField = this.tribute.current.element;\n var textSuffix = typeof this.tribute.replaceTextSuffix == 'string' ? this.tribute.replaceTextSuffix : ' ';\n text += textSuffix;\n var startPos = info.mentionPosition;\n var endPos = info.mentionPosition + info.mentionText.length + textSuffix.length;\n myField.value = myField.value.substring(0, startPos) + text + myField.value.substring(endPos, myField.value.length);\n myField.selectionStart = startPos + text.length;\n myField.selectionEnd = startPos + text.length;\n } else {\n // add a space to the end of the pasted text\n var _textSuffix = typeof this.tribute.replaceTextSuffix == 'string' ? this.tribute.replaceTextSuffix : '\\xA0';\n\n text += _textSuffix;\n this.pasteHtml(text, info.mentionPosition, info.mentionPosition + info.mentionText.length + !this.tribute.autocompleteMode);\n }\n\n context.element.dispatchEvent(replaceEvent);\n }\n }\n }, {\n key: \"pasteHtml\",\n value: function pasteHtml(html, startPos, endPos) {\n var range, sel;\n sel = this.getWindowSelection();\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, startPos);\n range.setEnd(sel.anchorNode, endPos);\n range.deleteContents();\n var el = this.getDocument().createElement('div');\n el.innerHTML = html;\n var frag = this.getDocument().createDocumentFragment(),\n node,\n lastNode;\n\n while (node = el.firstChild) {\n lastNode = frag.appendChild(node);\n }\n\n range.insertNode(frag); // Preserve the selection\n\n if (lastNode) {\n range = range.cloneRange();\n range.setStartAfter(lastNode);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n }\n }, {\n key: \"getWindowSelection\",\n value: function getWindowSelection() {\n if (this.tribute.collection.iframe) {\n return this.tribute.collection.iframe.contentWindow.getSelection();\n }\n\n return window.getSelection();\n }\n }, {\n key: \"getNodePositionInParent\",\n value: function getNodePositionInParent(element) {\n if (element.parentNode === null) {\n return 0;\n }\n\n for (var i = 0; i < element.parentNode.childNodes.length; i++) {\n var node = element.parentNode.childNodes[i];\n\n if (node === element) {\n return i;\n }\n }\n }\n }, {\n key: \"getContentEditableSelectedPath\",\n value: function getContentEditableSelectedPath(ctx) {\n var sel = this.getWindowSelection();\n var selected = sel.anchorNode;\n var path = [];\n var offset;\n\n if (selected != null) {\n var i;\n var ce = selected.contentEditable;\n\n while (selected !== null && ce !== 'true') {\n i = this.getNodePositionInParent(selected);\n path.push(i);\n selected = selected.parentNode;\n\n if (selected !== null) {\n ce = selected.contentEditable;\n }\n }\n\n path.reverse(); // getRangeAt may not exist, need alternative\n\n offset = sel.getRangeAt(0).startOffset;\n return {\n selected: selected,\n path: path,\n offset: offset\n };\n }\n }\n }, {\n key: \"getTextPrecedingCurrentSelection\",\n value: function getTextPrecedingCurrentSelection() {\n var context = this.tribute.current,\n text = '';\n\n if (!this.isContentEditable(context.element)) {\n var textComponent = this.tribute.current.element;\n\n if (textComponent) {\n var startPos = textComponent.selectionStart;\n\n if (textComponent.value && startPos >= 0) {\n text = textComponent.value.substring(0, startPos);\n }\n }\n } else {\n var selectedElem = this.getWindowSelection().anchorNode;\n\n if (selectedElem != null) {\n var workingNodeContent = selectedElem.textContent;\n var selectStartOffset = this.getWindowSelection().getRangeAt(0).startOffset;\n\n if (workingNodeContent && selectStartOffset >= 0) {\n text = workingNodeContent.substring(0, selectStartOffset);\n }\n }\n }\n\n return text;\n }\n }, {\n key: \"getLastWordInText\",\n value: function getLastWordInText(text) {\n text = text.replace(/\\u00A0/g, ' '); // https://stackoverflow.com/questions/29850407/how-do-i-replace-unicode-character-u00a0-with-a-space-in-javascript\n\n var wordsArray = text.split(/\\s+/);\n var worldsCount = wordsArray.length - 1;\n return wordsArray[worldsCount].trim();\n }\n }, {\n key: \"getTriggerInfo\",\n value: function getTriggerInfo(menuAlreadyActive, hasTrailingSpace, requireLeadingSpace, allowSpaces, isAutocomplete) {\n var _this2 = this;\n\n var ctx = this.tribute.current;\n var selected, path, offset;\n\n if (!this.isContentEditable(ctx.element)) {\n selected = this.tribute.current.element;\n } else {\n var selectionInfo = this.getContentEditableSelectedPath(ctx);\n\n if (selectionInfo) {\n selected = selectionInfo.selected;\n path = selectionInfo.path;\n offset = selectionInfo.offset;\n }\n }\n\n var effectiveRange = this.getTextPrecedingCurrentSelection();\n var lastWordOfEffectiveRange = this.getLastWordInText(effectiveRange);\n\n if (isAutocomplete) {\n return {\n mentionPosition: effectiveRange.length - lastWordOfEffectiveRange.length,\n mentionText: lastWordOfEffectiveRange,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset\n };\n }\n\n if (effectiveRange !== undefined && effectiveRange !== null) {\n var mostRecentTriggerCharPos = -1;\n var triggerChar;\n this.tribute.collection.forEach(function (config) {\n var c = config.trigger;\n var idx = config.requireLeadingSpace ? _this2.lastIndexWithLeadingSpace(effectiveRange, c) : effectiveRange.lastIndexOf(c);\n\n if (idx > mostRecentTriggerCharPos) {\n mostRecentTriggerCharPos = idx;\n triggerChar = c;\n requireLeadingSpace = config.requireLeadingSpace;\n }\n });\n\n if (mostRecentTriggerCharPos >= 0 && (mostRecentTriggerCharPos === 0 || !requireLeadingSpace || /[\\xA0\\s]/g.test(effectiveRange.substring(mostRecentTriggerCharPos - 1, mostRecentTriggerCharPos)))) {\n var currentTriggerSnippet = effectiveRange.substring(mostRecentTriggerCharPos + 1, effectiveRange.length);\n triggerChar = effectiveRange.substring(mostRecentTriggerCharPos, mostRecentTriggerCharPos + 1);\n var firstSnippetChar = currentTriggerSnippet.substring(0, 1);\n var leadingSpace = currentTriggerSnippet.length > 0 && (firstSnippetChar === ' ' || firstSnippetChar === '\\xA0');\n\n if (hasTrailingSpace) {\n currentTriggerSnippet = currentTriggerSnippet.trim();\n }\n\n var regex = allowSpaces ? /[^\\S ]/g : /[\\xA0\\s]/g;\n this.tribute.hasTrailingSpace = regex.test(currentTriggerSnippet);\n\n if (!leadingSpace && (menuAlreadyActive || !regex.test(currentTriggerSnippet))) {\n return {\n mentionPosition: mostRecentTriggerCharPos,\n mentionText: currentTriggerSnippet,\n mentionSelectedElement: selected,\n mentionSelectedPath: path,\n mentionSelectedOffset: offset,\n mentionTriggerChar: triggerChar\n };\n }\n }\n }\n }\n }, {\n key: \"lastIndexWithLeadingSpace\",\n value: function lastIndexWithLeadingSpace(str, _char) {\n var reversedStr = str.split('').reverse().join('');\n var index = -1;\n\n for (var cidx = 0, len = str.length; cidx < len; cidx++) {\n var firstChar = cidx === str.length - 1;\n var leadingSpace = /\\s/.test(reversedStr[cidx + 1]);\n var match = _char === reversedStr[cidx];\n\n if (match && (firstChar || leadingSpace)) {\n index = str.length - 1 - cidx;\n break;\n }\n }\n\n return index;\n }\n }, {\n key: \"isContentEditable\",\n value: function isContentEditable(element) {\n return element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA';\n }\n }, {\n key: \"isMenuOffScreen\",\n value: function isMenuOffScreen(coordinates, menuDimensions) {\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var doc = document.documentElement;\n var windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n var windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n var menuTop = typeof coordinates.top === 'number' ? coordinates.top : windowTop + windowHeight - coordinates.bottom - menuDimensions.height;\n var menuRight = typeof coordinates.right === 'number' ? coordinates.right : coordinates.left + menuDimensions.width;\n var menuBottom = typeof coordinates.bottom === 'number' ? coordinates.bottom : coordinates.top + menuDimensions.height;\n var menuLeft = typeof coordinates.left === 'number' ? coordinates.left : windowLeft + windowWidth - coordinates.right - menuDimensions.width;\n return {\n top: menuTop < Math.floor(windowTop),\n right: menuRight > Math.ceil(windowLeft + windowWidth),\n bottom: menuBottom > Math.ceil(windowTop + windowHeight),\n left: menuLeft < Math.floor(windowLeft)\n };\n }\n }, {\n key: \"getMenuDimensions\",\n value: function getMenuDimensions() {\n // Width of the menu depends of its contents and position\n // We must check what its width would be without any obstruction\n // This way, we can achieve good positioning for flipping the menu\n var dimensions = {\n width: null,\n height: null\n };\n this.tribute.menu.style.cssText = \"top: 0px;\\n left: 0px;\\n position: fixed;\\n display: block;\\n visibility; hidden;\";\n dimensions.width = this.tribute.menu.offsetWidth;\n dimensions.height = this.tribute.menu.offsetHeight;\n this.tribute.menu.style.cssText = \"display: none;\";\n return dimensions;\n }\n }, {\n key: \"getTextAreaOrInputUnderlinePosition\",\n value: function getTextAreaOrInputUnderlinePosition(element, position, flipped) {\n var properties = ['direction', 'boxSizing', 'width', 'height', 'overflowX', 'overflowY', 'borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'fontStyle', 'fontVariant', 'fontWeight', 'fontStretch', 'fontSize', 'fontSizeAdjust', 'lineHeight', 'fontFamily', 'textAlign', 'textTransform', 'textIndent', 'textDecoration', 'letterSpacing', 'wordSpacing'];\n var isFirefox = window.mozInnerScreenX !== null;\n var div = this.getDocument().createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n this.getDocument().body.appendChild(div);\n var style = div.style;\n var computed = window.getComputedStyle ? getComputedStyle(element) : element.currentStyle;\n style.whiteSpace = 'pre-wrap';\n\n if (element.nodeName !== 'INPUT') {\n style.wordWrap = 'break-word';\n } // position off-screen\n\n\n style.position = 'absolute';\n style.visibility = 'hidden'; // transfer the element's properties to the div\n\n properties.forEach(function (prop) {\n style[prop] = computed[prop];\n });\n\n if (isFirefox) {\n style.width = \"\".concat(parseInt(computed.width) - 2, \"px\");\n if (element.scrollHeight > parseInt(computed.height)) style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden';\n }\n\n div.textContent = element.value.substring(0, position);\n\n if (element.nodeName === 'INPUT') {\n div.textContent = div.textContent.replace(/\\s/g, ' ');\n }\n\n var span = this.getDocument().createElement('span');\n span.textContent = element.value.substring(position) || '.';\n div.appendChild(span);\n var rect = element.getBoundingClientRect();\n var doc = document.documentElement;\n var windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n var windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n var top = 0;\n var left = 0;\n\n if (this.menuContainerIsBody) {\n top = rect.top;\n left = rect.left;\n }\n\n var coordinates = {\n top: top + windowTop + span.offsetTop + parseInt(computed.borderTopWidth) + parseInt(computed.fontSize) - element.scrollTop,\n left: left + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth)\n };\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var menuDimensions = this.getMenuDimensions();\n var menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.right = windowWidth - coordinates.left;\n coordinates.left = 'auto';\n }\n\n var parentHeight = this.tribute.menuContainer ? this.tribute.menuContainer.offsetHeight : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n var parentRect = this.tribute.menuContainer ? this.tribute.menuContainer.getBoundingClientRect() : this.getDocument().body.getBoundingClientRect();\n var scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top - span.offsetTop);\n coordinates.top = 'auto';\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width ? windowLeft + windowWidth - menuDimensions.width : windowLeft;\n delete coordinates.right;\n }\n\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height ? windowTop + windowHeight - menuDimensions.height : windowTop;\n delete coordinates.bottom;\n }\n\n this.getDocument().body.removeChild(div);\n return coordinates;\n }\n }, {\n key: \"getContentEditableCaretPosition\",\n value: function getContentEditableCaretPosition(selectedNodePosition) {\n var markerTextChar = '';\n var markerEl,\n markerId = \"sel_\".concat(new Date().getTime(), \"_\").concat(Math.random().toString().substr(2));\n var range;\n var sel = this.getWindowSelection();\n var prevRange = sel.getRangeAt(0);\n range = this.getDocument().createRange();\n range.setStart(sel.anchorNode, selectedNodePosition);\n range.setEnd(sel.anchorNode, selectedNodePosition);\n range.collapse(false); // Create the marker element containing a single invisible character using DOM methods and insert it\n\n markerEl = this.getDocument().createElement('span');\n markerEl.id = markerId;\n markerEl.appendChild(this.getDocument().createTextNode(markerTextChar));\n range.insertNode(markerEl);\n sel.removeAllRanges();\n sel.addRange(prevRange);\n var rect = markerEl.getBoundingClientRect();\n var doc = document.documentElement;\n var windowLeft = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n var windowTop = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n var left = 0;\n var top = 0;\n\n if (this.menuContainerIsBody) {\n left = rect.left;\n top = rect.top;\n } else {\n left = markerEl.offsetLeft;\n top = markerEl.offsetTop;\n }\n\n var coordinates = {\n left: left + windowLeft,\n top: top + markerEl.offsetHeight + windowTop\n };\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var menuDimensions = this.getMenuDimensions();\n var menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.right) {\n coordinates.left = 'auto';\n coordinates.right = windowWidth - rect.left - windowLeft;\n }\n\n var parentHeight = this.tribute.menuContainer ? this.tribute.menuContainer.offsetHeight : this.getDocument().body.offsetHeight;\n\n if (menuIsOffScreen.bottom) {\n var parentRect = this.tribute.menuContainer ? this.tribute.menuContainer.getBoundingClientRect() : this.getDocument().body.getBoundingClientRect();\n var scrollStillAvailable = parentHeight - (windowHeight - parentRect.top);\n coordinates.top = 'auto';\n coordinates.bottom = scrollStillAvailable + (windowHeight - rect.top);\n }\n\n menuIsOffScreen = this.isMenuOffScreen(coordinates, menuDimensions);\n\n if (menuIsOffScreen.left) {\n coordinates.left = windowWidth > menuDimensions.width ? windowLeft + windowWidth - menuDimensions.width : windowLeft;\n delete coordinates.right;\n }\n\n if (menuIsOffScreen.top) {\n coordinates.top = windowHeight > menuDimensions.height ? windowTop + windowHeight - menuDimensions.height : windowTop;\n delete coordinates.bottom;\n }\n\n markerEl.parentNode.removeChild(markerEl);\n return coordinates;\n }\n }, {\n key: \"scrollIntoView\",\n value: function scrollIntoView(elem) {\n var reasonableBuffer = 20,\n clientRect;\n var maxScrollDisplacement = 100;\n var e = this.menu;\n if (typeof e === 'undefined') return;\n\n while (clientRect === undefined || clientRect.height === 0) {\n clientRect = e.getBoundingClientRect();\n\n if (clientRect.height === 0) {\n e = e.childNodes[0];\n\n if (e === undefined || !e.getBoundingClientRect) {\n return;\n }\n }\n }\n\n var elemTop = clientRect.top;\n var elemBottom = elemTop + clientRect.height;\n\n if (elemTop < 0) {\n window.scrollTo(0, window.pageYOffset + clientRect.top - reasonableBuffer);\n } else if (elemBottom > window.innerHeight) {\n var maxY = window.pageYOffset + clientRect.top - reasonableBuffer;\n\n if (maxY - window.pageYOffset > maxScrollDisplacement) {\n maxY = window.pageYOffset + maxScrollDisplacement;\n }\n\n var targetY = window.pageYOffset - (window.innerHeight - elemBottom);\n\n if (targetY > maxY) {\n targetY = maxY;\n }\n\n window.scrollTo(0, targetY);\n }\n }\n }, {\n key: \"menuContainerIsBody\",\n get: function get() {\n return this.tribute.menuContainer === document.body || !this.tribute.menuContainer;\n }\n }]);\n\n return TributeRange;\n}();\n\nvar _default = TributeRange;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{}],5:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// Thanks to https://github.com/mattyork/fuzzy\nvar TributeSearch =\n/*#__PURE__*/\nfunction () {\n function TributeSearch(tribute) {\n _classCallCheck(this, TributeSearch);\n\n this.tribute = tribute;\n this.tribute.search = this;\n }\n\n _createClass(TributeSearch, [{\n key: \"simpleFilter\",\n value: function simpleFilter(pattern, array) {\n var _this = this;\n\n return array.filter(function (string) {\n return _this.test(pattern, string);\n });\n }\n }, {\n key: \"test\",\n value: function test(pattern, string) {\n return this.match(pattern, string) !== null;\n }\n }, {\n key: \"match\",\n value: function match(pattern, string, opts) {\n opts = opts || {};\n var patternIdx = 0,\n result = [],\n len = string.length,\n totalScore = 0,\n currScore = 0,\n pre = opts.pre || '',\n post = opts.post || '',\n compareString = opts.caseSensitive && string || string.toLowerCase(),\n ch,\n compareChar;\n\n if (opts.skip) {\n return {\n rendered: string,\n score: 0\n };\n }\n\n pattern = opts.caseSensitive && pattern || pattern.toLowerCase();\n var patternCache = this.traverse(compareString, pattern, 0, 0, []);\n\n if (!patternCache) {\n return null;\n }\n\n return {\n rendered: this.render(string, patternCache.cache, pre, post),\n score: patternCache.score\n };\n }\n }, {\n key: \"traverse\",\n value: function traverse(string, pattern, stringIndex, patternIndex, patternCache) {\n // if the pattern search at end\n if (pattern.length === patternIndex) {\n // calculate score and copy the cache containing the indices where it's found\n return {\n score: this.calculateScore(patternCache),\n cache: patternCache.slice()\n };\n } // if string at end or remaining pattern > remaining string\n\n\n if (string.length === stringIndex || pattern.length - patternIndex > string.length - stringIndex) {\n return undefined;\n }\n\n var c = pattern[patternIndex];\n var index = string.indexOf(c, stringIndex);\n var best, temp;\n\n while (index > -1) {\n patternCache.push(index);\n temp = this.traverse(string, pattern, index + 1, patternIndex + 1, patternCache);\n patternCache.pop(); // if downstream traversal failed, return best answer so far\n\n if (!temp) {\n return best;\n }\n\n if (!best || best.score < temp.score) {\n best = temp;\n }\n\n index = string.indexOf(c, index + 1);\n }\n\n return best;\n }\n }, {\n key: \"calculateScore\",\n value: function calculateScore(patternCache) {\n var score = 0;\n var temp = 1;\n patternCache.forEach(function (index, i) {\n if (i > 0) {\n if (patternCache[i - 1] + 1 === index) {\n temp += temp + 1;\n } else {\n temp = 1;\n }\n }\n\n score += temp;\n });\n return score;\n }\n }, {\n key: \"render\",\n value: function render(string, indices, pre, post) {\n var rendered = string.substring(0, indices[0]);\n indices.forEach(function (index, i) {\n rendered += pre + string[index] + post + string.substring(index + 1, indices[i + 1] ? indices[i + 1] : string.length);\n });\n return rendered;\n }\n }, {\n key: \"filter\",\n value: function filter(pattern, arr, opts) {\n var _this2 = this;\n\n opts = opts || {};\n return arr.reduce(function (prev, element, idx, arr) {\n var str = element;\n\n if (opts.extract) {\n str = opts.extract(element);\n\n if (!str) {\n // take care of undefineds / nulls / etc.\n str = '';\n }\n }\n\n var rendered = _this2.match(pattern, str, opts);\n\n if (rendered != null) {\n prev[prev.length] = {\n string: rendered.rendered,\n score: rendered.score,\n index: idx,\n original: element\n };\n }\n\n return prev;\n }, []).sort(function (a, b) {\n var compare = b.score - a.score;\n if (compare) return compare;\n return a.index - b.index;\n });\n }\n }]);\n\n return TributeSearch;\n}();\n\nvar _default = TributeSearch;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{}],6:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Tribute = _interopRequireDefault(require(\"./Tribute\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n* Tribute.js\n* Native ES6 JavaScript @mention Plugin\n**/\nvar _default = _Tribute[\"default\"];\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n\n},{\"./Tribute\":1}],7:[function(require,module,exports){\n\"use strict\";\n\nif (!Array.prototype.find) {\n Array.prototype.find = function (predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n\n return undefined;\n };\n}\n\nif (window && typeof window.CustomEvent !== \"function\") {\n var CustomEvent = function CustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n if (typeof window.Event !== 'undefined') {\n CustomEvent.prototype = window.Event.prototype;\n }\n\n window.CustomEvent = CustomEvent;\n}\n\n},{}]},{},[6])(6)\n});\n"],"names":["f","r","e","n","t","o","i","u","a","Error","p","exports","require","module","Object","value","_TributeEvents","_interopRequireDefault","_TributeMenuEvents","_TributeRange","_TributeSearch","obj","_slicedToArray","arr","Array","_arrayWithHoles","_arr","_n","_d","_e","_i","Symbol","_s","_iterableToArrayLimit","_nonIterableRest","_defineProperties","target","props","descriptor","_default","Tribute","_ref","_this","_ref$values","values","_ref$iframe","iframe","_ref$selectClass","selectClass","_ref$trigger","trigger","_ref$autocompleteMode","autocompleteMode","_ref$selectTemplate","selectTemplate","_ref$menuItemTemplate","menuItemTemplate","_ref$lookup","lookup","_ref$fillAttr","fillAttr","_ref$collection","collection","_ref$menuContainer","menuContainer","_ref$noMatchTemplate","noMatchTemplate","_ref$requireLeadingSp","requireLeadingSpace","_ref$allowSpaces","allowSpaces","_ref$replaceTextSuffi","replaceTextSuffix","_ref$positionMenu","positionMenu","_ref$spaceSelectsMatc","spaceSelectsMatch","_ref$searchOpts","searchOpts","_ref$menuItemLimit","menuItemLimit","instance","_classCallCheck","this","menuSelected","current","inputEvent","isActive","hasTrailingSpace","console","item","Constructor","key","range","isContentEditable","matchItem","config","el","jQuery","length","_attach","ensureEditable","events","bind","element","wrapper","getDocument","createElement","ul","_this2","mentionText","currentMentionTextSnapshot","menu","menuEvents","processValues","items","pre","post","skip","extract","noMatchEvent","CustomEvent","detail","fragment","li","_this2$_findLiTarget2","index","_findLiTarget","document","placeCaretAtEnd","collectionIndex","externalTrigger","insertTextAtCursor","showMenuFor","window","sel","textRange","text","textNode","textarea","scrollPos","caretPos","front","back","style","cssText","parseInt","isNaN","filteredItems","content","replaceText","replaceTriggerText","_append","newValues","_detach","_this3","unbind","setTimeout","TributeEvents","tribute","keydown","keyup","input","event","keyCode","eventKeyPressed","info","getTriggerInfo","selectedPath","selectedOffset","triggerChar","collectionItem","enter","escape","tab","space","up","count","selected","down","lis","querySelectorAll","liClientRect","menuClientRect","scrollDistance","scrollTop","_scrollDistance","elem","height","parseFloat","TributeMenuEvents","menuClickEvent","click","menuContainerScrollEvent","debounce","windowResizeEvent","addEventListener","removeEventListener","func","timeout","_arguments","context","args","callNow","immediate","clearTimeout","TributeRange","scrollTo","coordinates","getContentEditableCaretPosition","getTextAreaOrInputUnderlinePosition","concat","left","top","scrollIntoView","menuDimensions","width","offsetHeight","menuIsOffScreen","menuIsOffScreenHorizontally","menuIsOffScreenVertically","targetElement","path","offset","replaceEvent","originalEvent","pasteHtml","myField","textSuffix","startPos","endPos","html","frag","node","lastNode","ctx","ce","getNodePositionInParent","selectedElem","getWindowSelection","workingNodeContent","selectStartOffset","getRangeAt","textComponent","wordsArray","menuAlreadyActive","selectionInfo","getContentEditableSelectedPath","effectiveRange","lastWordOfEffectiveRange","getLastWordInText","mentionPosition","mentionSelectedElement","mentionSelectedPath","mentionSelectedOffset","mostRecentTriggerCharPos","forEach","c","idx","test","currentTriggerSnippet","firstSnippetChar","leadingSpace","regex","mentionTriggerChar","str","reversedStr","cidx","len","firstChar","_char","windowWidth","windowHeight","doc","windowLeft","windowTop","menuTop","menuRight","menuBottom","menuLeft","Math","right","bottom","dimensions","isFirefox","div","body","appendChild","computed","getComputedStyle","properties","span","rect","isMenuOffScreen","parentHeight","scrollStillAvailable","removeChild","selectedNodePosition","markerEl","markerId","Date","prevRange","createTextNode","clientRect","elemTop","elemBottom","maxY","targetY","get","TributeSearch","search","pattern","array","opts","string","compareString","rendered","score","patternCache","traverse","render","calculateScore","cache","best","temp","patternIndex","indices","prev","original","compare","b","predicate","list","thisArg","arguments","params","bubbles","cancelable","undefined","evt","define"],"sourceRoot":""}