{"version":3,"file":"static/js/93416.9a9c2334.js","mappings":";+yBAEIA,EAAY,CAAC,kBAKjB,SAASC,EAAmBC,GAC1B,MAAwB,kBAAVA,GAAsBC,SAASD,EAC/C,CAQA,SAASE,EAAYC,EAAaC,GAChC,IAAIC,EAAiBD,EAAKC,eACtBC,GAAM,OAAyBF,EAAMN,GAMzC,OAJIO,GAAkBF,EAAYE,eAAiBA,IACjDF,EAAYE,eAAiBA,GAGxBF,EAAYI,YAAW,OAAc,CAC1CF,eAAgBA,GACfC,GACL,CChBA,SAASE,EAAQC,GACf,OAAOA,EAAO,GAChB,CAEA,SAASC,IAEP,OAAO,KAAU,IAAOC,kBAAoB,IAAOC,WACrD,CAEA,IAGIC,EAEAC,EALAC,EAAqB,EACrBC,EAAgB,CAAC,EAYrB,SAASC,IACP,IAAIL,EAAcF,IAElB,GAAIE,GAAe,KAA8B,CAE3CA,EAAYM,MACd,IAAON,YAAYM,KAAK,uBAG1B,IAAIC,GA2IC,SAA6B,SAAUC,GAC5C,IAAIC,EAASD,EAAMC,OACfC,EAAQD,EAAOE,QAAQC,MAE3B,GAAKF,EAAL,CAIA,IAAIG,EAAajB,EAAQ,MACrBkB,EAAYlB,EAAQc,EAAMI,YACD,qBAArBC,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,6BAC5Eb,EAAmB,IAAI,CACrBhB,MAAOqB,EAAOrB,MACd8B,KAAM,eAERd,EAAc,YAAc,CAC1BhB,MAAOyB,EAAaC,EACpBI,KAAM,SAXR,CAaF,IA5JMC,GAiGC,SAA6B,SAAUC,GAC5C,IAAIX,EAASW,EAAMX,OACfC,EAAQD,EAAOE,QAAQC,MAEtBF,KAIwB,qBAArBK,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,6BAC5Eb,EAAmB,IAAI,CACrBhB,MAAOqB,EAAOrB,MACd8B,KAAM,IAERhB,EAAYQ,EACd,IA7GMW,GAmHC,SAA6B,SAAUC,GAC5C,IAAIb,EAASa,EAAMb,OACfC,EAAQD,EAAOE,QAAQC,MAEtBF,KAIwB,qBAArBK,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,6BAC5Eb,EAAmB,IAAI,CACrBhB,MAAOqB,EAAOrB,MACd8B,KAAM,eAERjB,EAAYS,EACd,IA/HE,OAAO,WACLH,IACAY,IACAE,GACF,CACF,CAEA,OAAO,WAEP,CACF,CAmJA,SAASE,EAAsBhC,GAC7B,IAAIS,EAAcF,IAElB,GAAKE,GAAgB,IAAOA,YAAYwB,YAAe,KAAvD,EAK6B,qBAArBT,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,4DAC5E,IAEIQ,EACAC,EAHAb,EAAajB,EAAQ,MACrB+B,EAAqB3B,EAAYwB,aAoErC,GAhEAG,EAAmBC,MAAMzB,GAAoB0B,SAAQ,SAAUnB,GAC7D,IAAII,EAAYlB,EAAQc,EAAMI,WAC1BgB,EAAWlC,EAAQc,EAAMoB,UAE7B,KAAuB,eAAnBvC,EAAYwC,IAAuBlB,EAAaC,EAAYvB,EAAYE,gBAI5E,OAAQiB,EAAMsB,WACZ,IAAK,cAkJX,SAA6BzC,EAAamB,EAAOG,GAC/C,CAAC,cAAe,WAAY,wBAAyB,YAAa,WAAWgB,SAAQ,SAAUI,GAC7FC,EAAgC3C,EAAamB,EAAOuB,EAAOpB,EAC7D,IAEAqB,EAAgC3C,EAAamB,EAAO,mBAAoBG,EAAY,UAAW,cAE/FqB,EAAgC3C,EAAamB,EAAO,QAASG,EAAY,QAAS,qBAElFqB,EAAgC3C,EAAamB,EAAO,eAAgBG,EAAY,OA4BlF,SAAqBtB,EAAamB,EAAOG,GACvCvB,EAAYC,EAAa,CACvBwC,GAAI,UACJI,OAAQ,+BACRC,YAAa,UACb3C,eAAgBoB,EAAajB,EAAQc,EAAM2B,cAC3CC,aAAczB,EAAajB,EAAQc,EAAM6B,eAG3CjD,EAAYC,EAAa,CACvBwC,GAAI,UACJI,OAAQ,+BACRC,YAAa,WACb3C,eAAgBoB,EAAajB,EAAQc,EAAM8B,eAC3CF,aAAczB,EAAajB,EAAQc,EAAM6B,cAE7C,CA1CEE,CAAYlD,EAAamB,EAAOG,EAClC,CA5JU6B,CAAoBnD,EAAamB,EAAOG,GAExCY,EAAyBZ,EAAajB,EAAQc,EAAM8B,eACpDd,EAAwBb,EAAajB,EAAQc,EAAM2B,cACnD,MAGJ,IAAK,OACL,IAAK,QACL,IAAK,WAoHX,SAA0B9C,EAC1BmB,EAAOI,EAAWgB,EAAUjB,GAC1B,IAAI8B,EAAwB9B,EAAaC,EACrC8B,EAAsBD,EAAwBb,EAElDxC,EAAYC,EAAa,CACvB6C,YAAa1B,EAAMmC,KACnBP,aAAcM,EACdb,GAAIrB,EAAMsB,UACVG,OAAQ,gCACR1C,eAAgBkD,GAIpB,CAhIUG,CAAiBvD,EAAamB,EAAOI,EAAWgB,EAAUjB,GAG1D,IAAIkC,GAAc,EAAAC,EAAA,KAEdC,EAAevC,EAAMI,UAAYiC,EAAYG,gBAE9B,gBAAfxC,EAAMmC,MAA0BI,KACL,qBAArBlC,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,4BAC5Eb,EAAkB,GAAI,CACpBhB,MAAOsB,EAAMI,UACbI,KAAM,gBAIS,2BAAfR,EAAMmC,MAAqCI,KAChB,qBAArBlC,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,6BAC5Eb,EAAmB,IAAI,CACrBhB,MAAOsB,EAAMI,UACbI,KAAM,gBAIV,MAGJ,IAAK,WAED,IAAIiC,EAAezC,EAAMmC,KAAKO,QAAQ,IAAOC,SAASlB,OAAQ,KAkKxE,SAA2B5C,EAAamB,EAAOyC,EAAcrC,EAAWgB,EAAUjB,GAGhF,GAA4B,mBAAxBH,EAAM4C,eAA8D,UAAxB5C,EAAM4C,cACpD,OAIF,IAAIC,EAAO,CAAC,EAER,iBAAkB7C,IACpB6C,EAAK,+BAAiC7C,EAAM8C,cAG1C,oBAAqB9C,IACvB6C,EAAK,gCAAkC7C,EAAM+C,iBAG3C,oBAAqB/C,IACvB6C,EAAK,wCAA0C7C,EAAMgD,iBAGnD,yBAA0BhD,IAC5B6C,EAAK,mCAAqC7C,EAAMiD,sBAGlD,IAAIlE,EAAiBoB,EAAaC,EAC9BwB,EAAe7C,EAAiBqC,EAEpCxC,EAAYC,EAAa,CACvB6C,YAAae,EACbb,aAAcA,EACdP,GAAIrB,EAAM4C,cAAgB,YAAYM,OAAOlD,EAAM4C,eAAiB,iBACpEnB,OAAQ,gCACR1C,eAAgBA,EAChB8D,KAAMA,GAEV,CArMUM,CAAkBtE,EAAamB,EAAOyC,EAAcrC,EAAWgB,EAAUjB,GAMjF,IACAV,EAAqB2D,KAAKC,IAAIpC,EAAmBqC,OAAS,EAAG,GAoM/D,SAAyBzE,GACvB,IAAI0E,EAAY,IAAOA,UAEvB,IAAKA,EACH,OAIF,IAAIC,EAAaD,EAAUC,WAEvBA,IACEA,EAAWC,eACb5E,EAAY6E,OAAO,0BAA2BF,EAAWC,eAGvDD,EAAWG,MACb9E,EAAY6E,OAAO,iBAAkBF,EAAWG,MAG9ClF,EAAmB+E,EAAWI,OAChClE,EAAc,kBAAoB,CAChChB,MAAO8E,EAAWI,IAClBpD,KAAM,iBAKR/B,EAAmB8E,EAAUM,eAC/BhF,EAAY6E,OAAO,eAAgB,GAAGR,OAAOK,EAAUM,aAAc,QAGnEpF,EAAmB8E,EAAUO,sBAC/BjF,EAAY6E,OAAO,sBAAuBK,OAAOR,EAAUO,qBAE/D,CApOEE,CAAgBnF,GAGO,aAAnBA,EAAYwC,GAAmB,CAGK,kBAA3BN,KACoB,qBAArBV,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,8BAC5Eb,EAAoB,KAAI,CACtBhB,MAA+D,KAAvDqC,EAAyBlC,EAAYE,gBAC7CyB,KAAM,eAG6B,kBAA1BQ,GAAsCA,GAAyBD,IAGxErB,EAAc,oBAAsB,CAClChB,MAA0D,KAAlDqC,EAAyBC,GACjCR,KAAM,iBAKZ,CAAC,MAAO,KAAM,OAAOW,SAAQ,SAAUgB,GACrC,GAAKzC,EAAcyC,MAAShC,GAActB,EAAYE,gBAAtD,CAOA,IAAIkF,EAAWvE,EAAcyC,GAAMzD,MAC/BwF,EAAuB/D,EAAajB,EAAQ+E,GAE5CE,EAAkBf,KAAKgB,IAA0D,KAArDF,EAAuBrF,EAAYE,iBAC/DsF,EAAQF,EAAkBF,GACD,qBAArB5D,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,6BAA6B2C,OAAOf,EAAM,UAAUe,OAAOe,EAAU,QAAQf,OAAOiB,EAAiB,MAAMjB,OAAOmB,EAAO,MACrM3E,EAAcyC,GAAMzD,MAAQyF,CAX5B,CAYF,IACA,IAAIG,EAAU5E,EAAc,YAExB4E,GAAW5E,EAAmB,MAEhCd,EAAYC,EAAa,CACvB6C,YAAa,oBACbE,aAAc0C,EAAQ5F,MAAQQ,EAAQQ,EAAmB,IAAEhB,OAC3D2C,GAAI,YACJI,OAAQ,0BACR1C,eAAgBuF,EAAQ5F,eAInBgB,EAAc,aAKjB,QAASA,UACNA,EAAc6E,IAGvBC,OAAOC,KAAK/E,GAAeyB,SAAQ,SAAUuD,GAC3C7F,EAAY8F,eAAeD,EAAiBhF,EAAcgF,GAAiBhG,MAAOgB,EAAcgF,GAAiBlE,KACnH,IAyKJ,SAAwB3B,GAClBU,KAC2B,qBAArBc,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,kCAExEhB,EAAUqF,SACZ/F,EAAY6E,OAAO,eAAe,QAAiBnE,EAAUqF,UAG3DrF,EAAUsF,IACZhG,EAAY6E,OAAO,SAAUnE,EAAUsF,IAGrCtF,EAAUuF,KAEZjG,EAAY6E,OAAO,UAAWnE,EAAUuF,IAAIC,OAAO7D,MAAM,EAAG,MAG9DrC,EAAY6E,OAAO,WAAYnE,EAAUyF,OAIvCxF,GAAaA,EAAUyF,WACI,qBAArB5E,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,kCAE5Ef,EAAUyF,QAAQ9D,SAAQ,SAAU+D,EAAQC,GAC1C,OAAOtG,EAAY6E,OAAO,cAAcR,OAAOiC,EAAQ,IAAI,QAAiBD,EAAOE,MACrF,IAEJ,CAnMIC,CAAexG,EACjB,CAEAU,OAAY+F,EACZ9F,OAAY8F,EACZ5F,EAAgB,CAAC,CA3IjB,CA4IF,CAuCA,SAAS8B,EAAgC3C,EACzCmB,EAAOuB,EAAOpB,EAAYuB,EAAa6D,GACrC,IAAIC,EAAMD,EAAWvF,EAAMuF,GAAYvF,EAAM,GAAGkD,OAAO3B,EAAO,QAC1DkE,EAAQzF,EAAM,GAAGkD,OAAO3B,EAAO,UAE9BkE,GAAUD,GAIf5G,EAAYC,EAAa,CACvBwC,GAAI,UACJI,OAAQ,+BACRC,YAAaA,GAAeH,EAC5BxC,eAAgBoB,EAAajB,EAAQuG,GACrC7D,aAAczB,EAAajB,EAAQsG,IAEvC,wGC9YIE,EAAoC,CAAC,YAAa,aAGlDC,EAAuC,CACzCC,YAAY,EACZC,UAAU,EACVC,mBAAmB,EAEnBC,eAAgBL,EAChBM,wBAAyBN,GAI3B,SAASO,EAA2BC,GAClC,IAAIC,GAAwB,OAAc,CACxCP,WAAYD,EAAqCC,WACjDC,SAAUF,EAAqCE,UAC9CK,GACCN,EAAaO,EAAsBP,WACnCC,EAAWM,EAAsBN,SACjCG,EAA0BG,EAAsBH,wBAChDD,EAAiBI,EAAsBJ,eACvCK,EAA6BD,EAAsBC,2BACnDN,EAAoBK,EAAsBL,kBAE1CO,EAAyD,oBAA/BD,EAA4CA,EAA6B,SAAUE,GAC/G,OAAO,CACT,EAIIC,EAAiC,SAAwCzB,GAC3E,OA8IJ,SAA6BA,EAAKkB,GAChC,OAAO,EAAAQ,EAAA,IAAyB1B,EAAKkB,GAA2BN,EAClE,CAhJWe,CAAoB3B,EAAKkB,GAA2BD,EAC7D,EAEIW,EAAQ,CAAC,EAETd,IACF,QAA0B,SAAS,SAAUe,GAC3C,IAAIC,EAiJV,SAAuBD,EAAaN,EAAkBI,EAAqBC,GACzE,KAAK,EAAAG,EAAA,OAAwBF,EAAYG,UACvC,OAGF,IAAIC,EAAyBV,EAAiBM,EAAYG,UAAUhC,KAEpE,GAAI6B,EAAY/E,cAAgBmF,EAAwB,CACtD,IAAIC,EAASL,EAAYG,UAAUG,OACnC,IAAKD,EAAQ,OACb,IAAIE,EAAQR,EAAMM,GAElB,GAAIE,EAAO,CACT,GAAIP,EAAYQ,SAAU,CAGxBD,EAAME,cAAcT,EAAYQ,SAASE,QAEzC,IAAIC,EACJX,EAAYQ,UAAYR,EAAYQ,SAASI,SAAWZ,EAAYQ,SAASI,QAAQC,IAAI,kBACrFC,EAAmBC,SAASJ,GAE5BG,EAAmB,GACrBP,EAAMS,QAAQ,+BAAgCF,EAElD,MAAWd,EAAYiB,OACrBV,EAAMW,UAAU,kBAGlBX,EAAMY,gBAGCpB,EAAMM,EACf,CAEA,MACF,CAEA,IAAIe,GAAM,UACNC,EAAQD,EAAIE,WACZC,EAASH,EAAII,YACbC,EAAaJ,EAAMK,UACnBC,EAAwB3B,EAAYG,UACpCyB,EAASD,EAAsBC,OAC/BzD,EAAMwD,EAAsBxD,IAC5B0D,EAAOzB,GAA0BqB,EAAaA,EAAWnJ,WAAW,CACtE4D,KAAM,CACJiC,IAAKA,EACLnB,KAAM,QACN,cAAe4E,GAEjB7G,YAAa,GAAGwB,OAAOqF,EAAQ,KAAKrF,OAAO4B,GAC3CzD,GAAI,cACJI,OAAQ,2BACL6D,EAEDkD,IACF7B,EAAYG,UAAUG,OAASuB,EAAKxB,OACpCN,EAAM8B,EAAKxB,QAAUwB,GAGvB,GAAI/B,EAAoBE,EAAYG,UAAUhC,MAAQoD,EAAQ,CAC5D,IAAIO,EAAU9B,EAAY+B,KAAK,GAE/B/B,EAAY+B,KAAK,GAAK/B,EAAY+B,KAAK,IAAM,CAAC,EAE9C,IAAIC,EAAUhC,EAAY+B,KAAK,GAE/BC,EAAQpB,QAUZ,SAAyCkB,EACzCP,EAAQF,EAAOW,EAASC,GACtB,IAAIJ,EAAOI,GAAeZ,EAAMK,UAC5BxJ,EAAc2J,GAAQA,EAAK3J,YAE3BgK,EAAwBb,EAAMc,wBAC9BC,EAAUF,EAAsBE,QAChCC,EAAUH,EAAsBG,QAChCC,EAAMJ,EAAsBI,IAE5BC,EAAoBV,EAAOA,EAAKW,iBAAkB,QAA0BJ,OAASzD,EAAW0D,GAChGI,EAAyBvK,EAAcA,EAAYwK,4BAA8BJ,IAAY,OAAoCF,EAASb,EAAQF,GAClJsB,GAAsB,QAA4CF,GAClE7B,EAA6B,qBAAZgC,UAA2B,EAAAC,EAAA,IAAaf,EAASc,SAAWd,EAAQlB,QAAUoB,EAAQpB,QAE3G,GAAKA,EAKE,IAAuB,qBAAZkC,UAA2B,EAAAD,EAAA,IAAajC,EAASkC,SAAU,CAC3E,IAAIC,EAAa,IAAID,QAAQlC,GAS7B,OARAmC,EAAWC,OAAO,eAAgBT,GAE9BI,GAGFI,EAAWC,OAAO,KAAqBL,GAGlCI,CACT,CAAO,GAAIE,MAAMC,QAAQtC,GAAU,CACjC,IAAIuC,EAAc,GAAG5G,QAAO,OAAmBqE,GAAU,CAAC,CAAC,eAAgB2B,KAQ3E,OANII,GAGFQ,EAAYC,KAAK,CAAC,KAAqBT,IAGlCQ,CACT,CACE,IAAIE,EAAwB,YAAazC,EAAUA,EAAQ0C,aAAU3E,EACjE4E,EAAoB,GAYxB,OAVIN,MAAMC,QAAQG,GAChBE,EAAkBH,KAAKI,MAAMD,GAAmB,OAAmBF,IAC1DA,GACTE,EAAkBH,KAAKC,GAGrBV,GACFY,EAAkBH,KAAKT,IAGlB,QAAc,OAAc,CAAC,EAAG/B,GAAU,CAAC,EAAG,CACnD,eAAgB2B,EAChBe,QAASC,EAAkB5G,OAAS,EAAI4G,EAAkBE,KAAK,UAAO9E,GAE1E,CA3CE,MAAO,CACL,eAAgB4D,EAChBe,QAASX,EA0Cf,CAtEsBe,CAAgC5B,EAASP,EAAQF,EAAOW,EAASH,EACrF,CAEA,OAAOA,CACT,CAzNwB8B,CAAc3D,EAAaN,EAAkBE,EAAgCG,GAE3FZ,GAAqBc,GACvB2D,EAAe3D,EAEnB,IAGEf,IACF,QAA0B,OAAO,SAAUc,GACzC,IAAIC,EA0RV,SAAqBD,EAAaN,EAAkBI,EAAqBC,GACvE,IAAI8D,EAAM7D,EAAY6D,IAClBC,EAAgBD,GAAOA,EAAI,MAE/B,KAAK,EAAA3D,EAAA,MAAuB2D,GAAOA,EAAIE,yBAA2BF,IAAQC,EACxE,OAGF,IAAI1D,EAAyBV,EAAiBoE,EAAc3F,KAE5D,GAAI6B,EAAY/E,cAAgBmF,EAAwB,CACtD,IAAIC,EAASwD,EAAIG,uBACjB,IAAK3D,EAAQ,OACb,IAAI4D,EAASlE,EAAMM,GAWnB,YATI4D,IACFA,EAAOxD,cAAcqD,EAAcI,aAEnCD,EAAO9C,gBAGApB,EAAMM,IAIjB,CAEA,IAAIe,GAAM,UACNC,EAAQD,EAAIE,WACZG,EAAaJ,EAAMK,UACnBG,EAAOzB,GAA0BqB,EAAaA,EAAWnJ,WAAW,CACtE4D,MAAM,QAAc,OAAc,CAAC,EAAG4H,EAAc5H,MAAO,CAAC,EAAG,CAC7Dc,KAAM,MACN,cAAe8G,EAAclC,OAC7BzD,IAAK2F,EAAc3F,MAErBpD,YAAa,GAAGwB,OAAOuH,EAAclC,OAAQ,KAAKrF,OAAOuH,EAAc3F,KACvEzD,GAAI,cACJI,OAAQ,2BACL6D,EAEDkD,IACFgC,EAAIG,uBAAyBnC,EAAKxB,OAClCN,EAAM8D,EAAIG,wBAA0BnC,GAGtC,GAAIgC,EAAIM,kBAAoBrE,EAAoBgE,EAAc3F,KAC5D,GAAI0D,EAAM,CACR,IAAI3J,EAAc2J,GAAQA,EAAK3J,YAC3BuK,EAAyBvK,GAAeA,EAAYwK,4BACpDC,GAAsB,QAA4CF,GACtE2B,EAAeP,EAAKhC,EAAKW,gBAAiBG,EAC5C,KAAO,CACL,IAAIpB,EAASH,EAAII,YAEb6C,EAAyBhD,EAAMc,wBAC/BC,EAAUiC,EAAuBjC,QACjCC,EAAUgC,EAAuBhC,QACjCC,EAAM+B,EAAuB/B,IAE7BC,GAAoB,QAA0BH,OAASzD,EAAW0D,GAElEiC,EAA0BhC,IAAQf,GAAS,OAAoCa,EAASb,EAAQF,QAAS1C,GAI7GyF,EAAeP,EAAKtB,GAFO,QAA4C+B,GAGzE,CAGF,OAAOzC,CACT,CAjWwB0C,CAAYvE,EAAaN,EAAkBE,EAAgCG,GAEzFZ,GAAqBc,GACvB2D,EAAe3D,EAEnB,GAEJ,CAaA,SAAS2D,EAAe/B,GACtB,IAAI1D,EAAM0D,EAAK3F,KAAKiC,IAEpB,GAAKA,EAIL,IAAIqG,GAAU,QAAqC,YAAY,SAAUrM,GACzDA,EAAKmB,QACXkB,SAAQ,SAAUnB,IApB9B,SAAqCA,GACnC,MAA2B,aAApBA,EAAMsB,WAA4B,kBAAmBtB,GAA0C,kBAA1BA,EAAMoL,kBAAyD,UAAxBpL,EAAM4C,eAAqD,mBAAxB5C,EAAM4C,cAC9J,EAmBUyI,CAA4BrL,IAAUA,EAAMmC,KAAKmJ,SAASxG,KA0EpE,SAAuCyG,GACrC,IAAIC,EAvDN,SAAgCJ,GAC9B,IAKIK,EALAtJ,EAAO,UACPuJ,EAAU,UACVC,EAAQ,GAERC,GAAY,OAA2BR,GAG3C,IACE,IAAKQ,EAAUC,MAAOJ,EAAQG,EAAUE,KAAKC,MAAO,CAClD,IAAIC,EAAOP,EAAM/M,MAGjB,GAAa,MAATsN,EAAc,CAChB,IAAIC,EAAwBb,EAAgBc,MAAM,KAE9CC,GAAyB,OAAeF,EAAuB,GAEnE9J,EAAOgK,EAAuB,GAC9BT,EAAUS,EAAuB,GACjC,KACF,CAGA,IAAKC,MAAMC,OAAOL,IAAQ,CACxB7J,EAAiB,MAAVwJ,EAAgB,OAASA,EAChCD,EAAUN,EAAgBc,MAAMP,GAAO,GACvC,KACF,CAEAA,GAASK,CACX,CACF,CAAE,MAAOM,GACPV,EAAUW,EAAED,EACd,CAAE,QACAV,EAAUY,GACZ,CAEIb,IAAUP,IAEZjJ,EAAOwJ,GAGT,MAAO,CACLxJ,KAAMA,EACNuJ,QAASA,EAEb,CAQ8Be,CAAuBlB,EAAeH,iBAC9DjJ,EAAOqJ,EAAsBrJ,KAC7BuJ,EAAUF,EAAsBE,QAEhCgB,EAAiB,GAGrB,GAFAA,EAAe3C,KAAK,CAAC,2BAA4B2B,GAAU,CAAC,wBAAyBvJ,KAEhF,KACH,OAAOuK,EAGT,MAAO,GAAGxJ,OAAOwJ,EAAgB,CAAC,CAAC,8BAA+BC,EAAgBpB,EAAeqB,gBAAiB,CAAC,2BAA4BD,EAAgBpB,EAAesB,aAAc,CAAC,mCAAoCF,EAAgBpB,EAAeuB,oBAAqB,CAAC,iCAAkCH,EAAgBpB,EAAewB,kBAAmB,CAAC,6BAA8BJ,EAAgBpB,EAAeyB,eAAgB,CAAC,uCAAwCL,EAAgBpB,EAAe0B,wBAAyB,CAAC,8BAA+BN,EAAgBpB,EAAe2B,aAAc,CAAC,6BAA8BP,EAAgBpB,EAAe5J,eAAgB,CAAC,8BAA+BgL,EAAgBpB,EAAezJ,gBAAiB,CAAC,4BAA6B6K,EAAgBpB,EAAe1J,eACn0B,CAtFuBsL,CAA8BnN,GACpCmB,SAAQ,SAAU0B,GACzB,OAAO2F,EAAKb,QAAQwC,MAAM3B,GAAM,OAAmB3F,GACrD,IAGAuK,WAAWjC,GAEf,GACF,GACF,CA0DA,SAASwB,IACP,IAAIxN,EAAOkO,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,GAAmBA,UAAU,GAAK,EAC/E,QAAS,MAAgC/N,YAAYa,YAAchB,GAAQ,GAC7E,CA6PA,SAAS4L,EAAeP,EAAKtB,EAAmBI,GAC9C,IAEEkB,EAAIM,iBAAiB,eAAgB5B,GAEjCI,GAKFkB,EAAIM,iBAAiB,KAAqBxB,EAE9C,CAAE,MAAOhD,GACT,CACF,CCjaA,IAGIgH,GAAkC,QAAc,OAAc,CAAC,EAAG,MAAmB,CAAC,EAAG,CAC3FC,4BAA4B,EAC5BC,uBCTF,SAAuCC,GACrC,IAAIC,IAA6BL,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,KAAmBA,UAAU,GAC5FM,IAAmCN,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,KAAmBA,UAAU,GAEtG,GAAK,KAAW,IAAO1K,SAAvB,CAKA,IACIiL,EADAC,EAAc,IAAOlL,SAASmL,KAG9BJ,IACFE,EAAoBH,EAAuB,CACzCtL,KAAM,IAAOQ,SAASoL,SAEtBhP,eAAgB,KAA+B,KAA+B,SAAOuG,EACrFjE,GAAI,WACJI,OAAQ,wBACRuM,SAAU,CACR9I,OAAQ,UAKVyI,IACF,QAA0B,WAAW,SAAU7O,GAC7C,IAAImP,EAAKnP,EAAKmP,GACVC,EAAOpP,EAAKoP,UAWH5I,IAAT4I,GAAsBL,IAA4C,IAA7BA,EAAYM,QAAQF,GAC3DJ,OAAcvI,EAIZ4I,IAASD,IACXJ,OAAcvI,EAEVsI,KAC2B,qBAArBvN,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,oDAAoD2C,OAAO0K,EAAkBvM,KAEzJuM,EAAkB9F,UAGpB8F,EAAoBH,EAAuB,CACzCtL,KAAM,IAAOQ,SAASoL,SACtB1M,GAAI,aACJI,OAAQ,0BACRuM,SAAU,CACR9I,OAAQ,SAIhB,GAvDF,MAF+B,qBAArB7E,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,uEA2DjF,EDtDET,kCAAkC,EAClCD,4BAA4B,EAC5BW,gBAAgB,EAChBC,aAAc,CAAC,GACd3I,GAUC4I,EAA8B,WAWhC,SAASA,EAAerI,IACtB,OAAgBsI,KAAMD,GAEtBC,KAAKrM,KAlC4B,iBAmCjCqM,KAAKC,gCAAiC,GACtC,UAEgC,qBAArBpO,kBAAoCA,oBAC7CmO,KAAKC,kCAAoCvI,IACzCA,EAASF,0BAA2BE,EAASH,iBAG/CyI,KAAK7F,SAAU,QAAc,OAAc,CAAC,EAAG2E,GAAkCpH,QAGhCZ,IAA7CkJ,KAAK7F,QAAQ2F,aAAaD,iBAC5BG,KAAK7F,QAAQ0F,eAAiBG,KAAK7F,QAAQ2F,aAAaD,gBAOtDnI,IAAaA,EAASF,yBAA2BE,EAASH,iBAE5DyI,KAAK7F,QAAQ3C,wBAA0BE,EAASH,gBAGlDyI,KAAKE,kBAAoB/O,IAErB6O,KAAK7F,QAAQ0F,iBFLnB,QAAqC,YAAY,SAAUvP,GACzD,IAGI2M,EAHAxL,EAAUnB,EAAKmB,QAEf2L,GAAY,OAA2B3L,GAG3C,IACE,IAAK2L,EAAUC,MAAOJ,EAAQG,EAAUE,KAAKC,MAAO,CAClD,IAAI/L,EAAQyL,EAAM/M,MACdG,GAAc,UAElB,IAAKA,EACH,OAGF,IAAIuB,EAAYlB,EAAQ,KAA+Bc,EAAMI,WACzDgB,EAAWlC,EAAQc,EAAMoB,UAC7BvC,EAAYI,WAAW,CACrByC,YAAa,yBACbL,GAAI,eACJI,OAAQ,0BACR1C,eAAgBqB,EAChBwB,aAAcxB,EAAYgB,GAE9B,CACF,CAAE,MAAOkL,GACPV,EAAUW,EAAED,EACd,CAAE,QACAV,EAAUY,GACZ,CACF,IErBMgC,KAAK7F,QAAQ2F,aAAaK,qBF6BhC,QAAqC,SAAS,SAAUC,GACtD,IAGIC,EAHA5O,EAAU2O,EAAM3O,QAEhB6O,GAAa,OAA2B7O,GAG5C,IACE,IAAK6O,EAAWjD,MAAOgD,EAASC,EAAWhD,KAAKC,MAAO,CACrD,IAAI/L,EAAQ6O,EAAOnQ,MACfG,GAAc,UAElB,IAAKA,EACH,OAGF,GAAmB,UAAfmB,EAAMmC,KAAkB,CAC1B,IAAI/B,EAAYlB,EAAQ,KAA+Bc,EAAMI,WACzDgB,EAAWlC,EAAQc,EAAMoB,UAC7BvC,EAAYI,WAAW,CACrByC,aAAa,QAAiB1B,EAAM+O,QACpC1N,GAAI,kBAAkB6B,OAAOlD,EAAMmC,MACnCV,OAAQ,0BACR1C,eAAgBqB,EAChBwB,aAAcxB,EAAYgB,GAE9B,CACF,CACF,CAAE,MAAOkL,GACPwC,EAAWvC,EAAED,EACf,CAAE,QACAwC,EAAWtC,GACb,CACF,GE1DA,CAmNA,OA7MA,OAAa+B,EAAgB,CAAC,CAC5BS,IAAK,YACLtQ,MAAO,SAAmB4H,EAAG2I,GAC3B,IAAIC,EAAQV,KAEZA,KAAKW,eAAiBF,EACtB,IACI/G,EADM+G,IACO9G,YACbiH,EAAgBlH,GAAUA,EAAOmH,aACjCC,EAAgBd,KAAK7F,QACrB4G,EAAoBD,EAAc9B,uBAClCG,EAAmC2B,EAAc3B,iCACjDD,EAA6B4B,EAAc5B,2BAC3CH,EAA6B+B,EAAc/B,2BAC3C3H,EAAa0J,EAAc1J,WAC3BC,EAAWyJ,EAAczJ,SACzBO,EAA6BkJ,EAAclJ,2BAC3CN,EAAoBwJ,EAAcxJ,kBAClCwI,EAAegB,EAAchB,aAC7BkB,EAAuCJ,GAAiBA,EAAcpJ,wBAYtEA,EAA0BwJ,GAAwChB,KAAK7F,QAAQ3C,yBAElD,qBAArB3F,kBAAoCA,mBAAqBmO,KAAKC,gCAAkCe,GAC1GlP,EAAA,GAAO8N,KAAK,0KAGdmB,GAAkB,SAAUE,GAC1B,IAAI5Q,EAAcqQ,EAAMQ,wBAAwBD,GAGhD,OADAP,EAAMvG,QAAQ2F,aAAaqB,yBAA2BT,EAAMvG,QAAQ2F,aAAaqB,wBAAwB9Q,EAAa4Q,EAASR,GACxHpQ,CACT,GAAG6O,EAA4BC,GAE3BJ,IEvHJ,KAAU,IAAOqC,SACnB,IAAOA,SAASvQ,iBAAiB,oBAAoB,WACnD,IAAIuO,GAAoB,UAExB,GAAI,IAAOgC,SAASC,QAAUjC,EAAmB,CAC/C,IAAIkC,EAAa,aACY,qBAArBzP,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,0BAA0B2C,OAAO4M,EAAY,+CAA+C5M,OAAO0K,EAAkBvM,KAG5LuM,EAAkBvG,QACrBuG,EAAkB/F,UAAUiI,GAG9BlC,EAAkBlK,OAAO,mBAAoB,mBAC7CkK,EAAkB9F,QACpB,CACF,KAE6B,qBAArBzH,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,uFFyGvEE,EAAaK,oBACfH,KAAKuB,+BAGP9J,EAA2B,CACzBL,WAAYA,EACZC,SAAUA,EACVG,wBAAyBA,EACzBI,2BAA4BA,EAC5BN,kBAAmBA,GAEvB,GAGC,CACDkJ,IAAK,0BACLtQ,MAAO,SAAiC+Q,GACtC,IAAIO,EAASxB,KAEb,GAAKA,KAAKW,eAAV,CAKA,IAAIpH,EAAMyG,KAAKW,iBAEXc,EAAiBzB,KAAK7F,QACtBuH,EAAiBD,EAAeC,eAChCC,EAAcF,EAAeE,YAC7BC,EAAeH,EAAeG,aAC9BC,EAAoBJ,EAAeI,kBACnCC,EAAuC,aAAfb,EAAQpO,GAChCkP,EAAcD,EAAwBE,EAAe,gBAAkB,GACvEvG,EAAUqG,EAAwBE,EAAe,WAAa,GAE9DC,GAAwB,EAAAC,EAAA,IAA0BH,EAAatG,GAC/D0G,EAAkBF,EAAsBE,gBACxCvH,EAAyBqH,EAAsBrH,uBAC/CwH,EAAqBH,EAAsBG,mBAE3CC,GAAkB,QAAc,QAAc,OAAc,CAAC,EAAGpB,GAAUkB,GAAkB,CAAC,EAAG,CAClG3C,UAAU,QAAc,OAAc,CAAC,EAAGyB,EAAQzB,UAAW,CAAC,EAAG,CAC/D5E,uBAAwBuH,IAAoBvH,EAAyB,CAAC,EAAIA,IAE5E0H,SAAS,IAGPC,EAA4C,oBAAnBb,EAAgCA,EAAeW,GAAmBA,EAG3FG,OAAmC1L,IAApByL,GAAgC,QAAc,OAAc,CAAC,EAAGF,GAAkB,CAAC,EAAG,CACvG7H,SAAS,IACN+H,EAELC,EAAahD,SAAWgD,EAAa7O,OAAS0O,EAAgB1O,MAAO,QAAc,OAAc,CAAC,EAAG6O,EAAahD,UAAW,CAAC,EAAG,CAC/H9I,OAAQ,WACL8L,EAAahD,SAClBQ,KAAKyC,iBAAmBD,EAAa7O,KACrCqM,KAAK0C,mBAAqBF,EAAahD,UAAYgD,EAAahD,SAAS9I,QAE5C,IAAzB8L,EAAahI,UACc,qBAArB3I,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,2BAA2B2C,OAAO8N,EAAa3P,GAAI,6CAGpG,qBAArBhB,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,sBAAsB2C,OAAO8N,EAAa3P,GAAI,0BAC1H,IAAIsB,EAAW,IAAOA,SAClBwO,GAAkB,OAAqBpJ,EAAKiJ,EAAcb,EAAaC,GAAc,EAAM,CAC7FzN,SAAUA,GAEZ0N,GACIrI,EAAQD,EAAIE,WAqBhB,OAlBIqI,GAAyBK,EAC3B3I,EAAMoJ,sBAAsBR,GAI5B5I,EAAMoJ,sBAAsB,CAC1BrI,QAASoI,EAAgBpI,QACzB/B,OAAQmK,EAAgBnK,OACxBqK,aAAcF,EAAgBE,aAC9BrI,QAASmI,EAAgBnI,UAI7BmI,EAAgBG,8BAA6B,SAAUzS,GACrDmR,EAAOtB,oBAEP7N,EAAsBhC,EACxB,IACOsS,CArEP,EAF+B,qBAArB9Q,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,4BAA4BlL,OAAOuM,EAAQpO,GAAI,mDAwEhI,GAGC,CACD2N,IAAK,+BACLtQ,MAAO,WACL,IAEI6S,EAFAC,EAAShD,KAITiD,EAAiC,WACnC,IAAIC,EAAiBF,EAAO7I,QACxBwH,EAAcuB,EAAevB,YAC7BC,EAAesB,EAAetB,aAC9BC,EAAoBqB,EAAerB,kBACnChP,EAAK,kBACLsQ,GAAqB,UAEzB,GAAIA,GAAsBA,EAAmBtQ,IAAM,CAAC,aAAc,YAAYuQ,SAASD,EAAmBtQ,KAC3E,qBAArBhB,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,4BAA4BlL,OAAO7B,EAAI,mFAUtH,GANIkQ,IACFA,EAA+BM,gBAAgB,0BAC/CN,EAA+BzJ,SAC/ByJ,OAAiCjM,GAG9BkM,EAAOrC,eAKZ,GAAKqC,EAAOP,iBAAZ,CAKA,IAAIlJ,EAAMyJ,EAAOrC,iBAEbxM,EAAW,IAAOA,SAClB8M,EAAU,CACZtN,KAAMqP,EAAOP,iBACb5P,GAAIA,EACJyP,SAAS,EACT9C,SAAU,CACR9I,OAAQsM,EAAON,oBAAsB,QAGzCK,GAAiC,OAAqBxJ,EAAK0H,EAASU,EAAaC,GAAc,EAAM,CACnGzN,SAAUA,GAEZ0N,EAhBA,MAF+B,qBAArBhQ,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,4BAA4BlL,OAAO7B,EAAI,2DALvF,qBAArBhB,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,4BAA4BlL,OAAO7B,EAAI,mDAwBxH,EAEA,CAAC,SAASF,SAAQ,SAAUwC,GAC1BtE,iBAAiBsE,EAAM8N,EAAgC,CACrDK,MAAM,EACNC,SAAS,GAEb,GACF,KAGKxD,CACT,CApQkC,GAwQlC,SAASiC,EAAewB,GAItB,IAAIC,GAAU,QAAc,aAAa/O,OAAO8O,EAAU,MAE1D,OAAOC,EAAUA,EAAQC,aAAa,gBAAa5M,CACrD,sIGpSI6M,EAEAC,EAEAC,kCCbAC,EAAe,SAAsBC,EAAUxS,EAAQyS,GACzD,IAAIC,EACApO,EACJ,OAAO,SAAUqO,GACX3S,EAAOrB,OAAS,IACdgU,GAAeF,MACjBnO,EAAQtE,EAAOrB,OAAS+T,GAAa,UAKVnN,IAAdmN,KACXA,EAAY1S,EAAOrB,MACnBqB,EAAOsE,MAAQA,EACfkO,EAASxS,GAIjB,CACF,aCmBI4S,EAAqB,WACvB,OAAI,IAAOC,wBACF,IAAOtT,cAAgBA,YAAYuT,kBAAoBvT,YAAYuT,iBAAiB,cAAc,IAvB/D,WAE5C,IAAIC,EAAS,IAAOxT,YAAYwT,OAE5BnP,EAAO,IAAOrE,YAAYyT,WAAWpP,KACrCqP,EAAkB,CACpB1R,UAAW,aACXlB,UAAW,EACXuD,KAAc,GAARA,EAAY,eAA0B,IAATA,EAAa,SAAW,YAG7D,IAAK,IAAIqL,KAAO8D,EACF,oBAAR9D,GAAqC,WAARA,IAE/BgE,EAAgBhE,GAAO5L,KAAKC,IAAIyP,EAAO9D,GAAO8D,EAAOG,gBAAiB,IAI1E,OAAOD,CACT,CAImHE,IAExG,IAAO5T,aAAeA,YAAYuT,kBAAoBvT,YAAYuT,iBAAiB,cAAc,EAE5G,EC3BIM,EAAqB,WACvB,IAAIC,EAAWT,IACf,OAAOS,GAAYA,EAASC,iBAAmB,CACjD,ECAIC,EAAa,SAAoBnR,EAAMzD,GACzC,IAAI0U,EAAWT,IACXY,EAAiB,WAUrB,OARIH,IAEAG,EADE,IAAO3D,SAAS4D,cAAgBL,IAAuB,EACxC,YAEAC,EAASzP,KAAKjB,QAAQ,KAAM,MAI1C,CACLP,KAAMA,EACNzD,MAAwB,qBAAVA,GAAyB,EAAIA,EAC3C+U,OAAQ,OAERpP,MAAO,EACPpE,QAAS,GACT4E,GCjBK,MAAM3B,OAAOwQ,KAAKC,MAAO,KAAKzQ,OAAOE,KAAKwQ,MAAsB,cAAhBxQ,KAAKyQ,UAAyB,MDkBnFN,eAAgBA,EAEpB,EElCIO,EAAU,SAAiBnQ,EAAM4O,EAAUwB,GAC7C,IACE,GAAIC,oBAAoBC,oBAAoBrC,SAASjO,GAAO,CAC1D,IAAIuQ,EAAK,IAAIF,qBAAoB,SAAUG,GACzC5B,EAAS4B,EAAKrT,aAChB,IAKA,OAJAoT,EAAGJ,QAAQtP,OAAO4P,OAAO,CACvBzQ,KAAMA,EACN0Q,UAAU,GACTN,GAAQ,CAAC,IACLG,CACT,CACF,CAAE,MAAO3H,GACT,CAGF,aCkBI+H,EAAQ,SAAeC,GACzB,IACIC,EADAzU,EAASuT,EAAW,MAAO,GAE3BmB,EAAe,EACfC,EAAiB,GAEjBC,EAAgB,SAAuB1U,GACzCA,EAAQkB,SAAQ,SAAUnB,GAExB,IAAKA,EAAM4U,eAAgB,CACzB,IAAIC,EAAoBH,EAAe,GACnCI,EAAmBJ,EAAeA,EAAepR,OAAS,GAI1DmR,GAA0C,IAA1BC,EAAepR,QAAgBtD,EAAMI,UAAY0U,EAAiB1U,UAAY,KAAQJ,EAAMI,UAAYyU,EAAkBzU,UAAY,KACxJqU,GAAgBzU,EAAMtB,MACtBgW,EAAe3K,KAAK/J,KAEpByU,EAAezU,EAAMtB,MACrBgW,EAAiB,CAAC1U,IAKhByU,EAAe1U,EAAOrB,QACxBqB,EAAOrB,MAAQ+V,EACf1U,EAAOE,QAAUyU,EAEbF,GACFA,IAGN,CACF,GACF,EAEIN,EAAKJ,EAAQ,eAAgBa,GAEjC,GAAIT,EAAI,CACNM,EAASlC,EAAaiC,EAAUxU,GAEhC,IAAIgV,EAAgB,WAClBJ,EAAcT,EAAGc,eACjBR,GAAO,EACT,EAGA,OADA,EAAAS,EAAA,GAASF,GACFA,CACT,CAGF,aC/DIG,EAAQ,SAAeX,GACzB,IAGIC,EAHAW,GAAoB,EAAA7S,EAAA,KACpBvC,EAASuT,EAAW,OAIpB8B,EAAc,SAAqBpV,GAEjCA,EAAMI,UAAY+U,EAAkB3S,kBACtCzC,EAAOrB,MAAQsB,EAAMqV,gBAAkBrV,EAAMI,UAC7CL,EAAOE,QAAQ8J,KAAK/J,GACpBwU,GAAO,GAEX,EAEIG,EAAgB,SAAuB1U,GACzCA,EAAQkB,QAAQiU,EAClB,EAEIlB,EAAKJ,EAAQ,cAAea,GAChCH,EAASlC,EAAaiC,EAAUxU,GAE5BmU,IACF,EAAAe,EAAA,IAAS,WACPN,EAAcT,EAAGc,eACjBd,EAAGoB,YACL,IAAG,EAEP,ECrCIC,EAAoB,CAAC,EAQrBC,EAAQ,SAAejB,GACzB,IAEIC,EAFAW,GAAoB,EAAA7S,EAAA,KACpBvC,EAASuT,EAAW,OAGpBqB,EAAgB,SAAuB1U,GACzC,IAAIwV,EAAYxV,EAAQA,EAAQqD,OAAS,GAEzC,GAAImS,EAAW,CAKb,IAAI/W,EAAQ0E,KAAKC,IAAIoS,EAAUrV,UAAY+S,IAAsB,GAE7DzU,EAAQyW,EAAkB3S,kBAC5BzC,EAAOrB,MAAQA,EACfqB,EAAOE,QAAU,CAACwV,GAClBjB,IAEJ,CACF,EAEIN,EAAKJ,EAAQ,2BAA4Ba,GAE7C,GAAIT,EAAI,CACNM,EAASlC,EAAaiC,EAAUxU,GAEhC,IAAIgV,EAAgB,WACbQ,EAAkBxV,EAAO8E,MAC5B8P,EAAcT,EAAGc,eACjBd,EAAGoB,aACHC,EAAkBxV,EAAO8E,KAAM,EAC/B2P,GAAO,GAEX,EAYA,MAPA,CAAC,UAAW,SAASrT,SAAQ,SAAUwC,GACrCtE,iBAAiBsE,EAAMoR,EAAe,CACpCjD,MAAM,EACNC,SAAS,GAEb,KACA,EAAAkD,EAAA,GAASF,GAAe,GACjBA,CACT,CAGF,ET3EIW,EAAW,CAAC,EACZC,EAAe,CAAC,EAapB,SAASC,EAA6BrD,GACpC,OAAOsD,EAAkB,MAAOtD,EAAUuD,EAAe3D,EAC3D,CAOA,SAAS4D,EAA6BxD,GACpC,OAAOsD,EAAkB,MAAOtD,EAAUyD,EAAe3D,EAC3D,CAOA,SAAS4D,EAA6B1D,GACpC,OAAOsD,EAAkB,MAAOtD,EAAU2D,EAAe9D,EAC3D,CAQA,SAAS+D,EAAqCxS,EAAM4O,GAQlD,OAPA6D,EAAWzS,EAAM4O,GAEZoD,EAAahS,MAiFpB,SAAuCA,GACrC,IAAIgF,EAAU,CAAC,EAEF,UAAThF,IACFgF,EAAQ0N,kBAAoB,GAG9BvC,EAAQnQ,GAAM,SAAU1D,GACtBqW,EAAgB3S,EAAM,CACpB1D,QAASA,GAEb,GAAG0I,EACL,CA5FI4N,CAA8B5S,GAC9BgS,EAAahS,IAAQ,GAGhB6S,EAAmB7S,EAAM4O,EAClC,CAIA,SAAS+D,EAAgB3S,EAAMd,GAC7B,IAAI4T,EAAef,EAAS/R,GAE5B,GAAK8S,GAAiBA,EAAanT,OAAnC,CAIA,IACImI,EADAG,GAAY,OAA2B6K,GAG3C,IACE,IAAK7K,EAAUC,MAAOJ,EAAQG,EAAUE,KAAKC,MAAO,CAClD,IAAI2K,EAAUjL,EAAM/M,MAEpB,IACEgY,EAAQ7T,EACV,CAAE,MAAO0J,IACsB,qBAArBlM,kBAAoCA,mBAAqBC,EAAA,GAAOsH,MAAM,0DAA0D1E,OAAOS,EAAM,YAAYT,QAAO,QAAgBwT,GAAU,YAAanK,EACjN,CACF,CACF,CAAE,MAAOD,GACPV,EAAUW,EAAED,EACd,CAAE,QACAV,EAAUY,GACZ,CAnBA,CAoBF,CAEA,SAASsJ,IACPxB,GAAM,SAAUvU,GACduW,EAAgB,MAAO,CACrBvW,OAAQA,IAEVoS,EAAepS,CACjB,GACF,CAEA,SAASmW,IACPhB,GAAM,SAAUnV,GACduW,EAAgB,MAAO,CACrBvW,OAAQA,IAEVqS,EAAerS,CACjB,GACF,CAEA,SAASiW,IACPR,GAAM,SAAUzV,GACduW,EAAgB,MAAO,CACrBvW,OAAQA,IAEVsS,EAAetS,CACjB,GACF,CAEA,SAAS8V,EAAkBlS,EAAM4O,EAAUoE,EAAcC,GAcvD,OAbAR,EAAWzS,EAAM4O,GAEZoD,EAAahS,KAChBgT,IACAhB,EAAahS,IAAQ,GAGnBiT,GACFrE,EAAS,CACPxS,OAAQ6W,IAILJ,EAAmB7S,EAAM4O,EAClC,CAgBA,SAAS6D,EAAWzS,EAAM+S,GACxBhB,EAAS/R,GAAQ+R,EAAS/R,IAAS,GACnC+R,EAAS/R,GAAMoG,KAAK2M,EACtB,CAGA,SAASF,EAAmB7S,EAAM4O,GAChC,OAAO,WACL,IAAIkE,EAAef,EAAS/R,GAE5B,GAAK8S,EAAL,CAIA,IAAItR,EAAQsR,EAAatI,QAAQoE,IAElB,IAAXpN,GACFsR,EAAaI,OAAO1R,EAAO,EAL7B,CAOF,CACF,6DUrKI2R,UAAS,oFCiBTtU,GAAmB,EAgBnBF,EAAuB,WAUzB,OATIE,EAAkB,IAKpBA,EAjByC,WAApC,IAAOoN,SAASmH,iBAAiC,IAAOnH,SAAS4D,aAAmBwD,IAAJ,GAKvF,QAAS,SAAUlY,GACjB,IAAImY,EAAYnY,EAAKmY,UACrBzU,EAAkByU,CACpB,IAAG,IAaI,CACL,mBAAIzU,GACF,OAAOA,CACT,EAGJ,wECjCIyS,EAAW,SAAkBiC,EAAIpF,GACnC,IAAIqF,EAAqB,SAASA,EAAmB5V,GAChC,aAAfA,EAAMoC,MAA2D,WAApC,IAAOiM,SAASmH,kBAC/CG,EAAG3V,GAECuQ,IACFsF,oBAAoB,mBAAoBD,GAAoB,GAC5DC,oBAAoB,WAAYD,GAAoB,IAG1D,EAEA9X,iBAAiB,mBAAoB8X,GAAoB,GAGzD9X,iBAAiB,WAAY8X,GAAoB,EACnD,+XC1BA,SAASE,EAAmBC,EAAaC,GAEvC,IAAIC,EAASC,EAAiBH,EAAaC,GACvCG,EAAY,CACd/T,KAAM4T,GAAMA,EAAGpV,KACfzD,MAAOiZ,EAAeJ,IAaxB,OAVIC,EAAOlU,SACToU,EAAUE,WAAa,CACrBJ,OAAQA,SAIWlS,IAAnBoS,EAAU/T,MAA0C,KAApB+T,EAAUhZ,QAC5CgZ,EAAUhZ,MAAQ,8BAGbgZ,CACT,CA0CA,SAASG,EAAeP,EAAaC,GACnC,MAAO,CACLG,UAAW,CACTI,OAAQ,CAACT,EAAmBC,EAAaC,KAG/C,CAIA,SAASE,EAAiBH,EAAaC,GAIrC,IAAIK,EAAaL,EAAGK,YAAcL,EAAGQ,OAAS,GAC1CC,EAaN,SAAoBT,GAClB,GAAIA,EAAI,CACN,GAA8B,kBAAnBA,EAAGU,YACZ,OAAOV,EAAGU,YAGZ,GAAIC,EAAoBC,KAAKZ,EAAGa,SAC9B,OAAO,CAEX,CAEA,OAAO,CACT,CAzBgBC,CAAWd,GAEzB,IACE,OAAOD,EAAYM,EAAYI,EACjC,CAAE,MAAOzL,GACT,CAEA,MAAO,EACT,CAGA,IAAI2L,EAAsB,8BAsB1B,SAASP,EAAeJ,GACtB,IAAIa,EAAUb,GAAMA,EAAGa,QAEvB,OAAKA,EAIDA,EAAQxQ,OAA0C,kBAA1BwQ,EAAQxQ,MAAMwQ,QACjCA,EAAQxQ,MAAMwQ,QAGhBA,EAPE,kBAQX,CA6CA,SAASE,EAAsBhB,EAAaI,EAAWa,EAAoBC,EAAkBC,GAC3F,IAAIlX,EAEJ,IAAI,EAAAiI,EAAA,IAAakO,IAAcA,EAAU9P,MAGvC,OAAOiQ,EAAeP,EADLI,EAC6B9P,OAUhD,IAAI,EAAA4B,EAAA,IAAWkO,KAAc,EAAAlO,EAAA,IAAekO,GAAY,CACtD,IAAIgB,EAAehB,EAEnB,GAAI,UAAWA,EACbnW,EAAQsW,EAAeP,EAAaI,OAC/B,CACL,IAAIvV,EAAOuW,EAAavW,QAAS,EAAAqH,EAAA,IAAWkP,GAAgB,WAAa,gBACrEN,EAAUM,EAAaN,QAAU,GAAGlV,OAAOf,EAAM,MAAMe,OAAOwV,EAAaN,SAAWjW,EAC1FZ,EAAQoX,EAAgBrB,EAAac,EAASG,EAAoBC,IAClE,QAAsBjX,EAAO6W,EAC/B,CASA,MAPI,SAAUM,IAEZnX,EAAMqX,MAAO,QAAc,OAAc,CAAC,EAAGrX,EAAMqX,MAAO,CAAC,EAAG,CAC5D,oBAAqB,GAAG1V,OAAOwV,EAAaG,SAIzCtX,CACT,CAEA,OAAI,EAAAiI,EAAA,IAAQkO,GAEHG,EAAeP,EAAaI,IAGjC,EAAAlO,EAAA,IAAckO,KAAc,EAAAlO,EAAA,IAAQkO,IAKtCnW,EA7LJ,SAA8B+V,EAAaI,EAAWa,EAAoBE,GACxE,IACIvQ,GADM,UACOC,YACb2Q,EAAiB5Q,GAAUA,EAAOmH,aAAayJ,eAC/CvX,EAAQ,CACVmW,UAAW,CACTI,OAAQ,CAAC,CACPnU,MAAM,EAAA6F,EAAA,IAAQkO,GAAaA,EAAUqB,YAAY5W,KAAOsW,EAAuB,qBAAuB,QACtG/Z,MAAOsa,EAAgCtB,EAAW,CAChDe,qBAAsBA,OAI5BQ,MAAO,CACLC,gBAAgB,EAAAC,EAAA,IAAgBzB,EAAWoB,KAI/C,GAAIP,EAAoB,CACtB,IAAIf,EAASC,EAAiBH,EAAaiB,GAEvCf,EAAOlU,SAET/B,EAAMmW,UAAUI,OAAO,GAAGF,WAAa,CACrCJ,OAAQA,GAGd,CAEA,OAAOjW,CACT,CA+JY6X,CAAqB9B,EADPI,EACqCa,EAAoBE,IAC/E,QAAsBlX,EAAO,CAC3B8X,WAAW,IAEN9X,IAYTA,EAAQoX,EAAgBrB,EAAaI,EAAWa,EAAoBC,IACpE,QAAsBjX,EAAO,GAAG2B,OAAOwU,QAAYpS,IACnD,QAAsB/D,EAAO,CAC3B8X,WAAW,IAEN9X,EACT,CAMA,SAASoX,EAAgBrB,EAAagC,EAAOf,EAAoBC,GAC/D,IAAIjX,EAAQ,CACV6W,QAASkB,GAGX,GAAId,GAAoBD,EAAoB,CAC1C,IAAIf,EAASC,EAAiBH,EAAaiB,GAEvCf,EAAOlU,SACT/B,EAAMmW,UAAY,CAChBI,OAAQ,CAAC,CACPpZ,MAAO4a,EACP1B,WAAY,CACVJ,OAAQA,MAKlB,CAEA,OAAOjW,CACT,CAEA,SAASyX,EAAgCtB,EAAW5Y,GAClD,IAAI2Z,EAAuB3Z,EAAK2Z,qBAC5BhU,GAAO,QAA+BiT,GACtC6B,EAAcd,EAAuB,oBAAsB,YAG/D,IAAI,EAAAjP,EAAA,IAAakO,GACf,MAAO,kCAAkCxU,OAAOqW,EAAa,mBAAmBrW,OAAOwU,EAAUU,QAAS,KAG5G,IAAI,EAAA5O,EAAA,IAAQkO,GAAY,CACtB,IAAI8B,EAOR,SAA4BC,GAC1B,IACE,IAAIC,EAAYlV,OAAOmV,eAAeF,GACtC,OAAOC,EAAYA,EAAUX,YAAY5W,UAAOmD,CAClD,CAAE,MAAOiH,GACT,CACF,CAboBqN,CAAmBlC,GACnC,MAAO,UAAUxU,OAAOsW,EAAW,YAAYtW,OAAOwU,EAAU/T,KAAM,kBAAkBT,OAAOqW,EACjG,CAEA,MAAO,sBAAsBrW,OAAOqW,EAAa,gBAAgBrW,OAAOuB,EAC1E,gBC7RIqS,UAAS,GACT+C,EAAgB,EAKpB,SAASC,IACP,OAAOD,EAAgB,CACzB,CAwBA,SAASE,EAAKC,GACZ,IAAIrR,EAAU0E,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/E4M,EACF5M,UAAU/J,OAAS,EAAI+J,UAAU,QAAK/H,EAQxC,GAAkB,oBAAP0U,EACT,OAAOA,EAGT,IAGE,IAAIE,EAAUF,EAAGG,mBAEjB,GAAID,EACF,OAAOA,EAIT,IAAI,QAAoBF,GACtB,OAAOA,CAEX,CAAE,MAAOzN,GAIP,OAAOyN,CACT,CAKA,IAAII,EAAgB,WAClB,IAAI1R,EAAOkB,MAAM8P,UAAUxY,MAAMmZ,KAAKhN,WAEtC,IACM4M,GAA4B,oBAAXA,GACnBA,EAAO9P,MAAMqE,KAAMnB,WAIrB,IAAIiN,EAAmB5R,EAAK6R,KAAI,SAAUC,GACxC,OAAOT,EAAKS,EAAK7R,EACnB,IAKA,OAAOqR,EAAG7P,MAAMqE,KAAM8L,EACxB,CAAE,MAAO/C,GAgBP,MAvFJsC,IACAzM,YAAW,WACTyM,GACF,KAsEI,SAAU,SAAU7R,GAClBA,EAAMyS,mBAAkB,SAAUlZ,GAShC,OARIoH,EAAQ+R,aACV,QAAsBnZ,OAAO+D,OAAWA,IACxC,QAAsB/D,EAAOoH,EAAQ+R,YAGvCnZ,EAAM0X,OAAQ,QAAc,OAAc,CAAC,EAAG1X,EAAM0X,OAAQ,CAAC,EAAG,CAC9D5L,UAAW3E,IAENnH,CACT,KACA,QAAiBgW,EACnB,IACMA,CACR,CACF,EAMA,IACE,IAAK,IAAIoD,KAAYX,EACfxV,OAAOkV,UAAUkB,eAAeP,KAAKL,EAAIW,KAC3CP,EAAcO,GAAYX,EAAGW,GAGnC,CAAE,MAAOE,GAAM,EAKf,QAAoBT,EAAeJ,IACnC,QAAyBA,EAAI,qBAAsBI,GAEnD,IACmB5V,OAAOsW,yBAAyBV,EAAe,QAEjDW,cACbvW,OAAOwW,eAAeZ,EAAe,OAAQ,CAC3C5S,IAAK,WACH,OAAOwS,EAAG7X,IACZ,GAIN,CAAE,MAAO0Y,GAAM,CAEf,OAAOT,CACT,gBCxIA,SAASa,EAA2BC,EAAUpc,GAC5C,IAAIkP,EAAWlP,EAAKkP,SAChBmN,EAASrc,EAAKqc,OACdC,EAAMtc,EAAKsc,IAEX7T,GAAU,QAAc,OAAc,CACxC8T,SAAUH,EAASG,SACnBC,SAAS,IAAI5H,MAAO6H,eACnBvN,GAAYA,EAASwN,KAAO,CAC7BA,IAAK,CACHrZ,KAAM6L,EAASwN,IAAIrZ,KACnBuJ,QAASsC,EAASwN,IAAI9P,aAEpByP,KAAYC,GAAO,CACvBA,KAAK,QAAYA,KAGfK,EAIN,SAAwCP,GAItC,MAAO,CAHe,CACpBvX,KAAM,eAEiBuX,EAC3B,CATaQ,CAA+BR,GAC1C,OAAO,QAAe3T,EAAS,CAACkU,GAClC,CCFA,IAAIE,EAA6B,SAAUC,IACzC,OAAUD,EAAeC,GAEzB,IAAIC,GAAS,OAAaF,GAO1B,SAASA,EAAchT,GACrB,IAAIuG,GAEJ,OAAgBV,KAAMmN,GAEtB,IAAIG,EAAYhF,EAAOiF,oBAAqB,SAoB5C,OAnBApT,EAAQqT,UAAYrT,EAAQqT,WAAa,CAAC,EAC1CrT,EAAQqT,UAAUR,IAAM7S,EAAQqT,UAAUR,KAAO,CAC/CrZ,KAAM,4BACN8Z,SAAU,CAAC,CACT9Z,KAAM,GAAGe,OAAO4Y,EAAW,oBAC3BpQ,QAAS,MAEXA,QAAS,KAEXwD,EAAQ2M,EAAOxB,KAAK7L,KAAM7F,GAEtBA,EAAQuT,mBAAqBpF,EAAOlH,UACtCkH,EAAOlH,SAASvQ,iBAAiB,oBAAoB,WACX,WAApCyX,EAAOlH,SAASmH,iBAClB7H,EAAMiN,gBAEV,IAGKjN,CACT,CA6EA,OAvEA,OAAayM,EAAe,CAAC,CAC3B3M,IAAK,qBACLtQ,MAAO,SAA4BgZ,EAAW0E,GAC5C,OHmEN,SAA4B9E,EAAaI,EAAW0E,EAAM5D,GACxD,IACIjX,EAAQ+W,EAAsBhB,EAAaI,EADtB0E,GAAQA,EAAK7D,yBAAsBjT,EACkBkT,GAS9E,OARA,QAAsBjX,GAEtBA,EAAM8a,MAAQ,QAEVD,GAAQA,EAAKf,WACf9Z,EAAM8Z,SAAWe,EAAKf,WAGjB,QAAoB9Z,EAC7B,CG/Ea,CAAoBiN,KAAKtI,SAASoR,YAAaI,EAAW0E,EAAM5N,KAAKtI,SAASsS,iBACvF,GAKC,CACDxJ,IAAK,mBACLtQ,MAAO,SAA0B0Z,GAC/B,IAAIiE,EAAQhP,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,GAAmBA,UAAU,GAAK,OAC5E+O,EAAO/O,UAAU/J,OAAS,EAAI+J,UAAU,QAAK/H,EACjD,OH2EN,SAA0BgS,EAAac,GACrC,IAAIiE,EAAQhP,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,GAAmBA,UAAU,GAAK,OAC5E+O,EAAO/O,UAAU/J,OAAS,EAAI+J,UAAU,QAAK/H,EAC7CkT,EAAmBnL,UAAU/J,OAAS,EAAI+J,UAAU,QAAK/H,EAEzD/D,EAAQoX,EAAgBrB,EAAac,EADhBgE,GAAQA,EAAK7D,yBAAsBjT,EACUkT,GAOtE,OANAjX,EAAM8a,MAAQA,EAEVD,GAAQA,EAAKf,WACf9Z,EAAM8Z,SAAWe,EAAKf,WAGjB,QAAoB9Z,EAC7B,CGxFa,CAAkBiN,KAAKtI,SAASoR,YAAac,EAASiE,EAAOD,EAAM5N,KAAKtI,SAASsS,iBAC1F,GAKC,CACDxJ,IAAK,sBACLtQ,MAAO,SAA6Bwc,GAClC,GAAK1M,KAAK8N,aAAV,CAKA,IAAIC,EAAWtB,EAA2BC,EAAU,CAClDlN,SAAUQ,KAAKgO,iBACfpB,IAAK5M,KAAKiO,SACVtB,OAAQ3M,KAAKa,aAAa8L,SAEvB3M,KAAKkO,cAAcH,EAPxB,MAF+B,qBAArBlc,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,mDAUjF,GAKC,CACDY,IAAK,gBACLtQ,MAAO,SAAuB6C,EAAO6a,EAAMpU,GAEzC,OADAzG,EAAMob,SAAWpb,EAAMob,UAAY,cAC5B,QAAK,OAAgBhB,EAAcjC,WAAY,gBAAiBlL,MAAM6L,KAAK7L,KAAMjN,EAAO6a,EAAMpU,EACvG,GAKC,CACDgH,IAAK,iBACLtQ,MAAO,WACL,IAAIke,EAAWpO,KAAKqO,iBAEpB,GAAwB,IAApBD,EAAStZ,OAMb,GAAKkL,KAAKsO,KAAV,EAK6B,qBAArBzc,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,oBAAqBqc,GACjG,IAAIL,GAAW,OAA2BK,EAAUpO,KAAKtI,SAASiV,SAAU,QAAY3M,KAAKsO,OACxFtO,KAAKkO,cAAcH,EAJxB,MAF+B,qBAArBlc,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,gDAN/C,qBAArBF,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,sBAahF,KAGKob,CACT,CAlHiC,CAkH/B,2BC7HEoB,EAA8B,WAahC,SAASA,EAAepU,IACtB,OAAgB6F,KAAMuO,GAEtBvO,KAAKrM,KAAO4a,EAAelY,GAC3B2J,KAAKtI,UAAW,OAAc,CAC5B8W,SAAS,EACTC,sBAAsB,GACrBtU,GACH6F,KAAK0O,aAAe,CAClBF,QAASG,EACTF,qBAAsBG,EAE1B,CAmCA,OA7BA,OAAaL,EAAgB,CAAC,CAC5B/N,IAAK,YACLtQ,MAAO,WACL2e,MAAMC,gBAAkB,GACxB,IAuLoB3Z,EAvLhBgF,EAAU6F,KAAKtI,SAInB,IAAK,IAAI8I,KAAOrG,EAAS,CACvB,IAAI4U,EAAc/O,KAAK0O,aAAalO,GAEhCuO,GAAe5U,EAAQqG,KAgLTrL,EA/KCqL,GAgLI,qBAArB3O,kBAAoCA,mBAAqBC,EAAA,GAAOC,IAAI,4BAA4B2C,OAAOS,IA/KvG4Z,IACA/O,KAAK0O,aAAalO,QAAO1J,EAE7B,CACF,IACE,CAAC,CACH0J,IAAK,eACLtQ,MAIA,WACE8P,KAAK3J,GAAK,gBACZ,KAGKkY,CACT,CA7DkC,GAmElC,SAASI,KACP,QAA0B,SAC1B,SAAUta,GACR,IAAI2a,EAAoBC,IACpBC,GAAqB,OAAeF,EAAmB,GACvDzV,EAAM2V,EAAmB,GACzBpG,EAAcoG,EAAmB,GACjClF,EAAmBkF,EAAmB,GAE1C,GAAK3V,EAAI4V,eAAeZ,GAAxB,CAIA,IAAIa,EAAM/a,EAAK+a,IACX9Y,EAAMjC,EAAKiC,IACX+Y,EAAOhb,EAAKgb,KACZC,EAASjb,EAAKib,OACdlW,EAAQ/E,EAAK+E,MAEjB,KAAIkS,KAAyBlS,GAASA,EAAM8C,wBAA5C,CAIA,IAAInJ,OAAkB+D,IAAVsC,IAAuB,EAAA4B,EAAA,IAASoU,GA0EhD,SAAqCA,EAAK9Y,EAAK+Y,EAAMC,GACnD,IAAIC,EAAiB,2GAEjB3F,GAAU,EAAA5O,EAAA,IAAaoU,GAAOA,EAAIxF,QAAUwF,EAC5Czb,EAAO,QACP6b,EAAS5F,EAAQ6F,MAAMF,GAEvBC,IACF7b,EAAO6b,EAAO,GACd5F,EAAU4F,EAAO,IAGnB,IAAIzc,EAAQ,CACVmW,UAAW,CACTI,OAAQ,CAAC,CACPnU,KAAMxB,EACNzD,MAAO0Z,MAIb,OAAO8F,EAA8B3c,EAAOuD,EAAK+Y,EAAMC,EACzD,CA/FuDK,CAA4BP,EAAK9Y,EAAK+Y,EAAMC,GAAUI,EAA8B5F,EAAsBhB,EAAa1P,GAASgW,OAAKtY,EAAWkT,GAAkB,GAAQ1T,EAAK+Y,EAAMC,GACxOvc,EAAM8a,MAAQ,QACd+B,EAAuBrW,EAAKH,EAAOrG,EAAO,UAJ1C,CAVA,CAeF,GACF,CAIA,SAAS6b,KACP,QAA0B,sBAC1B,SAAU7Q,GACR,IAAI8R,EAAqBZ,IACrBa,GAAqB,OAAeD,EAAoB,GACxDtW,EAAMuW,EAAmB,GACzBhH,EAAcgH,EAAmB,GACjC9F,EAAmB8F,EAAmB,GAE1C,GAAKvW,EAAI4V,eAAeZ,GAAxB,CAIA,IAAInV,EAAQ2E,EAEZ,IAGM,WAAYA,EACd3E,EAAQ2E,EAAEgS,OAMH,WAAYhS,GAAK,WAAYA,EAAEiS,SACtC5W,EAAQ2E,EAAEiS,OAAOD,OAErB,CAAE,MAAO1D,GACT,CAEA,GAAIf,KAAyBlS,GAASA,EAAM8C,uBAC1C,OAAO,EAGT,IAAInJ,GAAQ,EAAAiI,EAAA,IAAY5B,GAenB,CACL8P,UAAW,CACTI,OAAQ,CAAC,CACPnU,KAAM,qBAENjF,MAAO,oDAAoDwE,OAAOa,OApBJ6D,QAAS0Q,EAAsBhB,EAAa1P,OAAOtC,EAAWkT,GAAkB,GAClJjX,EAAM8a,MAAQ,QACd+B,EAAuBrW,EAAKH,EAAOrG,EAAO,uBA1B1C,CA4BF,GACF,CAoDA,SAAS2c,EAA8B3c,EAAOuD,EAAK+Y,EAAMC,GAEvD,IAAIvR,EAAIhL,EAAMmW,UAAYnW,EAAMmW,WAAa,CAAC,EAE1C+G,EAAKlS,EAAEuL,OAASvL,EAAEuL,QAAU,GAE5B4G,EAAMD,EAAG,GAAKA,EAAG,IAAM,CAAC,EAExBE,EAAOD,EAAI9G,WAAa8G,EAAI9G,YAAc,CAAC,EAE3CgH,EAAQD,EAAKnH,OAASmH,EAAKnH,QAAU,GACrCqH,EAAQzS,MAAM1E,SAASoW,EAAQ,UAAOxY,EAAYwY,EAClDgB,EAAS1S,MAAM1E,SAASmW,EAAM,UAAOvY,EAAYuY,EACjDkB,GAAW,EAAAvV,EAAA,IAAS1E,IAAQA,EAAIxB,OAAS,EAAIwB,GAAM,UAYvD,OAVqB,IAAjB8Z,EAAMtb,QACRsb,EAAM7U,KAAK,CACT8U,MAAOA,EACPE,SAAUA,EACVC,SAAU,IACVC,QAAQ,EACRH,OAAQA,IAILvd,CACT,CAMA,SAAS6c,EAAuBrW,EAAKH,EAAOrG,EAAOoC,IACjD,QAAsBpC,EAAO,CAC3B2d,SAAS,EACTvb,KAAMA,IAERoE,EAAIoX,aAAa5d,EAAO,CACtB6d,kBAAmBxX,GAEvB,CAEA,SAAS6V,IACP,IAAI1V,GAAM,UACNG,EAASH,EAAII,YACbQ,EAAUT,GAAUA,EAAOmH,cAAgB,CAC7CiI,YAAa,WACX,MAAO,EACT,EACAkB,kBAAkB,GAEpB,MAAO,CAACzQ,EAAKY,EAAQ2O,YAAa3O,EAAQ6P,iBAC5C,CAnLAuE,EAAesC,eCtEf,IAAIC,GAAuB,CAAC,cAAe,SAAU,OAAQ,mBAAoB,iBAAkB,mBAAoB,oBAAqB,kBAAmB,cAAe,aAAc,qBAAsB,cAAe,aAAc,iBAAkB,eAAgB,kBAAmB,cAAe,cAAe,eAAgB,qBAAsB,SAAU,eAAgB,YAAa,eAAgB,gBAAiB,YAAa,kBAAmB,SAAU,iBAAkB,4BAA6B,wBAGrgBC,GAAwB,WAU1B,SAASA,EAAS5W,IAChB,OAAgB6F,KAAM+Q,GAEtB/Q,KAAKrM,KAAOod,EAAS1a,GACrB2J,KAAKtI,UAAW,OAAc,CAC5BsZ,gBAAgB,EAChBC,aAAa,EACbC,uBAAuB,EACvBC,aAAa,EACbvS,YAAY,GACXzE,EACL,CA4CA,OArCA,OAAa4W,EAAU,CAAC,CACtBvQ,IAAK,YACLtQ,MAAO,WACD8P,KAAKtI,SAASkH,aAChB,QAAK0J,EAAQ,aAAc8I,IAGzBpR,KAAKtI,SAASyZ,cAChB,QAAK7I,EAAQ,cAAe8I,IAG1BpR,KAAKtI,SAASwZ,wBAChB,QAAK5I,EAAQ,wBAAyB+I,IAGpCrR,KAAKtI,SAASsZ,gBAAkB,uBAClC,QAAKA,eAAe9F,UAAW,OAAQoG,IAGzC,IAAIC,EAAoBvR,KAAKtI,SAASuZ,YAElCM,IACgBnW,MAAMC,QAAQkW,GAAqBA,EAAoBT,IAC7Dne,QAAQ6e,GAExB,IACE,CAAC,CACHhR,IAAK,eACLtQ,MAIA,WACE8P,KAAK3J,GAAK,UACZ,KAGK0a,CACT,CAlE4B,GAwE5B,SAASK,GAAkBK,GAEzB,OAAO,WACL,IAAK,IAAIC,EAAO7S,UAAU/J,OAAQoF,EAAO,IAAIkB,MAAMsW,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EzX,EAAKyX,GAAQ9S,UAAU8S,GAGzB,IAAIC,EAAmB1X,EAAK,GAU5B,OATAA,EAAK,GAAKqR,EAAKqG,EAAkB,CAC/B1F,UAAW,CACT7X,KAAM,CACJmc,UAAU,QAAgBiB,IAE5Bf,SAAS,EACTvb,KAAM,gBAGHsc,EAAS9V,MAAMqE,KAAM9F,EAC9B,CACF,CAKA,SAASmX,GAASI,GAEhB,OAAO,SAAU1N,GAEf,OAAO0N,EAAS9V,MAAMqE,KAAM,CAACuL,EAAKxH,EAAU,CAC1CmI,UAAW,CACT7X,KAAM,CACJmc,SAAU,wBACVtI,SAAS,QAAgBuJ,IAE3Bf,SAAS,EACTvb,KAAM,iBAGZ,CACF,CAIA,SAASmc,GAASO,GAEhB,OAAO,WAEL,IAAI7V,EAAMgE,KACgB,CAAC,SAAU,UAAW,aAAc,sBAC1CrN,SAAQ,SAAUmf,GAChCA,KAAQ9V,GAA4B,oBAAdA,EAAI8V,KAE5B,QAAK9V,EAAK8V,GAAM,SAAUL,GACxB,IAAIM,EAAc,CAChB7F,UAAW,CACT7X,KAAM,CACJmc,SAAUsB,EACV5J,SAAS,QAAgBuJ,IAE3Bf,SAAS,EACTvb,KAAM,eAIN6c,GAAmB,QAAoBP,GAO3C,OALIO,IACFD,EAAY7F,UAAU7X,KAAK6T,SAAU,QAAgB8J,IAIhDzG,EAAKkG,EAAUM,EACxB,GAEJ,IAEA,IAAK,IAAIE,EAAQpT,UAAU/J,OAAQoF,EAAO,IAAIkB,MAAM6W,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFhY,EAAKgY,GAASrT,UAAUqT,GAG1B,OAAOL,EAAalW,MAAMqE,KAAM9F,EAClC,CACF,CAIA,SAASsX,GAAiBjR,GAExB,IAAI4R,EAAe7J,EAEf8J,EAAQD,EAAa5R,IAAW4R,EAAa5R,GAAQ2K,UAEpDkH,GAAUA,EAAMhG,gBAAmBgG,EAAMhG,eAAe,uBAI7D,QAAKgG,EAAO,oBAAoB,SAAUX,GACxC,OAAO,SACPY,EAAW7G,EAAIrR,GACb,IACgC,oBAAnBqR,EAAG8G,cAOZ9G,EAAG8G,YAAc/G,EAAKC,EAAG8G,YAAa,CACpCpG,UAAW,CACT7X,KAAM,CACJmc,SAAU,cACVtI,SAAS,QAAgBsD,GACzBjL,OAAQA,GAEVmQ,SAAS,EACTvb,KAAM,gBAId,CAAE,MAAO2I,GACT,CAEA,OAAO2T,EAAS9V,MAAMqE,KAAM,CAACqS,EAC7B9G,EAAKC,EAAI,CACPU,UAAW,CACT7X,KAAM,CACJmc,SAAU,mBACVtI,SAAS,QAAgBsD,GACzBjL,OAAQA,GAEVmQ,SAAS,EACTvb,KAAM,gBAENgF,GACN,CACF,KACA,QAAKiY,EAAO,uBAAuB,SAAUG,GAE3C,OAAO,SACPF,EAAW7G,EAAIrR,GAkBb,IAAIqY,EAAsBhH,EAE1B,IACE,IAAIiH,EAAuBD,GAAuBA,EAAoB7G,mBAElE8G,GACFF,EAA4B1G,KAAK7L,KAAMqS,EAAWI,EAAsBtY,EAE5E,CAAE,MAAO4D,GACT,CAEA,OAAOwU,EAA4B1G,KAAK7L,KAAMqS,EAAWG,EAAqBrY,EAChF,CACF,IACF,CA/KA4W,GAASF,uDClEL6B,GAA4B,KAM5BC,GAA2B,WAa7B,SAASA,EAAYxY,IACnB,OAAgB6F,KAAM2S,GAEtB3S,KAAKrM,KAAOgf,EAAYtc,GACxB2J,KAAK7F,SAAU,OAAc,CAC3ByY,SAAS,EACTC,KAAK,EACLC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRhX,KAAK,GACJ7B,EACL,CAkDA,OAvCA,OAAawY,EAAa,CAAC,CACzBnS,IAAK,YACLtQ,MAAO,WAqBL,GApBI8P,KAAK7F,QAAQyY,UACf,QAA0B,UAAWK,IAGnCjT,KAAK7F,QAAQ0Y,MACf,QAA0B,MAwDlC,SAAwBA,GACtB,SAASK,EAAoB/a,GAC3B,IAAIoI,EACA4S,EAA0B,kBAARN,EAAmBA,EAAIO,wBAAqBtc,EAC9Duc,EAAiC,kBAARR,GAAmD,kBAAxBA,EAAIQ,gBAA+BR,EAAIQ,qBAAkBvc,EAE7Guc,GAAmBA,EAAkBX,MACV,qBAArB7gB,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,uCAAuClL,OAAOge,GAA2B,qBAAqBhe,OAAO2e,EAAiB,qCAAqC3e,OAAOge,GAA2B,cAC1QW,EAAkBX,IAGI,kBAAbS,IACTA,EAAW,CAACA,IAId,IACE,IAAIpgB,EAAQoF,EAAYpF,MACxBwN,EAkLN,SAAkBxN,GAChB,QAASA,KAAWA,EAAMwN,MAC5B,CApLe+S,CAASvgB,IAAS,QAAiBA,EAAMwN,OAAQ,CACxD4S,SAAUA,EACVE,gBAAiBA,KACd,QAAiBtgB,EAAO,CAC3BogB,SAAUA,EACVE,gBAAiBA,GAErB,CAAE,MAAOtV,GACPwC,EAAS,WACX,CAEsB,IAAlBA,EAAOzL,SAIX,UAAgBye,cAAc,CAC5BC,SAAU,MAAM9e,OAAOyD,EAAYxE,MACnCiW,QAASrJ,GACR,CACDxN,MAAOoF,EAAYpF,MACnBY,KAAMwE,EAAYxE,KAClB8f,OAAQtb,EAAYsb,QAExB,CAEA,OAAOP,CACT,CApGyCQ,CAAe1T,KAAK7F,QAAQ0Y,MAG3D7S,KAAK7F,QAAQ6B,MACf,QAA0B,MAAO2X,IAG/B3T,KAAK7F,QAAQ2Y,QACf,QAA0B,QAASc,IAGjC5T,KAAK7F,QAAQ4Y,UACf,QAA0B,UAAWc,IAGnC7T,KAAK7F,QAAQ6Y,OAAQ,CACvB,IAAItZ,GAAS,UAAgBC,YAC7BD,GAAUA,EAAOoa,IAAMpa,EAAOoa,GAAG,kBAAmBC,GACtD,CACF,IACE,CAAC,CACHvT,IAAK,eACLtQ,MAIA,WACE8P,KAAK3J,GAAK,aACZ,KAGKsc,CACT,CA5E+B,GAoF/B,SAASoB,GAAoBhhB,IAC3B,UAAgBwgB,cAAc,CAC5BC,SAAU,UAAU9e,OAAsB,gBAAf3B,EAAMoC,KAAyB,cAAgB,SAC1E0X,SAAU9Z,EAAM8Z,SAChBgB,MAAO9a,EAAM8a,MACbjE,SAAS,QAAoB7W,IAC5B,CACDA,MAAOA,GAEX,CAyDA,SAASkgB,GAAmB9a,GAC1B,IAAI6b,EAAa,CACfR,SAAU,UACVnf,KAAM,CACJwK,UAAW1G,EAAY+B,KACvBpI,OAAQ,WAEV+b,OAAO,EAAAoG,GAAA,IAAwB9b,EAAY0V,OAC3CjE,SAAS,SAASzR,EAAY+B,KAAM,MAGtC,GAA0B,WAAtB/B,EAAY0V,MAAoB,CAClC,IAA4B,IAAxB1V,EAAY+B,KAAK,GAKnB,OAJA8Z,EAAWpK,QAAU,qBAAqBlV,QAAO,SAASyD,EAAY+B,KAAKxH,MAAM,GAAI,MAAQ,kBAC7FshB,EAAW3f,KAAKwK,UAAY1G,EAAY+B,KAAKxH,MAAM,EAKvD,EAEA,UAAgB6gB,cAAcS,EAAY,CACxClJ,MAAO3S,EAAY+B,KACnB2T,MAAO1V,EAAY0V,OAEvB,CAMA,SAAS8F,GAAexb,GACtB,IAAI5H,EAAiB4H,EAAY5H,eAC7B6C,EAAe+E,EAAY/E,aAC3B6I,EAAgB9D,EAAY6D,IAAI,MAEpC,GAAKzL,GAAmB6C,GAAiB6I,EAAzC,CAIA,IAAIlC,EAASkC,EAAclC,OACvBzD,EAAM2F,EAAc3F,IACpB+F,EAAcJ,EAAcI,YAC5B6X,EAAOjY,EAAciY,KACrB7f,EAAO,CACT0F,OAAQA,EACRzD,IAAKA,EACL+F,YAAaA,GAEXuR,EAAO,CACT5R,IAAK7D,EAAY6D,IACjB8O,MAAOoJ,EACP3jB,eAAgBA,EAChB6C,aAAcA,IAEhB,UAAgBmgB,cAAc,CAC5BC,SAAU,MACVnf,KAAMA,EACNc,KAAM,QACLyY,EArBH,CAsBF,CAMA,SAASgG,GAAiBzb,GACxB,IAAI5H,EAAiB4H,EAAY5H,eAC7B6C,EAAe+E,EAAY/E,aAE/B,GAAKA,KAID+E,EAAYG,UAAUhC,IAAImZ,MAAM,eAAkD,SAAjCtX,EAAYG,UAAUyB,QAK3E,GAAI5B,EAAYiB,MAAO,CACrB,IAAI/E,EAAO8D,EAAYG,UACnBsV,EAAO,CACTvZ,KAAM8D,EAAYiB,MAClB0R,MAAO3S,EAAY+B,KACnB3J,eAAgBA,EAChB6C,aAAcA,IAEhB,UAAgBmgB,cAAc,CAC5BC,SAAU,QACVnf,KAAMA,EACNwZ,MAAO,QACP1Y,KAAM,QACLyY,EACL,KAAO,CACL,IAAIuG,GAAQ,QAAc,OAAc,CAAC,EAAGhc,EAAYG,WAAY,CAAC,EAAG,CACtE+D,YAAalE,EAAYQ,UAAYR,EAAYQ,SAASE,SAGxDub,EAAQ,CACVtJ,MAAO3S,EAAY+B,KACnBvB,SAAUR,EAAYQ,SACtBpI,eAAgBA,EAChB6C,aAAcA,IAEhB,UAAgBmgB,cAAc,CAC5BC,SAAU,QACVnf,KAAM8f,EACNhf,KAAM,QACLif,EACL,CACF,CAMA,SAASP,GAAmB1b,GAC1B,IAAIuH,EAAOvH,EAAYuH,KACnBD,EAAKtH,EAAYsH,GACjB4U,GAAY,SAAS/L,EAAOnU,SAASmL,MACrCgV,GAAa,SAAS5U,GACtB6U,GAAW,SAAS9U,GAEnB6U,EAAWE,OACdF,EAAaD,GAKXA,EAAUI,WAAaF,EAASE,UAAYJ,EAAUK,OAASH,EAASG,OAC1EjV,EAAK8U,EAASI,UAGZN,EAAUI,WAAaH,EAAWG,UAAYJ,EAAUK,OAASJ,EAAWI,OAC9EhV,EAAO4U,EAAWK,WAGpB,UAAgBpB,cAAc,CAC5BC,SAAU,aACVnf,KAAM,CACJqL,KAAMA,EACND,GAAIA,IAGV,CAxNAkT,GAAY9B,+BCtFR+D,GAA4B,WAgB9B,SAASA,IACP,IAAIza,EAAU0E,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,GAAmBA,UAAU,GAAK,CAAC,GAEnF,OAAgBmB,KAAM4U,GAEtB5U,KAAKrM,KAAOihB,EAAave,GACzB2J,KAAK2R,KAAOxX,EAAQqG,KA1BN,QA2BdR,KAAK6U,OAAS1a,EAAQ2a,OA1BN,CA2BlB,CA6BA,OAzBA,OAAaF,EAAc,CAAC,CAC1BpU,IAAK,YACLtQ,MAAO,WACP,GAKC,CACDsQ,IAAK,kBACLtQ,MAAO,SAAyB6C,EAAO6a,EAAMlU,GAC3C,IAAIS,EAAUT,EAAOmH,cACrB,QAA4BgI,EAAoB1O,EAAQ2O,YAAa3O,EAAQ4a,eAAgB/U,KAAK2R,KAAM3R,KAAK6U,OAAQ9hB,EAAO6a,EAC9H,IACE,CAAC,CACHpN,IAAK,eACLtQ,MAIA,WACE8P,KAAK3J,GAAK,cACZ,KAGKue,CACT,CAtDgC,GAwDhCA,GAAa/D,eC1Db,IAAImE,GAA2B,WAI7B,SAASA,KACP,OAAgBhV,KAAMgV,GAEtBhV,KAAKrM,KAAOqhB,EAAY3e,EAC1B,CAsDA,OAhDA,OAAa2e,EAAa,CAAC,CACzBxU,IAAK,YACLtQ,MAAO,WACP,GAGC,CACDsQ,IAAK,kBACLtQ,MAAO,SAAyB6C,GAE9B,GAAKuV,EAAOvT,WAAcuT,EAAOnU,UAAamU,EAAOlH,SAArD,CAKA,IAAI9K,EAAMvD,EAAMkH,SAAWlH,EAAMkH,QAAQ3D,KAAOgS,EAAOnU,UAAYmU,EAAOnU,SAASmL,KAG/E2V,GADO3M,EAAOlH,UAAY,CAAC,GACX6T,SAGhBC,GADQ5M,EAAOvT,WAAa,CAAC,GACXmgB,UAElBnc,GAAU,QAAc,QAAc,OAAc,CAAC,EAAGhG,EAAMkH,SAAWlH,EAAMkH,QAAQlB,SAAUkc,GAAY,CAC/GE,QAASF,IACPC,GAAa,CACf,aAAcA,IAGZjb,GAAU,QAAc,QAAc,OAAc,CAAC,EAAGlH,EAAMkH,SAAU3D,GAAO,CACjFA,IAAKA,IACH,CAAC,EAAG,CACNyC,QAASA,IAGXhG,EAAMkH,QAAUA,CAvBhB,CAwBF,IACE,CAAC,CACHuG,IAAK,eACLtQ,MAIA,WACE8P,KAAK3J,GAAK,aACZ,KAGK2e,CACT,CA/D+B,GAiE/BA,GAAYnE,eClEZ,IAAIuE,GAAsB,WAQxB,SAASA,KACP,OAAgBpV,KAAMoV,GAEtBpV,KAAKrM,KAAOyhB,EAAO/e,EACrB,CA2CA,OAvCA,OAAa+e,EAAQ,CAAC,CACpB5U,IAAK,YACLtQ,MAAO,SAAmBmlB,EAA0B1U,GACpD,GAKC,CACDH,IAAK,eACLtQ,MAAO,SAAsBolB,GAG3B,GAAIA,EAAangB,KACf,OAAOmgB,EAIT,IACE,GA2BR,SAA0BA,EAAcC,GACtC,IAAKA,EACH,OAAO,EAGT,GAaF,SAA6BD,EAAcC,GACzC,IAAIC,EAAiBF,EAAa1L,QAC9B6L,EAAkBF,EAAc3L,QAEpC,IAAK4L,IAAmBC,EACtB,OAAO,EAIT,GAAID,IAAmBC,IAAoBD,GAAkBC,EAC3D,OAAO,EAGT,GAAID,IAAmBC,EACrB,OAAO,EAGT,IAAKC,GAAmBJ,EAAcC,GACpC,OAAO,EAGT,IAAKI,GAAkBL,EAAcC,GACnC,OAAO,EAGT,OAAO,CACT,CAvCMK,CAAoBN,EAAcC,GACpC,OAAO,EAGT,GAuCF,SAA+BD,EAAcC,GAC3C,IAAIM,EAAoBC,GAAuBP,GAE3CQ,EAAmBD,GAAuBR,GAE9C,IAAKO,IAAsBE,EACzB,OAAO,EAGT,GAAIF,EAAkB1gB,OAAS4gB,EAAiB5gB,MAAQ0gB,EAAkB3lB,QAAU6lB,EAAiB7lB,MACnG,OAAO,EAGT,IAAKwlB,GAAmBJ,EAAcC,GACpC,OAAO,EAGT,IAAKI,GAAkBL,EAAcC,GACnC,OAAO,EAGT,OAAO,CACT,CA7DMS,CAAsBV,EAAcC,GACtC,OAAO,EAGT,OAAO,CACT,CAzCYU,CAAiBX,EAActV,KAAKkW,gBAEtC,OAD6B,qBAArBrkB,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,wEACtE,IAEX,CAAE,MAAOyM,GAAM,CAGf,OAAOrM,KAAKkW,eAAiBZ,CAC/B,IACE,CAAC,CACH9U,IAAK,eACLtQ,MAIA,WACE8P,KAAK3J,GAAK,QACZ,KAGK+e,CACT,CAxD0B,GAwI1B,SAASO,GAAkBL,EAAcC,GACvC,IAAIY,EAAgBC,GAAoBd,GAEpCe,EAAiBD,GAAoBb,GAGzC,IAAKY,IAAkBE,EACrB,OAAO,EAIT,GAAIF,IAAkBE,IAAmBF,GAAiBE,EACxD,OAAO,EAMT,GAAIA,EAAevhB,SAAWqhB,EAAcrhB,OAC1C,OAAO,EAIT,IAAK,IAAIwhB,EAAI,EAAGA,EAAID,EAAevhB,OAAQwhB,IAAK,CAC9C,IAAIC,EAASF,EAAeC,GACxBE,EAASL,EAAcG,GAE3B,GAAIC,EAAOhG,WAAaiG,EAAOjG,UAAYgG,EAAOjG,SAAWkG,EAAOlG,QAAUiG,EAAOlG,QAAUmG,EAAOnG,OAASkG,EAAO/F,WAAagG,EAAOhG,SACxI,OAAO,CAEX,CAEA,OAAO,CACT,CAIA,SAASkF,GAAmBJ,EAAcC,GACxC,IAAIkB,EAAqBnB,EAAaoB,YAClCC,EAAsBpB,EAAcmB,YAExC,IAAKD,IAAuBE,EAC1B,OAAO,EAIT,GAAIF,IAAuBE,IAAwBF,GAAsBE,EACvE,OAAO,EAMT,IACE,QAAUF,EAAmB7a,KAAK,MAAQ+a,EAAoB/a,KAAK,IACrE,CAAE,MAAOyQ,GACP,OAAO,CACT,CACF,CAIA,SAASyJ,GAAuB/iB,GAC9B,OAAOA,EAAMmW,WAAanW,EAAMmW,UAAUI,QAAUvW,EAAMmW,UAAUI,OAAO,EAC7E,CAIA,SAAS8M,GAAoBrjB,GAC3B,IAAImW,EAAYnW,EAAMmW,UAEtB,GAAIA,EACF,IAEE,OAAOA,EAAUI,OAAO,GAAGF,WAAWJ,MACxC,CAAE,MAAOqD,GACP,MACF,CAIJ,CA/JA+I,GAAOvE,eC5DP,IAAI+F,GAAmB,IAOvB,SAASC,GAAYtG,EAAUuG,EAAMxG,EAAQD,GAC3C,IAAI0G,EAAQ,CACVxG,SAAUA,EACVC,SAAUsG,EACVrG,QAAQ,GAYV,YARe3Z,IAAXwZ,IACFyG,EAAMzG,OAASA,QAGHxZ,IAAVuZ,IACF0G,EAAM1G,MAAQA,GAGT0G,CACT,CAGA,IAAIC,GAAc,6IACdC,GAAkB,gCAsClBC,GAAa,uIACbC,GAAiB,gDAoCjBC,GAAa,uFAwBbC,GAA0B,CAjEF,CA3DN,GA2BT,SAAgBhI,GAC3B,IAAIiI,EAAQN,GAAYO,KAAKlI,GAE7B,GAAIiI,EAAO,CAGT,GAFaA,EAAM,IAAmC,IAA7BA,EAAM,GAAG3X,QAAQ,QAE9B,CACV,IAAI6X,EAAWP,GAAgBM,KAAKD,EAAM,IAEtCE,IAEFF,EAAM,GAAKE,EAAS,GAEpBF,EAAM,GAAKE,EAAS,GAEpBF,EAAM,GAAKE,EAAS,GAExB,CAIA,IAAIC,EAAwBC,GAA8BJ,EAAM,IAAMV,GAAkBU,EAAM,IAC1FK,GAAyB,OAAeF,EAAuB,GAC/DX,EAAOa,EAAuB,GAGlC,OAAOd,GAFQc,EAAuB,GAETb,EAAMQ,EAAM,IAAMA,EAAM,QAAKxgB,EAAWwgB,EAAM,IAAMA,EAAM,QAAKxgB,EAC9F,CAGF,GA0C2B,CAjGN,GAgET,SAAeuY,GACzB,IAAIiI,EAAQJ,GAAWK,KAAKlI,GAE5B,GAAIiI,EAAO,CAGT,GAFaA,EAAM,IAAMA,EAAM,GAAG3X,QAAQ,YAAc,EAE5C,CACV,IAAI6X,EAAWL,GAAeI,KAAKD,EAAM,IAErCE,IAEFF,EAAM,GAAKA,EAAM,IAAM,OACvBA,EAAM,GAAKE,EAAS,GACpBF,EAAM,GAAKE,EAAS,GACpBF,EAAM,GAAK,GAEf,CAEA,IAAI/G,EAAW+G,EAAM,GACjBR,EAAOQ,EAAM,IAAMV,GAEnBgB,EAAyBF,GAA8BZ,EAAMvG,GAE7DsH,GAAyB,OAAeD,EAAwB,GAIpE,OAFAd,EAAOe,EAAuB,GAEvBhB,GADPtG,EAAWsH,EAAuB,GACLf,EAAMQ,EAAM,IAAMA,EAAM,QAAKxgB,EAAWwgB,EAAM,IAAMA,EAAM,QAAKxgB,EAC9F,CAGF,GAU2B,CA1GN,GAqGT,SAAeuY,GACzB,IAAIiI,EAAQF,GAAWG,KAAKlI,GAC5B,OAAOiI,EAAQT,GAAYS,EAAM,GAAIA,EAAM,IAAMV,IAAmBU,EAAM,GAAIA,EAAM,IAAMA,EAAM,QAAKxgB,QAAaA,CACpH,IAoBIghB,GAAqB,KAAkBnc,WAAM,EAAQ0b,IAsBrDK,GAAgC,SAAuCZ,EAAMvG,GAC/E,IAAIwH,GAA0D,IAAtCjB,EAAKnX,QAAQ,oBACjCqY,GAAiE,IAA1ClB,EAAKnX,QAAQ,wBACxC,OAAOoY,GAAqBC,EAAuB,EAAwB,IAAvBlB,EAAKnX,QAAQ,KAAcmX,EAAKpZ,MAAM,KAAK,GAAKkZ,GAAkBmB,EAAoB,oBAAoBrjB,OAAO6b,GAAY,wBAAwB7b,OAAO6b,IAAa,CAACuG,EAAMvG,EACtO,cC3JI0H,QAAkBnhB,ECMtB,SAASohB,GAAmB/d,GAC1B,IAAIge,EAActZ,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,GAAmBA,UAAU,GDiCnF,WACE,GAAIoZ,GACF,OAAOA,GAMT,IAAI,QAAc3P,EAAOwK,OACvB,OAAOmF,GAAkB3P,EAAOwK,MAAMsF,KAAK9P,GAG7C,IAAIlH,EAAWkH,EAAOlH,SAClBiX,EAAY/P,EAAOwK,MAEvB,GAAI1R,GAA8C,oBAA3BA,EAASkX,cAC9B,IACE,IAAIC,EAAUnX,EAASkX,cAAc,UACrCC,EAAQlX,QAAS,EACjBD,EAASoX,KAAKC,YAAYF,GAC1B,IAAIG,EAAgBH,EAAQG,cAExBA,GAAiBA,EAAc5F,QACjCuF,EAAYK,EAAc5F,OAG5B1R,EAASoX,KAAKG,YAAYJ,EAC5B,CAAE,MAAOxa,IACsB,qBAArBlM,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,kFAAmF7B,EAClK,CAGF,OAAOka,GAAkBI,EAAUD,KAAK9P,EAE1C,CCnEwFsQ,GAClFC,EAAkB,EAClBC,EAAe,EA8CnB,OAAO,QAAgB3e,GA5CvB,SAAqBF,GACnB,IAAI8e,EAAc9e,EAAQia,KAAKpf,OAC/B+jB,GAAmBE,EACnBD,IAEA,IAAIE,GAAiB,OAAc,CACjC9E,KAAMja,EAAQia,KACdna,OAAQ,OACRkf,eAAgB,SAChBlgB,QAASoB,EAAQpB,QAYjBmgB,UAAWL,GAAmB,KAASC,EAAe,IACrD3e,EAAQgf,cAEX,IACE,OAAOhB,EAAYhe,EAAQ7D,IAAK0iB,GAAgBI,MAAK,SAAUzgB,GAG7D,OAFAkgB,GAAmBE,EACnBD,IACO,CACLO,WAAY1gB,EAASE,OACrBE,QAAS,CACP,uBAAwBJ,EAASI,QAAQC,IAAI,wBAC7C,cAAeL,EAASI,QAAQC,IAAI,gBAG1C,GACF,CAAE,MAAO+E,GAIP,OD4BJka,QAAkBnhB,EC9Bd+hB,GAAmBE,EACnBD,KACO,QAAoB/a,EAC7B,CACF,GAGF,CC/CA,IAAIub,GAAsB,EAK1B,SAASC,GAAiBpf,GA8BxB,OAAO,QAAgBA,GA7BvB,SAAqBF,GACnB,OAAO,IAAI,MAAY,SAAUuf,EAASC,GACxC,IAAIzd,EAAM,IAAIgV,eAiBd,IAAK,IAAI0I,KAhBT1d,EAAIwS,QAAUiL,EAEdzd,EAAI2d,mBAAqB,WACnB3d,EAAI4d,aAAeN,IACrBE,EAAQ,CACNH,WAAYrd,EAAInD,OAChBE,QAAS,CACP,uBAAwBiD,EAAI6d,kBAAkB,wBAC9C,cAAe7d,EAAI6d,kBAAkB,iBAI7C,EAEA7d,EAAI8d,KAAK,OAAQ3f,EAAQ7D,KAEN6D,EAAQpB,QACrB/C,OAAOkV,UAAUkB,eAAeP,KAAK1R,EAAQpB,QAAS2gB,IACxD1d,EAAIM,iBAAiBod,EAAQvf,EAAQpB,QAAQ2gB,IAIjD1d,EAAI+d,KAAK9f,EAAQia,KACnB,GACF,GAGF,CCjCA,IAAI8F,GAAsB,CAAC,IAAI,KAA+B,IAAI,IAAiC,IAAIjJ,GAAY,IAAI4B,GAAe,IAAIpE,EAAkB,IAAIqG,GAAgB,IAAIQ,GAAU,IAAIJ,IA+DlM,SAASiF,KACP,IAAI9f,EAAU0E,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,GAAmBA,UAAU,GAAK,CAAC,OAE/C/H,IAAhCqD,EAAQ6f,sBACV7f,EAAQ6f,oBAAsBA,SAGRljB,IAApBqD,EAAQ+f,UAEwB,kBAAvBC,qBACThgB,EAAQ+f,QAAUC,oBAIhB7R,EAAO8R,gBAAkB9R,EAAO8R,eAAe/jB,KACjD8D,EAAQ+f,QAAU5R,EAAO8R,eAAe/jB,UAIRS,IAAhCqD,EAAQkgB,sBACVlgB,EAAQkgB,qBAAsB,QAGEvjB,IAA9BqD,EAAQuT,oBACVvT,EAAQuT,mBAAoB,GAG9B,IAAI9M,GAAgB,QAAc,OAAc,CAAC,EAAGzG,GAAU,CAAC,EAAG,CAChE2O,aAAa,QAAkC3O,EAAQ2O,aAAegP,IACtEwC,cAAc,QAAuBngB,GACrCogB,UAAWpgB,EAAQogB,aAAc,EAAAC,EAAA,MAAkBtC,GAAqBqB,OAG1E,OAAYpM,EAAevM,GAEvBzG,EAAQkgB,qBAwGd,WACE,GAA+B,qBAApB/R,EAAOlH,SAEhB,aAD6B,qBAArBvP,kBAAoCA,mBAAqBC,EAAA,GAAO8N,KAAK,uFAI/E,IAAIrG,GAAM,UAOV,IAAKA,EAAIkhB,eACP,OAOFC,GAAkBnhB,IAElB,QAA0B,WAAW,SAAUjJ,GAC7C,IAAIoP,EAAOpP,EAAKoP,KACZD,EAAKnP,EAAKmP,QAGC3I,IAAT4I,GAAsBA,IAASD,GACnCib,IAAkB,UAEtB,GACF,CAvIIC,EAEJ,CAQA,SAASC,KACP,IAAIzgB,EAAU0E,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EtF,EAAMsF,UAAU/J,OAAS,QAAsBgC,IAAjB+H,UAAU,GAAmBA,UAAU,IAAK,UAG9E,GAAKyJ,EAAOlH,SAAZ,CAKA,IAAIyZ,EAAmBthB,EAAIuhB,cACvBphB,EAASmhB,EAAiBnhB,OAC1BF,EAAQqhB,EAAiBrhB,MAEzBoT,EAAMzS,EAAQyS,KAAOlT,GAAUA,EAAOuU,SAE1C,GAAKrB,EAAL,CAKIpT,IACFW,EAAQ4gB,MAAO,QAAc,OAAc,CAAC,EAAGvhB,EAAMwhB,WAAY7gB,EAAQ4gB,OAGtE5gB,EAAQ8gB,UACX9gB,EAAQ8gB,QAAU1hB,EAAI2hB,eAGxB,IAAIC,EAAS7S,EAAOlH,SAASkX,cAAc,UAC3C6C,EAAOC,OAAQ,EACfD,EAAOE,YAAc,YACrBF,EAAOG,KAAM,OAAwB1O,EAAKzS,GAEtCA,EAAQohB,SACVJ,EAAOK,OAASrhB,EAAQohB,QAG1B,IAAIE,EAAiBnT,EAAOlH,SAASoX,MAAQlQ,EAAOlH,SAAS8S,KAEzDuH,EACFA,EAAehD,YAAY0C,IAEE,qBAArBtpB,kBAAoCA,mBAAqBC,EAAA,GAAOsH,MAAM,gEAxBhF,MAF+B,qBAArBvH,kBAAoCA,mBAAqBC,EAAA,GAAOsH,MAAM,+CAThF,MAF+B,qBAArBvH,kBAAoCA,mBAAqBC,EAAA,GAAOsH,MAAM,uDAuClF,CAqCA,SAASshB,GAAkBnhB,GACzBA,EAAImiB,aAAa,CACfC,gBAAgB,IAElBpiB,EAAIkhB,gBACN,uBClNA,SAASmB,EAAWrc,GAClB,MAA8B,MAAvBA,EAASsc,OAAO,EACzB,CAGA,SAASC,EAAUnW,EAAMhP,GACvB,IAAK,IAAI2f,EAAI3f,EAAOolB,EAAIzF,EAAI,EAAGhZ,EAAIqI,EAAK7Q,OAAQinB,EAAIze,EAAGgZ,GAAK,EAAGyF,GAAK,EAClEpW,EAAK2Q,GAAK3Q,EAAKoW,GAGjBpW,EAAKjU,KACP,CAuDA,IApDA,SAAyB+N,EAAIC,QACd5I,IAAT4I,IAAoBA,EAAO,IAC/B,IAgBIsc,EAhBAC,EAAUxc,GAAMA,EAAG/B,MAAM,MAAQ,GACjCwe,EAAYxc,GAAQA,EAAKhC,MAAM,MAAQ,GACvCye,EAAU1c,GAAMmc,EAAWnc,GAC3B2c,EAAY1c,GAAQkc,EAAWlc,GAC/B2c,EAAaF,GAAWC,EAW5B,GATI3c,GAAMmc,EAAWnc,GAEnByc,EAAYD,EACHA,EAAQnnB,SAEjBonB,EAAUxqB,MACVwqB,EAAYA,EAAUxnB,OAAOunB,KAG1BC,EAAUpnB,OAAQ,MAAO,IAG9B,GAAIonB,EAAUpnB,OAAQ,CACpB,IAAIwnB,EAAOJ,EAAUA,EAAUpnB,OAAS,GACxCknB,EAA4B,MAATM,GAAyB,OAATA,GAA0B,KAATA,CACtD,MACEN,GAAmB,EAKrB,IAFA,IAAIO,EAAK,EAEAjG,EAAI4F,EAAUpnB,OAAQwhB,GAAK,EAAGA,IAAK,CAC1C,IAAIkG,EAAON,EAAU5F,GAER,MAATkG,EACFV,EAAUI,EAAW5F,GACH,OAATkG,GACTV,EAAUI,EAAW5F,GACrBiG,KACSA,IACTT,EAAUI,EAAW5F,GACrBiG,IAEJ,CAEA,IAAKF,EAAY,KAAOE,IAAMA,EAC5BL,EAAUO,QAAQ,OAEhBJ,GAA+B,KAAjBH,EAAU,IAAeA,EAAU,IAAON,EAAWM,EAAU,KAAMA,EAAUO,QAAQ,IACzG,IAAIC,EAASR,EAAUtgB,KAAK,KAE5B,OADIogB,GAA0C,MAAtBU,EAAOC,QAAQ,KAAYD,GAAU,KACtDA,CACT,uBCrDA,SAAS1e,EAAE4e,EAAGC,GACZ,IAAIC,EAAIF,EAAE9nB,OACV8nB,EAAErhB,KAAKshB,GAEPD,EAAG,KAAO,EAAIE,GAAI,CAChB,IAAIC,EAAID,EAAI,IAAM,EACd/e,EAAI6e,EAAEG,GACV,KAAI,EAAIC,EAAEjf,EAAG8e,IAAmC,MAAMD,EAArCA,EAAEG,GAAKF,EAAGD,EAAEE,GAAK/e,EAAG+e,EAAIC,CAC3C,CACF,CAEA,SAASE,EAAEL,GACT,OAAO,IAAMA,EAAE9nB,OAAS,KAAO8nB,EAAE,EACnC,CAEA,SAASb,EAAEa,GACT,GAAI,IAAMA,EAAE9nB,OAAQ,OAAO,KAC3B,IAAI+nB,EAAID,EAAE,GACNE,EAAIF,EAAElrB,MAEV,GAAIorB,IAAMD,EAAG,CACXD,EAAE,GAAKE,EAEPF,EAAG,IAAK,IAAIG,EAAI,EAAGhf,EAAI6e,EAAE9nB,OAAQooB,EAAInf,IAAM,EAAGgf,EAAIG,GAAI,CACpD,IAAIC,EAAI,GAAKJ,EAAI,GAAK,EAClBK,EAAIR,EAAEO,GACN7f,EAAI6f,EAAI,EACRE,EAAIT,EAAEtf,GACV,GAAI,EAAI0f,EAAEI,EAAGN,GAAIxf,EAAIS,GAAK,EAAIif,EAAEK,EAAGD,IAAMR,EAAEG,GAAKM,EAAGT,EAAEtf,GAAKwf,EAAGC,EAAIzf,IAAMsf,EAAEG,GAAKK,EAAGR,EAAEO,GAAKL,EAAGC,EAAII,OAAQ,MAAI7f,EAAIS,GAAK,EAAIif,EAAEK,EAAGP,IAAmC,MAAMF,EAArCA,EAAEG,GAAKM,EAAGT,EAAEtf,GAAKwf,EAAGC,EAAIzf,CAAc,CACzK,CACF,CAEA,OAAOuf,CACT,CAEA,SAASG,EAAEJ,EAAGC,GACZ,IAAIC,EAAIF,EAAEU,UAAYT,EAAES,UACxB,OAAO,IAAMR,EAAIA,EAAIF,EAAEvmB,GAAKwmB,EAAExmB,EAChC,CAEA,GAAI,kBAAoBvF,aAAe,oBAAsBA,YAAYqU,IAAK,CAC5E,IAAIoY,EAAIzsB,YAER0sB,EAAQC,aAAe,WACrB,OAAOF,EAAEpY,KACX,CACF,KAAO,CACL,IAAIuY,EAAIxY,KACJyY,EAAID,EAAEvY,MAEVqY,EAAQC,aAAe,WACrB,OAAOC,EAAEvY,MAAQwY,CACnB,CACF,CAEA,IAAIC,EAAI,GACJC,EAAI,GACJC,EAAI,EACJC,EAAI,KACJC,EAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,EAAI,oBAAsBxf,WAAaA,WAAa,KACpDyf,EAAI,oBAAsBC,aAAeA,aAAe,KACxDC,EAAI,qBAAuBC,aAAeA,aAAe,KAG7D,SAASC,EAAE7B,GACT,IAAK,IAAIC,EAAII,EAAEY,GAAI,OAAShB,GAAI,CAC9B,GAAI,OAASA,EAAE9Y,SAAUgY,EAAE8B,OAAQ,MAAIhB,EAAEjrB,WAAagrB,GAAsD,MAAnDb,EAAE8B,GAAIhB,EAAES,UAAYT,EAAE6B,eAAgB1gB,EAAE4f,EAAGf,EAAa,CACjHA,EAAII,EAAEY,EACR,CACF,CAEA,SAASc,EAAE/B,GAGT,GAFAuB,GAAI,EACJM,EAAE7B,IACGsB,EAAG,GAAI,OAASjB,EAAEW,GAAIM,GAAI,EAAIU,EAAEC,OAAQ,CAC3C,IAAIhC,EAAII,EAAEY,GACV,OAAShB,GAAKiC,EAAEH,EAAG9B,EAAEjrB,UAAYgrB,EACnC,CACF,CAEA,SAASiC,EAAEjC,EAAGC,GACZqB,GAAI,EACJC,IAAMA,GAAI,EAAIE,EAAEU,GAAIA,GAAK,GACzBd,GAAI,EACJ,IAAInB,EAAIkB,EAER,IAGE,IAFAS,EAAE5B,GAEGkB,EAAId,EAAEW,GAAI,OAASG,MAAQA,EAAEW,eAAiB7B,IAAMD,IAAMoC,MAAO,CACpE,IAAIjC,EAAIgB,EAAEha,SAEV,GAAI,oBAAsBgZ,EAAG,CAC3BgB,EAAEha,SAAW,KACbia,EAAID,EAAEkB,cACN,IAAIlhB,EAAIgf,EAAEgB,EAAEW,gBAAkB7B,GAC9BA,EAAIW,EAAQC,eACZ,oBAAsB1f,EAAIggB,EAAEha,SAAWhG,EAAIggB,IAAMd,EAAEW,IAAM7B,EAAE6B,GAC3Da,EAAE5B,EACJ,MAAOd,EAAE6B,GAETG,EAAId,EAAEW,EACR,CAEA,GAAI,OAASG,EAAG,IAAIb,GAAI,MAAQ,CAC9B,IAAIC,EAAIF,EAAEY,GACV,OAASV,GAAK2B,EAAEH,EAAGxB,EAAEvrB,UAAYirB,GACjCK,GAAI,CACN,CACA,OAAOA,CACT,CAAE,QACAa,EAAI,KAAMC,EAAIlB,EAAGmB,GAAI,CACvB,CACF,CAnDA,qBAAuBlpB,gBAAa,IAAWA,UAAUmqB,iBAAc,IAAWnqB,UAAUmqB,WAAWC,gBAAkBpqB,UAAUmqB,WAAWC,eAAe/G,KAAKrjB,UAAUmqB,YAqD5K,IAwBIE,EAxBAC,GAAI,EACJC,EAAI,KACJP,GAAK,EACLQ,EAAI,EACJC,GAAK,EAET,SAASR,IACP,QAAOxB,EAAQC,eAAiB+B,EAAID,EACtC,CAEA,SAASE,IACP,GAAI,OAASH,EAAG,CACd,IAAI1C,EAAIY,EAAQC,eAChB+B,EAAI5C,EACJ,IAAIC,GAAI,EAER,IACEA,EAAIyC,GAAE,EAAI1C,EACZ,CAAE,QACAC,EAAIuC,KAAOC,GAAI,EAAIC,EAAI,KACzB,CACF,MAAOD,GAAI,CACb,CAGA,GAAI,oBAAsBd,EAAGa,EAAI,WAC/Bb,EAAEkB,EACJ,OAAO,GAAI,qBAAuBC,eAAgB,CAChD,IAAIC,EAAI,IAAID,eACRE,EAAID,EAAEE,MACVF,EAAEG,MAAMC,UAAYN,EAEpBL,EAAI,WACFQ,EAAEI,YAAY,KAChB,CACF,MAAOZ,EAAI,WACThB,EAAEqB,EAAG,EACP,EAEA,SAASb,EAAEhC,GACT0C,EAAI1C,EACJyC,IAAMA,GAAI,EAAID,IAChB,CAEA,SAASN,EAAElC,EAAGC,GACZkC,EAAIX,GAAE,WACJxB,EAAEY,EAAQC,eACZ,GAAGZ,EACL,CAEAW,EAAQyC,sBAAwB,EAChCzC,EAAQ0C,2BAA6B,EACrC1C,EAAQ2C,qBAAuB,EAC/B3C,EAAQ4C,wBAA0B,EAClC5C,EAAQ6C,mBAAqB,KAC7B7C,EAAQ8C,8BAAgC,EAExC9C,EAAQ+C,wBAA0B,SAAU3D,GAC1CA,EAAE7Y,SAAW,IACf,EAEAyZ,EAAQgD,2BAA6B,WACnCtC,GAAKD,IAAMC,GAAI,EAAIU,EAAEC,GACvB,EAEArB,EAAQiD,wBAA0B,SAAU7D,GAC1C,EAAIA,GAAK,IAAMA,EAAIhK,QAAQxZ,MAAM,mHAAqHmmB,EAAI,EAAI3C,EAAIhoB,KAAKwQ,MAAM,IAAMwX,GAAK,CAC1L,EAEAY,EAAQkD,iCAAmC,WACzC,OAAO1C,CACT,EAEAR,EAAQmD,8BAAgC,WACtC,OAAO1D,EAAEW,EACX,EAEAJ,EAAQoD,cAAgB,SAAUhE,GAChC,OAAQoB,GACN,KAAK,EACL,KAAK,EACL,KAAK,EACH,IAAInB,EAAI,EACR,MAEF,QACEA,EAAImB,EAGR,IAAIlB,EAAIkB,EACRA,EAAInB,EAEJ,IACE,OAAOD,GACT,CAAE,QACAoB,EAAIlB,CACN,CACF,EAEAU,EAAQqD,wBAA0B,WAAa,EAE/CrD,EAAQsD,sBAAwB,WAAa,EAE7CtD,EAAQuD,yBAA2B,SAAUnE,EAAGC,GAC9C,OAAQD,GACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACH,MAEF,QACEA,EAAI,EAGR,IAAIE,EAAIkB,EACRA,EAAIpB,EAEJ,IACE,OAAOC,GACT,CAAE,QACAmB,EAAIlB,CACN,CACF,EAEAU,EAAQwD,0BAA4B,SAAUpE,EAAGC,EAAGC,GAClD,IAAIC,EAAIS,EAAQC,eAGhB,OAFA,kBAAoBX,GAAK,OAASA,EAAkBA,EAAI,kBAAjBA,EAAIA,EAAEmE,QAAoC,EAAInE,EAAIC,EAAID,EAAIC,EAAKD,EAAIC,EAElGH,GACN,KAAK,EACH,IAAI7e,GAAK,EACT,MAEF,KAAK,EACHA,EAAI,IACJ,MAEF,KAAK,EACHA,EAAI,WACJ,MAEF,KAAK,EACHA,EAAI,IACJ,MAEF,QACEA,EAAI,IAaR,OATA6e,EAAI,CACFvmB,GAAIynB,IACJ/Z,SAAU8Y,EACVoC,cAAerC,EACfhrB,UAAWkrB,EACX4B,eANF3gB,EAAI+e,EAAI/e,EAONuf,WAAY,GAEdR,EAAIC,GAAKH,EAAEU,UAAYR,EAAG9e,EAAE6f,EAAGjB,GAAI,OAASK,EAAEW,IAAMhB,IAAMK,EAAEY,KAAOM,GAAKE,EAAEU,GAAIA,GAAK,GAAKZ,GAAI,EAAIW,EAAEH,EAAG7B,EAAIC,MAAQH,EAAEU,UAAYvf,EAAGC,EAAE4f,EAAGhB,GAAIsB,GAAKD,IAAMC,GAAI,EAAIU,EAAEC,KACzJjC,CACT,EAEAY,EAAQ0D,qBAAuBlC,EAE/BxB,EAAQ2D,sBAAwB,SAAUvE,GACxC,IAAIC,EAAImB,EACR,OAAO,WACL,IAAIlB,EAAIkB,EACRA,EAAInB,EAEJ,IACE,OAAOD,EAAEjhB,MAAMqE,KAAMnB,UACvB,CAAE,QACAmf,EAAIlB,CACN,CACF,CACF,yBCjTEsE,EAAO5D,QAAU,EAAjB","sources":["../node_modules/@sentry-internal/tracing/esm/browser/metrics/utils.js","../node_modules/@sentry-internal/tracing/esm/browser/metrics/index.js","../node_modules/@sentry-internal/tracing/esm/browser/request.js","../node_modules/@sentry-internal/tracing/esm/browser/browsertracing.js","../node_modules/@sentry-internal/tracing/esm/browser/router.js","../node_modules/@sentry-internal/tracing/esm/browser/backgroundtab.js","../node_modules/@sentry-internal/tracing/esm/browser/instrument.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/bindReporter.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getNavigationEntry.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getActivationStart.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/initMetric.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/generateUniqueID.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/observe.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getCLS.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getFID.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getLCP.js","../node_modules/@sentry-internal/tracing/esm/browser/types.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getVisibilityWatcher.js","../node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/onHidden.js","../node_modules/@sentry/browser/esm/eventbuilder.js","../node_modules/@sentry/browser/esm/helpers.js","../node_modules/@sentry/browser/esm/userfeedback.js","../node_modules/@sentry/browser/esm/client.js","../node_modules/@sentry/browser/esm/integrations/globalhandlers.js","../node_modules/@sentry/browser/esm/integrations/trycatch.js","../node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","../node_modules/@sentry/browser/esm/integrations/linkederrors.js","../node_modules/@sentry/browser/esm/integrations/httpcontext.js","../node_modules/@sentry/browser/esm/integrations/dedupe.js","../node_modules/@sentry/browser/esm/stack-parsers.js","../node_modules/@sentry/browser/esm/transports/utils.js","../node_modules/@sentry/browser/esm/transports/fetch.js","../node_modules/@sentry/browser/esm/transports/xhr.js","../node_modules/@sentry/browser/esm/sdk.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js"],"sourcesContent":["import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _objectWithoutProperties from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nvar _excluded = [\"startTimestamp\"];\n\n/**\n * Checks if a given value is a valid measurement value.\n */\nfunction isMeasurementValue(value) {\n return typeof value === 'number' && isFinite(value);\n}\n/**\n * Helper function to start child on transactions. This function will make sure that the transaction will\n * use the start timestamp of the created child span if it is earlier than the transactions actual\n * start timestamp.\n */\n\n\nfunction _startChild(transaction, _ref) {\n var startTimestamp = _ref.startTimestamp,\n ctx = _objectWithoutProperties(_ref, _excluded);\n\n if (startTimestamp && transaction.startTimestamp > startTimestamp) {\n transaction.startTimestamp = startTimestamp;\n }\n\n return transaction.startChild(_objectSpread({\n startTimestamp: startTimestamp\n }, ctx));\n}\n\nexport { _startChild, isMeasurementValue };","import _createForOfIteratorHelper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\";\nimport { getActiveTransaction } from '@sentry/core';\nimport { browserPerformanceTimeOrigin, htmlTreeAsString, logger } from '@sentry/utils';\nimport { addPerformanceInstrumentationHandler, addClsInstrumentationHandler, addLcpInstrumentationHandler, addFidInstrumentationHandler } from '../instrument.js';\nimport { WINDOW } from '../types.js';\nimport { getVisibilityWatcher } from '../web-vitals/lib/getVisibilityWatcher.js';\nimport { _startChild, isMeasurementValue } from './utils.js';\n/**\n * Converts from milliseconds to seconds\n * @param time time in ms\n */\n\nfunction msToSec(time) {\n return time / 1000;\n}\n\nfunction getBrowserPerformanceAPI() {\n // @ts-expect-error we want to make sure all of these are available, even if TS is sure they are\n return WINDOW && WINDOW.addEventListener && WINDOW.performance;\n}\n\nvar _performanceCursor = 0;\nvar _measurements = {};\n\nvar _lcpEntry;\n\nvar _clsEntry;\n/**\n * Start tracking web vitals\n *\n * @returns A function that forces web vitals collection\n */\n\n\nfunction startTrackingWebVitals() {\n var performance = getBrowserPerformanceAPI();\n\n if (performance && browserPerformanceTimeOrigin) {\n // @ts-expect-error we want to make sure all of these are available, even if TS is sure they are\n if (performance.mark) {\n WINDOW.performance.mark('sentry-tracing-init');\n }\n\n var fidCallback = _trackFID();\n\n var clsCallback = _trackCLS();\n\n var lcpCallback = _trackLCP();\n\n return function () {\n fidCallback();\n clsCallback();\n lcpCallback();\n };\n }\n\n return function () {\n return undefined;\n };\n}\n/**\n * Start tracking long tasks.\n */\n\n\nfunction startTrackingLongTasks() {\n addPerformanceInstrumentationHandler('longtask', function (_ref) {\n var entries = _ref.entries;\n\n var _iterator = _createForOfIteratorHelper(entries),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n var transaction = getActiveTransaction();\n\n if (!transaction) {\n return;\n }\n\n var startTime = msToSec(browserPerformanceTimeOrigin + entry.startTime);\n var duration = msToSec(entry.duration);\n transaction.startChild({\n description: 'Main UI thread blocked',\n op: 'ui.long-task',\n origin: 'auto.ui.browser.metrics',\n startTimestamp: startTime,\n endTimestamp: startTime + duration\n });\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n}\n/**\n * Start tracking interaction events.\n */\n\n\nfunction startTrackingInteractions() {\n addPerformanceInstrumentationHandler('event', function (_ref2) {\n var entries = _ref2.entries;\n\n var _iterator2 = _createForOfIteratorHelper(entries),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var entry = _step2.value;\n var transaction = getActiveTransaction();\n\n if (!transaction) {\n return;\n }\n\n if (entry.name === 'click') {\n var startTime = msToSec(browserPerformanceTimeOrigin + entry.startTime);\n var duration = msToSec(entry.duration);\n transaction.startChild({\n description: htmlTreeAsString(entry.target),\n op: \"ui.interaction.\".concat(entry.name),\n origin: 'auto.ui.browser.metrics',\n startTimestamp: startTime,\n endTimestamp: startTime + duration\n });\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n}\n/** Starts tracking the Cumulative Layout Shift on the current page. */\n\n\nfunction _trackCLS() {\n return addClsInstrumentationHandler(function (_ref3) {\n var metric = _ref3.metric;\n var entry = metric.entries.pop();\n\n if (!entry) {\n return;\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Measurements] Adding CLS');\n _measurements['cls'] = {\n value: metric.value,\n unit: ''\n };\n _clsEntry = entry;\n });\n}\n/** Starts tracking the Largest Contentful Paint on the current page. */\n\n\nfunction _trackLCP() {\n return addLcpInstrumentationHandler(function (_ref4) {\n var metric = _ref4.metric;\n var entry = metric.entries.pop();\n\n if (!entry) {\n return;\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Measurements] Adding LCP');\n _measurements['lcp'] = {\n value: metric.value,\n unit: 'millisecond'\n };\n _lcpEntry = entry;\n });\n}\n/** Starts tracking the First Input Delay on the current page. */\n\n\nfunction _trackFID() {\n return addFidInstrumentationHandler(function (_ref5) {\n var metric = _ref5.metric;\n var entry = metric.entries.pop();\n\n if (!entry) {\n return;\n }\n\n var timeOrigin = msToSec(browserPerformanceTimeOrigin);\n var startTime = msToSec(entry.startTime);\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Measurements] Adding FID');\n _measurements['fid'] = {\n value: metric.value,\n unit: 'millisecond'\n };\n _measurements['mark.fid'] = {\n value: timeOrigin + startTime,\n unit: 'second'\n };\n });\n}\n/** Add performance related spans to a transaction */\n\n\nfunction addPerformanceEntries(transaction) {\n var performance = getBrowserPerformanceAPI();\n\n if (!performance || !WINDOW.performance.getEntries || !browserPerformanceTimeOrigin) {\n // Gatekeeper if performance API not available\n return;\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Tracing] Adding & adjusting spans using Performance API');\n var timeOrigin = msToSec(browserPerformanceTimeOrigin);\n var performanceEntries = performance.getEntries();\n var responseStartTimestamp;\n var requestStartTimestamp; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n performanceEntries.slice(_performanceCursor).forEach(function (entry) {\n var startTime = msToSec(entry.startTime);\n var duration = msToSec(entry.duration);\n\n if (transaction.op === 'navigation' && timeOrigin + startTime < transaction.startTimestamp) {\n return;\n }\n\n switch (entry.entryType) {\n case 'navigation':\n {\n _addNavigationSpans(transaction, entry, timeOrigin);\n\n responseStartTimestamp = timeOrigin + msToSec(entry.responseStart);\n requestStartTimestamp = timeOrigin + msToSec(entry.requestStart);\n break;\n }\n\n case 'mark':\n case 'paint':\n case 'measure':\n {\n _addMeasureSpans(transaction, entry, startTime, duration, timeOrigin); // capture web vitals\n\n\n var firstHidden = getVisibilityWatcher(); // Only report if the page wasn't hidden prior to the web vital.\n\n var shouldRecord = entry.startTime < firstHidden.firstHiddenTime;\n\n if (entry.name === 'first-paint' && shouldRecord) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Measurements] Adding FP');\n _measurements['fp'] = {\n value: entry.startTime,\n unit: 'millisecond'\n };\n }\n\n if (entry.name === 'first-contentful-paint' && shouldRecord) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Measurements] Adding FCP');\n _measurements['fcp'] = {\n value: entry.startTime,\n unit: 'millisecond'\n };\n }\n\n break;\n }\n\n case 'resource':\n {\n var resourceName = entry.name.replace(WINDOW.location.origin, '');\n\n _addResourceSpans(transaction, entry, resourceName, startTime, duration, timeOrigin);\n\n break;\n }\n // Ignore other entry types.\n }\n });\n _performanceCursor = Math.max(performanceEntries.length - 1, 0);\n\n _trackNavigator(transaction); // Measurements are only available for pageload transactions\n\n\n if (transaction.op === 'pageload') {\n // Generate TTFB (Time to First Byte), which measured as the time between the beginning of the transaction and the\n // start of the response in milliseconds\n if (typeof responseStartTimestamp === 'number') {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Measurements] Adding TTFB');\n _measurements['ttfb'] = {\n value: (responseStartTimestamp - transaction.startTimestamp) * 1000,\n unit: 'millisecond'\n };\n\n if (typeof requestStartTimestamp === 'number' && requestStartTimestamp <= responseStartTimestamp) {\n // Capture the time spent making the request and receiving the first byte of the response.\n // This is the time between the start of the request and the start of the response in milliseconds.\n _measurements['ttfb.requestTime'] = {\n value: (responseStartTimestamp - requestStartTimestamp) * 1000,\n unit: 'millisecond'\n };\n }\n }\n\n ['fcp', 'fp', 'lcp'].forEach(function (name) {\n if (!_measurements[name] || timeOrigin >= transaction.startTimestamp) {\n return;\n } // The web vitals, fcp, fp, lcp, and ttfb, all measure relative to timeOrigin.\n // Unfortunately, timeOrigin is not captured within the transaction span data, so these web vitals will need\n // to be adjusted to be relative to transaction.startTimestamp.\n\n\n var oldValue = _measurements[name].value;\n var measurementTimestamp = timeOrigin + msToSec(oldValue); // normalizedValue should be in milliseconds\n\n var normalizedValue = Math.abs((measurementTimestamp - transaction.startTimestamp) * 1000);\n var delta = normalizedValue - oldValue;\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Measurements] Normalized \".concat(name, \" from \").concat(oldValue, \" to \").concat(normalizedValue, \" (\").concat(delta, \")\"));\n _measurements[name].value = normalizedValue;\n });\n var fidMark = _measurements['mark.fid'];\n\n if (fidMark && _measurements['fid']) {\n // create span for FID\n _startChild(transaction, {\n description: 'first input delay',\n endTimestamp: fidMark.value + msToSec(_measurements['fid'].value),\n op: 'ui.action',\n origin: 'auto.ui.browser.metrics',\n startTimestamp: fidMark.value\n }); // Delete mark.fid as we don't want it to be part of final payload\n\n\n delete _measurements['mark.fid'];\n } // If FCP is not recorded we should not record the cls value\n // according to the new definition of CLS.\n\n\n if (!('fcp' in _measurements)) {\n delete _measurements.cls;\n }\n\n Object.keys(_measurements).forEach(function (measurementName) {\n transaction.setMeasurement(measurementName, _measurements[measurementName].value, _measurements[measurementName].unit);\n });\n\n _tagMetricInfo(transaction);\n }\n\n _lcpEntry = undefined;\n _clsEntry = undefined;\n _measurements = {};\n}\n/** Create measure related spans */\n\n\nfunction _addMeasureSpans(transaction, // eslint-disable-next-line @typescript-eslint/no-explicit-any\nentry, startTime, duration, timeOrigin) {\n var measureStartTimestamp = timeOrigin + startTime;\n var measureEndTimestamp = measureStartTimestamp + duration;\n\n _startChild(transaction, {\n description: entry.name,\n endTimestamp: measureEndTimestamp,\n op: entry.entryType,\n origin: 'auto.resource.browser.metrics',\n startTimestamp: measureStartTimestamp\n });\n\n return measureStartTimestamp;\n}\n/** Instrument navigation entries */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction _addNavigationSpans(transaction, entry, timeOrigin) {\n ['unloadEvent', 'redirect', 'domContentLoadedEvent', 'loadEvent', 'connect'].forEach(function (event) {\n _addPerformanceNavigationTiming(transaction, entry, event, timeOrigin);\n });\n\n _addPerformanceNavigationTiming(transaction, entry, 'secureConnection', timeOrigin, 'TLS/SSL', 'connectEnd');\n\n _addPerformanceNavigationTiming(transaction, entry, 'fetch', timeOrigin, 'cache', 'domainLookupStart');\n\n _addPerformanceNavigationTiming(transaction, entry, 'domainLookup', timeOrigin, 'DNS');\n\n _addRequest(transaction, entry, timeOrigin);\n}\n/** Create performance navigation related spans */\n\n\nfunction _addPerformanceNavigationTiming(transaction, // eslint-disable-next-line @typescript-eslint/no-explicit-any\nentry, event, timeOrigin, description, eventEnd) {\n var end = eventEnd ? entry[eventEnd] : entry[\"\".concat(event, \"End\")];\n var start = entry[\"\".concat(event, \"Start\")];\n\n if (!start || !end) {\n return;\n }\n\n _startChild(transaction, {\n op: 'browser',\n origin: 'auto.browser.browser.metrics',\n description: description || event,\n startTimestamp: timeOrigin + msToSec(start),\n endTimestamp: timeOrigin + msToSec(end)\n });\n}\n/** Create request and response related spans */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction _addRequest(transaction, entry, timeOrigin) {\n _startChild(transaction, {\n op: 'browser',\n origin: 'auto.browser.browser.metrics',\n description: 'request',\n startTimestamp: timeOrigin + msToSec(entry.requestStart),\n endTimestamp: timeOrigin + msToSec(entry.responseEnd)\n });\n\n _startChild(transaction, {\n op: 'browser',\n origin: 'auto.browser.browser.metrics',\n description: 'response',\n startTimestamp: timeOrigin + msToSec(entry.responseStart),\n endTimestamp: timeOrigin + msToSec(entry.responseEnd)\n });\n}\n/** Create resource-related spans */\n\n\nfunction _addResourceSpans(transaction, entry, resourceName, startTime, duration, timeOrigin) {\n // we already instrument based on fetch and xhr, so we don't need to\n // duplicate spans here.\n if (entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch') {\n return;\n } // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\n var data = {};\n\n if ('transferSize' in entry) {\n data['http.response_transfer_size'] = entry.transferSize;\n }\n\n if ('encodedBodySize' in entry) {\n data['http.response_content_length'] = entry.encodedBodySize;\n }\n\n if ('decodedBodySize' in entry) {\n data['http.decoded_response_content_length'] = entry.decodedBodySize;\n }\n\n if ('renderBlockingStatus' in entry) {\n data['resource.render_blocking_status'] = entry.renderBlockingStatus;\n }\n\n var startTimestamp = timeOrigin + startTime;\n var endTimestamp = startTimestamp + duration;\n\n _startChild(transaction, {\n description: resourceName,\n endTimestamp: endTimestamp,\n op: entry.initiatorType ? \"resource.\".concat(entry.initiatorType) : 'resource.other',\n origin: 'auto.resource.browser.metrics',\n startTimestamp: startTimestamp,\n data: data\n });\n}\n/**\n * Capture the information of the user agent.\n */\n\n\nfunction _trackNavigator(transaction) {\n var navigator = WINDOW.navigator;\n\n if (!navigator) {\n return;\n } // track network connectivity\n\n\n var connection = navigator.connection;\n\n if (connection) {\n if (connection.effectiveType) {\n transaction.setTag('effectiveConnectionType', connection.effectiveType);\n }\n\n if (connection.type) {\n transaction.setTag('connectionType', connection.type);\n }\n\n if (isMeasurementValue(connection.rtt)) {\n _measurements['connection.rtt'] = {\n value: connection.rtt,\n unit: 'millisecond'\n };\n }\n }\n\n if (isMeasurementValue(navigator.deviceMemory)) {\n transaction.setTag('deviceMemory', \"\".concat(navigator.deviceMemory, \" GB\"));\n }\n\n if (isMeasurementValue(navigator.hardwareConcurrency)) {\n transaction.setTag('hardwareConcurrency', String(navigator.hardwareConcurrency));\n }\n}\n/** Add LCP / CLS data to transaction to allow debugging */\n\n\nfunction _tagMetricInfo(transaction) {\n if (_lcpEntry) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Measurements] Adding LCP Data'); // Capture Properties of the LCP element that contributes to the LCP.\n\n if (_lcpEntry.element) {\n transaction.setTag('lcp.element', htmlTreeAsString(_lcpEntry.element));\n }\n\n if (_lcpEntry.id) {\n transaction.setTag('lcp.id', _lcpEntry.id);\n }\n\n if (_lcpEntry.url) {\n // Trim URL to the first 200 characters.\n transaction.setTag('lcp.url', _lcpEntry.url.trim().slice(0, 200));\n }\n\n transaction.setTag('lcp.size', _lcpEntry.size);\n } // See: https://developer.mozilla.org/en-US/docs/Web/API/LayoutShift\n\n\n if (_clsEntry && _clsEntry.sources) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('[Measurements] Adding CLS Data');\n\n _clsEntry.sources.forEach(function (source, index) {\n return transaction.setTag(\"cls.source.\".concat(index + 1), htmlTreeAsString(source.node));\n });\n }\n}\n\nexport { _addMeasureSpans, _addResourceSpans, addPerformanceEntries, startTrackingInteractions, startTrackingLongTasks, startTrackingWebVitals };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _createForOfIteratorHelper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\";\nimport _toConsumableArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { hasTracingEnabled, getCurrentHub, getDynamicSamplingContextFromClient } from '@sentry/core';\nimport { addInstrumentationHandler, generateSentryTraceHeader, dynamicSamplingContextToSentryBaggageHeader, isInstanceOf, BAGGAGE_HEADER_NAME, SENTRY_XHR_DATA_KEY, browserPerformanceTimeOrigin, stringMatchesSomePattern } from '@sentry/utils';\nimport { addPerformanceInstrumentationHandler } from './instrument.js';\n/* eslint-disable max-lines */\n\nvar DEFAULT_TRACE_PROPAGATION_TARGETS = ['localhost', /^\\/(?!\\/)/];\n/** Options for Request Instrumentation */\n\nvar defaultRequestInstrumentationOptions = {\n traceFetch: true,\n traceXHR: true,\n enableHTTPTimings: true,\n // TODO (v8): Remove this property\n tracingOrigins: DEFAULT_TRACE_PROPAGATION_TARGETS,\n tracePropagationTargets: DEFAULT_TRACE_PROPAGATION_TARGETS\n};\n/** Registers span creators for xhr and fetch requests */\n\nfunction instrumentOutgoingRequests(_options) {\n var _traceFetch$traceXHR$ = _objectSpread({\n traceFetch: defaultRequestInstrumentationOptions.traceFetch,\n traceXHR: defaultRequestInstrumentationOptions.traceXHR\n }, _options),\n traceFetch = _traceFetch$traceXHR$.traceFetch,\n traceXHR = _traceFetch$traceXHR$.traceXHR,\n tracePropagationTargets = _traceFetch$traceXHR$.tracePropagationTargets,\n tracingOrigins = _traceFetch$traceXHR$.tracingOrigins,\n shouldCreateSpanForRequest = _traceFetch$traceXHR$.shouldCreateSpanForRequest,\n enableHTTPTimings = _traceFetch$traceXHR$.enableHTTPTimings;\n\n var shouldCreateSpan = typeof shouldCreateSpanForRequest === 'function' ? shouldCreateSpanForRequest : function (_) {\n return true;\n }; // TODO(v8) Remove tracingOrigins here\n // The only reason we're passing it in here is because this instrumentOutgoingRequests function is publicly exported\n // and we don't want to break the API. We can remove it in v8.\n\n var shouldAttachHeadersWithTargets = function shouldAttachHeadersWithTargets(url) {\n return shouldAttachHeaders(url, tracePropagationTargets || tracingOrigins);\n };\n\n var spans = {};\n\n if (traceFetch) {\n addInstrumentationHandler('fetch', function (handlerData) {\n var createdSpan = fetchCallback(handlerData, shouldCreateSpan, shouldAttachHeadersWithTargets, spans);\n\n if (enableHTTPTimings && createdSpan) {\n addHTTPTimings(createdSpan);\n }\n });\n }\n\n if (traceXHR) {\n addInstrumentationHandler('xhr', function (handlerData) {\n var createdSpan = xhrCallback(handlerData, shouldCreateSpan, shouldAttachHeadersWithTargets, spans);\n\n if (enableHTTPTimings && createdSpan) {\n addHTTPTimings(createdSpan);\n }\n });\n }\n}\n\nfunction isPerformanceResourceTiming(entry) {\n return entry.entryType === 'resource' && 'initiatorType' in entry && typeof entry.nextHopProtocol === 'string' && (entry.initiatorType === 'fetch' || entry.initiatorType === 'xmlhttprequest');\n}\n/**\n * Creates a temporary observer to listen to the next fetch/xhr resourcing timings,\n * so that when timings hit their per-browser limit they don't need to be removed.\n *\n * @param span A span that has yet to be finished, must contain `url` on data.\n */\n\n\nfunction addHTTPTimings(span) {\n var url = span.data.url;\n\n if (!url) {\n return;\n }\n\n var cleanup = addPerformanceInstrumentationHandler('resource', function (_ref) {\n var entries = _ref.entries;\n entries.forEach(function (entry) {\n if (isPerformanceResourceTiming(entry) && entry.name.endsWith(url)) {\n var spanData = resourceTimingEntryToSpanData(entry);\n spanData.forEach(function (data) {\n return span.setData.apply(span, _toConsumableArray(data));\n }); // In the next tick, clean this handler up\n // We have to wait here because otherwise this cleans itself up before it is fully done\n\n setTimeout(cleanup);\n }\n });\n });\n}\n/**\n * Converts ALPN protocol ids to name and version.\n *\n * (https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)\n * @param nextHopProtocol PerformanceResourceTiming.nextHopProtocol\n */\n\n\nfunction extractNetworkProtocol(nextHopProtocol) {\n var name = 'unknown';\n var version = 'unknown';\n var _name = '';\n\n var _iterator = _createForOfIteratorHelper(nextHopProtocol),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var char = _step.value;\n\n // http/1.1 etc.\n if (char === '/') {\n var _nextHopProtocol$spli = nextHopProtocol.split('/');\n\n var _nextHopProtocol$spli2 = _slicedToArray(_nextHopProtocol$spli, 2);\n\n name = _nextHopProtocol$spli2[0];\n version = _nextHopProtocol$spli2[1];\n break;\n } // h2, h3 etc.\n\n\n if (!isNaN(Number(char))) {\n name = _name === 'h' ? 'http' : _name;\n version = nextHopProtocol.split(_name)[1];\n break;\n }\n\n _name += char;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (_name === nextHopProtocol) {\n // webrtc, ftp, etc.\n name = _name;\n }\n\n return {\n name: name,\n version: version\n };\n}\n\nfunction getAbsoluteTime() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n return ((browserPerformanceTimeOrigin || performance.timeOrigin) + time) / 1000;\n}\n\nfunction resourceTimingEntryToSpanData(resourceTiming) {\n var _extractNetworkProtoc = extractNetworkProtocol(resourceTiming.nextHopProtocol),\n name = _extractNetworkProtoc.name,\n version = _extractNetworkProtoc.version;\n\n var timingSpanData = [];\n timingSpanData.push(['network.protocol.version', version], ['network.protocol.name', name]);\n\n if (!browserPerformanceTimeOrigin) {\n return timingSpanData;\n }\n\n return [].concat(timingSpanData, [['http.request.redirect_start', getAbsoluteTime(resourceTiming.redirectStart)], ['http.request.fetch_start', getAbsoluteTime(resourceTiming.fetchStart)], ['http.request.domain_lookup_start', getAbsoluteTime(resourceTiming.domainLookupStart)], ['http.request.domain_lookup_end', getAbsoluteTime(resourceTiming.domainLookupEnd)], ['http.request.connect_start', getAbsoluteTime(resourceTiming.connectStart)], ['http.request.secure_connection_start', getAbsoluteTime(resourceTiming.secureConnectionStart)], ['http.request.connection_end', getAbsoluteTime(resourceTiming.connectEnd)], ['http.request.request_start', getAbsoluteTime(resourceTiming.requestStart)], ['http.request.response_start', getAbsoluteTime(resourceTiming.responseStart)], ['http.request.response_end', getAbsoluteTime(resourceTiming.responseEnd)]]);\n}\n/**\n * A function that determines whether to attach tracing headers to a request.\n * This was extracted from `instrumentOutgoingRequests` to make it easier to test shouldAttachHeaders.\n * We only export this fuction for testing purposes.\n */\n\n\nfunction shouldAttachHeaders(url, tracePropagationTargets) {\n return stringMatchesSomePattern(url, tracePropagationTargets || DEFAULT_TRACE_PROPAGATION_TARGETS);\n}\n/**\n * Create and track fetch request spans\n *\n * @returns Span if a span was created, otherwise void.\n */\n\n\nfunction fetchCallback(handlerData, shouldCreateSpan, shouldAttachHeaders, spans) {\n if (!hasTracingEnabled() || !handlerData.fetchData) {\n return undefined;\n }\n\n var shouldCreateSpanResult = shouldCreateSpan(handlerData.fetchData.url);\n\n if (handlerData.endTimestamp && shouldCreateSpanResult) {\n var spanId = handlerData.fetchData.__span;\n if (!spanId) return;\n var _span = spans[spanId];\n\n if (_span) {\n if (handlerData.response) {\n // TODO (kmclb) remove this once types PR goes through\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n _span.setHttpStatus(handlerData.response.status);\n\n var contentLength = // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n handlerData.response && handlerData.response.headers && handlerData.response.headers.get('content-length');\n var contentLengthNum = parseInt(contentLength);\n\n if (contentLengthNum > 0) {\n _span.setData('http.response_content_length', contentLengthNum);\n }\n } else if (handlerData.error) {\n _span.setStatus('internal_error');\n }\n\n _span.finish(); // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\n\n delete spans[spanId];\n }\n\n return undefined;\n }\n\n var hub = getCurrentHub();\n var scope = hub.getScope();\n var client = hub.getClient();\n var parentSpan = scope.getSpan();\n var _handlerData$fetchDat = handlerData.fetchData,\n method = _handlerData$fetchDat.method,\n url = _handlerData$fetchDat.url;\n var span = shouldCreateSpanResult && parentSpan ? parentSpan.startChild({\n data: {\n url: url,\n type: 'fetch',\n 'http.method': method\n },\n description: \"\".concat(method, \" \").concat(url),\n op: 'http.client',\n origin: 'auto.http.browser'\n }) : undefined;\n\n if (span) {\n handlerData.fetchData.__span = span.spanId;\n spans[span.spanId] = span;\n }\n\n if (shouldAttachHeaders(handlerData.fetchData.url) && client) {\n var request = handlerData.args[0]; // In case the user hasn't set the second argument of a fetch call we default it to `{}`.\n\n handlerData.args[1] = handlerData.args[1] || {}; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n var options = handlerData.args[1]; // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\n options.headers = addTracingHeadersToFetchRequest(request, client, scope, options, span);\n }\n\n return span;\n}\n/**\n * Adds sentry-trace and baggage headers to the various forms of fetch headers\n */\n\n\nfunction addTracingHeadersToFetchRequest(request, // unknown is actually type Request but we can't export DOM types from this package,\nclient, scope, options, requestSpan) {\n var span = requestSpan || scope.getSpan();\n var transaction = span && span.transaction;\n\n var _scope$getPropagation = scope.getPropagationContext(),\n traceId = _scope$getPropagation.traceId,\n sampled = _scope$getPropagation.sampled,\n dsc = _scope$getPropagation.dsc;\n\n var sentryTraceHeader = span ? span.toTraceparent() : generateSentryTraceHeader(traceId, undefined, sampled);\n var dynamicSamplingContext = transaction ? transaction.getDynamicSamplingContext() : dsc ? dsc : getDynamicSamplingContextFromClient(traceId, client, scope);\n var sentryBaggageHeader = dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext);\n var headers = typeof Request !== 'undefined' && isInstanceOf(request, Request) ? request.headers : options.headers;\n\n if (!headers) {\n return {\n 'sentry-trace': sentryTraceHeader,\n baggage: sentryBaggageHeader\n };\n } else if (typeof Headers !== 'undefined' && isInstanceOf(headers, Headers)) {\n var newHeaders = new Headers(headers);\n newHeaders.append('sentry-trace', sentryTraceHeader);\n\n if (sentryBaggageHeader) {\n // If the same header is appended multiple times the browser will merge the values into a single request header.\n // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n newHeaders.append(BAGGAGE_HEADER_NAME, sentryBaggageHeader);\n }\n\n return newHeaders;\n } else if (Array.isArray(headers)) {\n var _newHeaders = [].concat(_toConsumableArray(headers), [['sentry-trace', sentryTraceHeader]]);\n\n if (sentryBaggageHeader) {\n // If there are multiple entries with the same key, the browser will merge the values into a single request header.\n // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n _newHeaders.push([BAGGAGE_HEADER_NAME, sentryBaggageHeader]);\n }\n\n return _newHeaders;\n } else {\n var existingBaggageHeader = 'baggage' in headers ? headers.baggage : undefined;\n var newBaggageHeaders = [];\n\n if (Array.isArray(existingBaggageHeader)) {\n newBaggageHeaders.push.apply(newBaggageHeaders, _toConsumableArray(existingBaggageHeader));\n } else if (existingBaggageHeader) {\n newBaggageHeaders.push(existingBaggageHeader);\n }\n\n if (sentryBaggageHeader) {\n newBaggageHeaders.push(sentryBaggageHeader);\n }\n\n return _objectSpread(_objectSpread({}, headers), {}, {\n 'sentry-trace': sentryTraceHeader,\n baggage: newBaggageHeaders.length > 0 ? newBaggageHeaders.join(',') : undefined\n });\n }\n}\n/**\n * Create and track xhr request spans\n *\n * @returns Span if a span was created, otherwise void.\n */\n// eslint-disable-next-line complexity\n\n\nfunction xhrCallback(handlerData, shouldCreateSpan, shouldAttachHeaders, spans) {\n var xhr = handlerData.xhr;\n var sentryXhrData = xhr && xhr[SENTRY_XHR_DATA_KEY];\n\n if (!hasTracingEnabled() || xhr && xhr.__sentry_own_request__ || !xhr || !sentryXhrData) {\n return undefined;\n }\n\n var shouldCreateSpanResult = shouldCreateSpan(sentryXhrData.url); // check first if the request has finished and is tracked by an existing span which should now end\n\n if (handlerData.endTimestamp && shouldCreateSpanResult) {\n var spanId = xhr.__sentry_xhr_span_id__;\n if (!spanId) return;\n var _span2 = spans[spanId];\n\n if (_span2) {\n _span2.setHttpStatus(sentryXhrData.status_code);\n\n _span2.finish(); // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\n\n delete spans[spanId];\n }\n\n return undefined;\n }\n\n var hub = getCurrentHub();\n var scope = hub.getScope();\n var parentSpan = scope.getSpan();\n var span = shouldCreateSpanResult && parentSpan ? parentSpan.startChild({\n data: _objectSpread(_objectSpread({}, sentryXhrData.data), {}, {\n type: 'xhr',\n 'http.method': sentryXhrData.method,\n url: sentryXhrData.url\n }),\n description: \"\".concat(sentryXhrData.method, \" \").concat(sentryXhrData.url),\n op: 'http.client',\n origin: 'auto.http.browser'\n }) : undefined;\n\n if (span) {\n xhr.__sentry_xhr_span_id__ = span.spanId;\n spans[xhr.__sentry_xhr_span_id__] = span;\n }\n\n if (xhr.setRequestHeader && shouldAttachHeaders(sentryXhrData.url)) {\n if (span) {\n var transaction = span && span.transaction;\n var dynamicSamplingContext = transaction && transaction.getDynamicSamplingContext();\n var sentryBaggageHeader = dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext);\n setHeaderOnXhr(xhr, span.toTraceparent(), sentryBaggageHeader);\n } else {\n var client = hub.getClient();\n\n var _scope$getPropagation2 = scope.getPropagationContext(),\n traceId = _scope$getPropagation2.traceId,\n sampled = _scope$getPropagation2.sampled,\n dsc = _scope$getPropagation2.dsc;\n\n var sentryTraceHeader = generateSentryTraceHeader(traceId, undefined, sampled);\n\n var _dynamicSamplingContext = dsc || (client ? getDynamicSamplingContextFromClient(traceId, client, scope) : undefined);\n\n var _sentryBaggageHeader = dynamicSamplingContextToSentryBaggageHeader(_dynamicSamplingContext);\n\n setHeaderOnXhr(xhr, sentryTraceHeader, _sentryBaggageHeader);\n }\n }\n\n return span;\n}\n\nfunction setHeaderOnXhr(xhr, sentryTraceHeader, sentryBaggageHeader) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n xhr.setRequestHeader('sentry-trace', sentryTraceHeader);\n\n if (sentryBaggageHeader) {\n // From MDN: \"If this method is called several times with the same header, the values are merged into one single request header.\"\n // We can therefore simply set a baggage header without checking what was there before\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n xhr.setRequestHeader(BAGGAGE_HEADER_NAME, sentryBaggageHeader);\n }\n } catch (_) {// Error: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.\n }\n}\n\nexport { DEFAULT_TRACE_PROPAGATION_TARGETS, addTracingHeadersToFetchRequest, defaultRequestInstrumentationOptions, extractNetworkProtocol, fetchCallback, instrumentOutgoingRequests, shouldAttachHeaders, xhrCallback };","import _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { TRACING_DEFAULTS, addTracingExtensions, startIdleTransaction, getActiveTransaction } from '@sentry/core';\nimport { logger, tracingContextFromHeaders, getDomElement } from '@sentry/utils';\nimport { registerBackgroundTabDetection } from './backgroundtab.js';\nimport { startTrackingWebVitals, startTrackingLongTasks, startTrackingInteractions, addPerformanceEntries } from './metrics/index.js';\nimport { defaultRequestInstrumentationOptions, instrumentOutgoingRequests } from './request.js';\nimport { instrumentRoutingWithDefaults } from './router.js';\nimport { WINDOW } from './types.js';\nvar BROWSER_TRACING_INTEGRATION_ID = 'BrowserTracing';\n/** Options for Browser Tracing integration */\n\nvar DEFAULT_BROWSER_TRACING_OPTIONS = _objectSpread(_objectSpread({}, TRACING_DEFAULTS), {}, {\n markBackgroundTransactions: true,\n routingInstrumentation: instrumentRoutingWithDefaults,\n startTransactionOnLocationChange: true,\n startTransactionOnPageLoad: true,\n enableLongTask: true,\n _experiments: {}\n}, defaultRequestInstrumentationOptions);\n/**\n * The Browser Tracing integration automatically instruments browser pageload/navigation\n * actions as transactions, and captures requests, metrics and errors as spans.\n *\n * The integration can be configured with a variety of options, and can be extended to use\n * any routing library. This integration uses {@see IdleTransaction} to create transactions.\n */\n\n\nvar BrowserTracing = /*#__PURE__*/function () {\n // This class currently doesn't have a static `id` field like the other integration classes, because it prevented\n // @sentry/tracing from being treeshaken. Tree shakers do not like static fields, because they behave like side effects.\n // TODO: Come up with a better plan, than using static fields on integration classes, and use that plan on all\n // integrations.\n\n /** Browser Tracing integration options */\n\n /**\n * @inheritDoc\n */\n function BrowserTracing(_options) {\n _classCallCheck(this, BrowserTracing);\n\n this.name = BROWSER_TRACING_INTEGRATION_ID;\n this._hasSetTracePropagationTargets = false;\n addTracingExtensions();\n\n if (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) {\n this._hasSetTracePropagationTargets = !!(_options && ( // eslint-disable-next-line deprecation/deprecation\n _options.tracePropagationTargets || _options.tracingOrigins));\n }\n\n this.options = _objectSpread(_objectSpread({}, DEFAULT_BROWSER_TRACING_OPTIONS), _options); // Special case: enableLongTask can be set in _experiments\n // TODO (v8): Remove this in v8\n\n if (this.options._experiments.enableLongTask !== undefined) {\n this.options.enableLongTask = this.options._experiments.enableLongTask;\n } // TODO (v8): remove this block after tracingOrigins is removed\n // Set tracePropagationTargets to tracingOrigins if specified by the user\n // In case both are specified, tracePropagationTargets takes precedence\n // eslint-disable-next-line deprecation/deprecation\n\n\n if (_options && !_options.tracePropagationTargets && _options.tracingOrigins) {\n // eslint-disable-next-line deprecation/deprecation\n this.options.tracePropagationTargets = _options.tracingOrigins;\n }\n\n this._collectWebVitals = startTrackingWebVitals();\n\n if (this.options.enableLongTask) {\n startTrackingLongTasks();\n }\n\n if (this.options._experiments.enableInteractions) {\n startTrackingInteractions();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n _createClass(BrowserTracing, [{\n key: \"setupOnce\",\n value: function setupOnce(_, getCurrentHub) {\n var _this = this;\n\n this._getCurrentHub = getCurrentHub;\n var hub = getCurrentHub();\n var client = hub.getClient();\n var clientOptions = client && client.getOptions();\n var _this$options = this.options,\n instrumentRouting = _this$options.routingInstrumentation,\n startTransactionOnLocationChange = _this$options.startTransactionOnLocationChange,\n startTransactionOnPageLoad = _this$options.startTransactionOnPageLoad,\n markBackgroundTransactions = _this$options.markBackgroundTransactions,\n traceFetch = _this$options.traceFetch,\n traceXHR = _this$options.traceXHR,\n shouldCreateSpanForRequest = _this$options.shouldCreateSpanForRequest,\n enableHTTPTimings = _this$options.enableHTTPTimings,\n _experiments = _this$options._experiments;\n var clientOptionsTracePropagationTargets = clientOptions && clientOptions.tracePropagationTargets; // There are three ways to configure tracePropagationTargets:\n // 1. via top level client option `tracePropagationTargets`\n // 2. via BrowserTracing option `tracePropagationTargets`\n // 3. via BrowserTracing option `tracingOrigins` (deprecated)\n //\n // To avoid confusion, favour top level client option `tracePropagationTargets`, and fallback to\n // BrowserTracing option `tracePropagationTargets` and then `tracingOrigins` (deprecated).\n // This is done as it minimizes bundle size (we don't have to have undefined checks).\n //\n // If both 1 and either one of 2 or 3 are set (from above), we log out a warning.\n // eslint-disable-next-line deprecation/deprecation\n\n var tracePropagationTargets = clientOptionsTracePropagationTargets || this.options.tracePropagationTargets;\n\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && this._hasSetTracePropagationTargets && clientOptionsTracePropagationTargets) {\n logger.warn('[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used.');\n }\n\n instrumentRouting(function (context) {\n var transaction = _this._createRouteTransaction(context);\n\n _this.options._experiments.onStartRouteTransaction && _this.options._experiments.onStartRouteTransaction(transaction, context, getCurrentHub);\n return transaction;\n }, startTransactionOnPageLoad, startTransactionOnLocationChange);\n\n if (markBackgroundTransactions) {\n registerBackgroundTabDetection();\n }\n\n if (_experiments.enableInteractions) {\n this._registerInteractionListener();\n }\n\n instrumentOutgoingRequests({\n traceFetch: traceFetch,\n traceXHR: traceXHR,\n tracePropagationTargets: tracePropagationTargets,\n shouldCreateSpanForRequest: shouldCreateSpanForRequest,\n enableHTTPTimings: enableHTTPTimings\n });\n }\n /** Create routing idle transaction. */\n\n }, {\n key: \"_createRouteTransaction\",\n value: function _createRouteTransaction(context) {\n var _this2 = this;\n\n if (!this._getCurrentHub) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"[Tracing] Did not create \".concat(context.op, \" transaction because _getCurrentHub is invalid.\"));\n return undefined;\n }\n\n var hub = this._getCurrentHub();\n\n var _this$options2 = this.options,\n beforeNavigate = _this$options2.beforeNavigate,\n idleTimeout = _this$options2.idleTimeout,\n finalTimeout = _this$options2.finalTimeout,\n heartbeatInterval = _this$options2.heartbeatInterval;\n var isPageloadTransaction = context.op === 'pageload';\n var sentryTrace = isPageloadTransaction ? getMetaContent('sentry-trace') : '';\n var baggage = isPageloadTransaction ? getMetaContent('baggage') : '';\n\n var _tracingContextFromHe = tracingContextFromHeaders(sentryTrace, baggage),\n traceparentData = _tracingContextFromHe.traceparentData,\n dynamicSamplingContext = _tracingContextFromHe.dynamicSamplingContext,\n propagationContext = _tracingContextFromHe.propagationContext;\n\n var expandedContext = _objectSpread(_objectSpread(_objectSpread({}, context), traceparentData), {}, {\n metadata: _objectSpread(_objectSpread({}, context.metadata), {}, {\n dynamicSamplingContext: traceparentData && !dynamicSamplingContext ? {} : dynamicSamplingContext\n }),\n trimEnd: true\n });\n\n var modifiedContext = typeof beforeNavigate === 'function' ? beforeNavigate(expandedContext) : expandedContext; // For backwards compatibility reasons, beforeNavigate can return undefined to \"drop\" the transaction (prevent it\n // from being sent to Sentry).\n\n var finalContext = modifiedContext === undefined ? _objectSpread(_objectSpread({}, expandedContext), {}, {\n sampled: false\n }) : modifiedContext; // If `beforeNavigate` set a custom name, record that fact\n\n finalContext.metadata = finalContext.name !== expandedContext.name ? _objectSpread(_objectSpread({}, finalContext.metadata), {}, {\n source: 'custom'\n }) : finalContext.metadata;\n this._latestRouteName = finalContext.name;\n this._latestRouteSource = finalContext.metadata && finalContext.metadata.source;\n\n if (finalContext.sampled === false) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] Will not send \".concat(finalContext.op, \" transaction because of beforeNavigate.\"));\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] Starting \".concat(finalContext.op, \" transaction on scope\"));\n var location = WINDOW.location;\n var idleTransaction = startIdleTransaction(hub, finalContext, idleTimeout, finalTimeout, true, {\n location: location\n }, // for use in the tracesSampler\n heartbeatInterval);\n var scope = hub.getScope(); // If it's a pageload and there is a meta tag set\n // use the traceparentData as the propagation context\n\n if (isPageloadTransaction && traceparentData) {\n scope.setPropagationContext(propagationContext);\n } else {\n // Navigation transactions should set a new propagation context based on the\n // created idle transaction.\n scope.setPropagationContext({\n traceId: idleTransaction.traceId,\n spanId: idleTransaction.spanId,\n parentSpanId: idleTransaction.parentSpanId,\n sampled: idleTransaction.sampled\n });\n }\n\n idleTransaction.registerBeforeFinishCallback(function (transaction) {\n _this2._collectWebVitals();\n\n addPerformanceEntries(transaction);\n });\n return idleTransaction;\n }\n /** Start listener for interaction transactions */\n\n }, {\n key: \"_registerInteractionListener\",\n value: function _registerInteractionListener() {\n var _this3 = this;\n\n var inflightInteractionTransaction;\n\n var registerInteractionTransaction = function registerInteractionTransaction() {\n var _this3$options = _this3.options,\n idleTimeout = _this3$options.idleTimeout,\n finalTimeout = _this3$options.finalTimeout,\n heartbeatInterval = _this3$options.heartbeatInterval;\n var op = 'ui.action.click';\n var currentTransaction = getActiveTransaction();\n\n if (currentTransaction && currentTransaction.op && ['navigation', 'pageload'].includes(currentTransaction.op)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"[Tracing] Did not create \".concat(op, \" transaction because a pageload or navigation transaction is in progress.\"));\n return undefined;\n }\n\n if (inflightInteractionTransaction) {\n inflightInteractionTransaction.setFinishReason('interactionInterrupted');\n inflightInteractionTransaction.finish();\n inflightInteractionTransaction = undefined;\n }\n\n if (!_this3._getCurrentHub) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"[Tracing] Did not create \".concat(op, \" transaction because _getCurrentHub is invalid.\"));\n return undefined;\n }\n\n if (!_this3._latestRouteName) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"[Tracing] Did not create \".concat(op, \" transaction because _latestRouteName is missing.\"));\n return undefined;\n }\n\n var hub = _this3._getCurrentHub();\n\n var location = WINDOW.location;\n var context = {\n name: _this3._latestRouteName,\n op: op,\n trimEnd: true,\n metadata: {\n source: _this3._latestRouteSource || 'url'\n }\n };\n inflightInteractionTransaction = startIdleTransaction(hub, context, idleTimeout, finalTimeout, true, {\n location: location\n }, // for use in the tracesSampler\n heartbeatInterval);\n };\n\n ['click'].forEach(function (type) {\n addEventListener(type, registerInteractionTransaction, {\n once: false,\n capture: true\n });\n });\n }\n }]);\n\n return BrowserTracing;\n}();\n/** Returns the value of a meta tag */\n\n\nfunction getMetaContent(metaName) {\n // Can't specify generic to `getDomElement` because tracing can be used\n // in a variety of environments, have to disable `no-unsafe-member-access`\n // as a result.\n var metaTag = getDomElement(\"meta[name=\".concat(metaName, \"]\")); // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\n return metaTag ? metaTag.getAttribute('content') : undefined;\n}\n\nexport { BROWSER_TRACING_INTEGRATION_ID, BrowserTracing, getMetaContent };","import { logger, browserPerformanceTimeOrigin, addInstrumentationHandler } from '@sentry/utils';\nimport { WINDOW } from './types.js';\n/**\n * Default function implementing pageload and navigation transactions\n */\n\nfunction instrumentRoutingWithDefaults(customStartTransaction) {\n var startTransactionOnPageLoad = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var startTransactionOnLocationChange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!WINDOW || !WINDOW.location) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Could not initialize routing instrumentation due to invalid location');\n return;\n }\n\n var startingUrl = WINDOW.location.href;\n var activeTransaction;\n\n if (startTransactionOnPageLoad) {\n activeTransaction = customStartTransaction({\n name: WINDOW.location.pathname,\n // pageload should always start at timeOrigin (and needs to be in s, not ms)\n startTimestamp: browserPerformanceTimeOrigin ? browserPerformanceTimeOrigin / 1000 : undefined,\n op: 'pageload',\n origin: 'auto.pageload.browser',\n metadata: {\n source: 'url'\n }\n });\n }\n\n if (startTransactionOnLocationChange) {\n addInstrumentationHandler('history', function (_ref) {\n var to = _ref.to,\n from = _ref.from;\n\n /**\n * This early return is there to account for some cases where a navigation transaction starts right after\n * long-running pageload. We make sure that if `from` is undefined and a valid `startingURL` exists, we don't\n * create an uneccessary navigation transaction.\n *\n * This was hard to duplicate, but this behavior stopped as soon as this fix was applied. This issue might also\n * only be caused in certain development environments where the usage of a hot module reloader is causing\n * errors.\n */\n if (from === undefined && startingUrl && startingUrl.indexOf(to) !== -1) {\n startingUrl = undefined;\n return;\n }\n\n if (from !== to) {\n startingUrl = undefined;\n\n if (activeTransaction) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] Finishing current transaction with op: \".concat(activeTransaction.op)); // If there's an open transaction on the scope, we need to finish it before creating an new one.\n\n activeTransaction.finish();\n }\n\n activeTransaction = customStartTransaction({\n name: WINDOW.location.pathname,\n op: 'navigation',\n origin: 'auto.navigation.browser',\n metadata: {\n source: 'url'\n }\n });\n }\n });\n }\n}\n\nexport { instrumentRoutingWithDefaults };","import { getActiveTransaction } from '@sentry/core';\nimport { logger } from '@sentry/utils';\nimport { WINDOW } from './types.js';\n/**\n * Add a listener that cancels and finishes a transaction when the global\n * document is hidden.\n */\n\nfunction registerBackgroundTabDetection() {\n if (WINDOW && WINDOW.document) {\n WINDOW.document.addEventListener('visibilitychange', function () {\n var activeTransaction = getActiveTransaction();\n\n if (WINDOW.document.hidden && activeTransaction) {\n var statusType = 'cancelled';\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"[Tracing] Transaction: \".concat(statusType, \" -> since tab moved to the background, op: \").concat(activeTransaction.op)); // We should not set status if it is already set, this prevent important statuses like\n // error or data loss from being overwritten on transaction.\n\n if (!activeTransaction.status) {\n activeTransaction.setStatus(statusType);\n }\n\n activeTransaction.setTag('visibilitychange', 'document.hidden');\n activeTransaction.finish();\n }\n });\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('[Tracing] Could not set up background tab detection due to lack of global document');\n }\n}\n\nexport { registerBackgroundTabDetection };","import _createForOfIteratorHelper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\";\nimport { logger, getFunctionName } from '@sentry/utils';\nimport { onCLS } from './web-vitals/getCLS.js';\nimport { onFID } from './web-vitals/getFID.js';\nimport { onLCP } from './web-vitals/getLCP.js';\nimport { observe } from './web-vitals/lib/observe.js';\nvar handlers = {};\nvar instrumented = {};\n\nvar _previousCls;\n\nvar _previousFid;\n\nvar _previousLcp;\n/**\n * Add a callback that will be triggered when a CLS metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\n\n\nfunction addClsInstrumentationHandler(callback) {\n return addMetricObserver('cls', callback, instrumentCls, _previousCls);\n}\n/**\n * Add a callback that will be triggered when a LCP metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\n\n\nfunction addLcpInstrumentationHandler(callback) {\n return addMetricObserver('lcp', callback, instrumentLcp, _previousLcp);\n}\n/**\n * Add a callback that will be triggered when a FID metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\n\n\nfunction addFidInstrumentationHandler(callback) {\n return addMetricObserver('fid', callback, instrumentFid, _previousFid);\n}\n/**\n * Add a callback that will be triggered when a performance observer is triggered,\n * and receives the entries of the observer.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\n\n\nfunction addPerformanceInstrumentationHandler(type, callback) {\n addHandler(type, callback);\n\n if (!instrumented[type]) {\n instrumentPerformanceObserver(type);\n instrumented[type] = true;\n }\n\n return getCleanupCallback(type, callback);\n}\n/** Trigger all handlers of a given type. */\n\n\nfunction triggerHandlers(type, data) {\n var typeHandlers = handlers[type];\n\n if (!typeHandlers || !typeHandlers.length) {\n return;\n }\n\n var _iterator = _createForOfIteratorHelper(typeHandlers),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var handler = _step.value;\n\n try {\n handler(data);\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(\"Error while triggering instrumentation handler.\\nType: \".concat(type, \"\\nName: \").concat(getFunctionName(handler), \"\\nError:\"), e);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n\nfunction instrumentCls() {\n onCLS(function (metric) {\n triggerHandlers('cls', {\n metric: metric\n });\n _previousCls = metric;\n });\n}\n\nfunction instrumentFid() {\n onFID(function (metric) {\n triggerHandlers('fid', {\n metric: metric\n });\n _previousFid = metric;\n });\n}\n\nfunction instrumentLcp() {\n onLCP(function (metric) {\n triggerHandlers('lcp', {\n metric: metric\n });\n _previousLcp = metric;\n });\n}\n\nfunction addMetricObserver(type, callback, instrumentFn, previousValue) {\n addHandler(type, callback);\n\n if (!instrumented[type]) {\n instrumentFn();\n instrumented[type] = true;\n }\n\n if (previousValue) {\n callback({\n metric: previousValue\n });\n }\n\n return getCleanupCallback(type, callback);\n}\n\nfunction instrumentPerformanceObserver(type) {\n var options = {}; // Special per-type options we want to use\n\n if (type === 'event') {\n options.durationThreshold = 0;\n }\n\n observe(type, function (entries) {\n triggerHandlers(type, {\n entries: entries\n });\n }, options);\n}\n\nfunction addHandler(type, handler) {\n handlers[type] = handlers[type] || [];\n handlers[type].push(handler);\n} // Get a callback which can be called to remove the instrumentation handler\n\n\nfunction getCleanupCallback(type, callback) {\n return function () {\n var typeHandlers = handlers[type];\n\n if (!typeHandlers) {\n return;\n }\n\n var index = typeHandlers.indexOf(callback);\n\n if (index !== -1) {\n typeHandlers.splice(index, 1);\n }\n };\n}\n\nexport { addClsInstrumentationHandler, addFidInstrumentationHandler, addLcpInstrumentationHandler, addPerformanceInstrumentationHandler };","var bindReporter = function bindReporter(callback, metric, reportAllChanges) {\n var prevValue;\n var delta;\n return function (forceReport) {\n if (metric.value >= 0) {\n if (forceReport || reportAllChanges) {\n delta = metric.value - (prevValue || 0); // Report the metric if there's a non-zero delta or if no previous\n // value exists (which can happen in the case of the document becoming\n // hidden when the metric value is 0).\n // See: https://github.com/GoogleChrome/web-vitals/issues/14\n\n if (delta || prevValue === undefined) {\n prevValue = metric.value;\n metric.delta = delta;\n callback(metric);\n }\n }\n }\n };\n};\n\nexport { bindReporter };","import { WINDOW } from '../../types.js';\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar getNavigationEntryFromPerformanceTiming = function getNavigationEntryFromPerformanceTiming() {\n // eslint-disable-next-line deprecation/deprecation\n var timing = WINDOW.performance.timing; // eslint-disable-next-line deprecation/deprecation\n\n var type = WINDOW.performance.navigation.type;\n var navigationEntry = {\n entryType: 'navigation',\n startTime: 0,\n type: type == 2 ? 'back_forward' : type === 1 ? 'reload' : 'navigate'\n };\n\n for (var key in timing) {\n if (key !== 'navigationStart' && key !== 'toJSON') {\n // eslint-disable-next-line deprecation/deprecation\n navigationEntry[key] = Math.max(timing[key] - timing.navigationStart, 0);\n }\n }\n\n return navigationEntry;\n};\n\nvar getNavigationEntry = function getNavigationEntry() {\n if (WINDOW.__WEB_VITALS_POLYFILL__) {\n return WINDOW.performance && (performance.getEntriesByType && performance.getEntriesByType('navigation')[0] || getNavigationEntryFromPerformanceTiming());\n } else {\n return WINDOW.performance && performance.getEntriesByType && performance.getEntriesByType('navigation')[0];\n }\n};\n\nexport { getNavigationEntry };","import { getNavigationEntry } from './getNavigationEntry.js';\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar getActivationStart = function getActivationStart() {\n var navEntry = getNavigationEntry();\n return navEntry && navEntry.activationStart || 0;\n};\n\nexport { getActivationStart };","import { WINDOW } from '../../types.js';\nimport { generateUniqueID } from './generateUniqueID.js';\nimport { getActivationStart } from './getActivationStart.js';\nimport { getNavigationEntry } from './getNavigationEntry.js';\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar initMetric = function initMetric(name, value) {\n var navEntry = getNavigationEntry();\n var navigationType = 'navigate';\n\n if (navEntry) {\n if (WINDOW.document.prerendering || getActivationStart() > 0) {\n navigationType = 'prerender';\n } else {\n navigationType = navEntry.type.replace(/_/g, '-');\n }\n }\n\n return {\n name: name,\n value: typeof value === 'undefined' ? -1 : value,\n rating: 'good',\n // Will be updated if the value changes.\n delta: 0,\n entries: [],\n id: generateUniqueID(),\n navigationType: navigationType\n };\n};\n\nexport { initMetric };","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Performantly generate a unique, 30-char string by combining a version\n * number, the current timestamp with a 13-digit number integer.\n * @return {string}\n */\nvar generateUniqueID = function generateUniqueID() {\n return \"v3-\".concat(Date.now(), \"-\").concat(Math.floor(Math.random() * (9e12 - 1)) + 1e12);\n};\n\nexport { generateUniqueID };","/**\n * Takes a performance entry type and a callback function, and creates a\n * `PerformanceObserver` instance that will observe the specified entry type\n * with buffering enabled and call the callback _for each entry_.\n *\n * This function also feature-detects entry support and wraps the logic in a\n * try/catch to avoid errors in unsupporting browsers.\n */\nvar observe = function observe(type, callback, opts) {\n try {\n if (PerformanceObserver.supportedEntryTypes.includes(type)) {\n var po = new PerformanceObserver(function (list) {\n callback(list.getEntries());\n });\n po.observe(Object.assign({\n type: type,\n buffered: true\n }, opts || {}));\n return po;\n }\n } catch (e) {// Do nothing.\n }\n\n return;\n};\n\nexport { observe };","import { bindReporter } from './lib/bindReporter.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { observe } from './lib/observe.js';\nimport { onHidden } from './lib/onHidden.js';\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Calculates the [CLS](https://web.dev/cls/) value for the current page and\n * calls the `callback` function once the value is ready to be reported, along\n * with all `layout-shift` performance entries that were used in the metric\n * value calculation. The reported value is a `double` (corresponding to a\n * [layout shift score](https://web.dev/cls/#layout-shift-score)).\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called as soon as the value is initially\n * determined as well as any time the value changes throughout the page\n * lifespan.\n *\n * _**Important:** CLS should be continually monitored for changes throughout\n * the entire lifespan of a page—including if the user returns to the page after\n * it's been hidden/backgrounded. However, since browsers often [will not fire\n * additional callbacks once the user has backgrounded a\n * page](https://developer.chrome.com/blog/page-lifecycle-api/#advice-hidden),\n * `callback` is always called when the page's visibility state changes to\n * hidden. As a result, the `callback` function might be called multiple times\n * during the same page load._\n */\n\nvar onCLS = function onCLS(onReport) {\n var metric = initMetric('CLS', 0);\n var report;\n var sessionValue = 0;\n var sessionEntries = []; // const handleEntries = (entries: Metric['entries']) => {\n\n var handleEntries = function handleEntries(entries) {\n entries.forEach(function (entry) {\n // Only count layout shifts without recent user input.\n if (!entry.hadRecentInput) {\n var firstSessionEntry = sessionEntries[0];\n var lastSessionEntry = sessionEntries[sessionEntries.length - 1]; // If the entry occurred less than 1 second after the previous entry and\n // less than 5 seconds after the first entry in the session, include the\n // entry in the current session. Otherwise, start a new session.\n\n if (sessionValue && sessionEntries.length !== 0 && entry.startTime - lastSessionEntry.startTime < 1000 && entry.startTime - firstSessionEntry.startTime < 5000) {\n sessionValue += entry.value;\n sessionEntries.push(entry);\n } else {\n sessionValue = entry.value;\n sessionEntries = [entry];\n } // If the current session value is larger than the current CLS value,\n // update CLS and the entries contributing to it.\n\n\n if (sessionValue > metric.value) {\n metric.value = sessionValue;\n metric.entries = sessionEntries;\n\n if (report) {\n report();\n }\n }\n }\n });\n };\n\n var po = observe('layout-shift', handleEntries);\n\n if (po) {\n report = bindReporter(onReport, metric);\n\n var stopListening = function stopListening() {\n handleEntries(po.takeRecords());\n report(true);\n };\n\n onHidden(stopListening);\n return stopListening;\n }\n\n return;\n};\n\nexport { onCLS };","import { bindReporter } from './lib/bindReporter.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { observe } from './lib/observe.js';\nimport { onHidden } from './lib/onHidden.js';\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Calculates the [FID](https://web.dev/fid/) value for the current page and\n * calls the `callback` function once the value is ready, along with the\n * relevant `first-input` performance entry used to determine the value. The\n * reported value is a `DOMHighResTimeStamp`.\n *\n * _**Important:** since FID is only reported after the user interacts with the\n * page, it's possible that it will not be reported for some page loads._\n */\n\nvar onFID = function onFID(onReport) {\n var visibilityWatcher = getVisibilityWatcher();\n var metric = initMetric('FID'); // eslint-disable-next-line prefer-const\n\n var report;\n\n var handleEntry = function handleEntry(entry) {\n // Only report if the page wasn't hidden prior to the first input.\n if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n metric.value = entry.processingStart - entry.startTime;\n metric.entries.push(entry);\n report(true);\n }\n };\n\n var handleEntries = function handleEntries(entries) {\n entries.forEach(handleEntry);\n };\n\n var po = observe('first-input', handleEntries);\n report = bindReporter(onReport, metric);\n\n if (po) {\n onHidden(function () {\n handleEntries(po.takeRecords());\n po.disconnect();\n }, true);\n }\n};\n\nexport { onFID };","import { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { observe } from './lib/observe.js';\nimport { onHidden } from './lib/onHidden.js';\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar reportedMetricIDs = {};\n/**\n * Calculates the [LCP](https://web.dev/lcp/) value for the current page and\n * calls the `callback` function once the value is ready (along with the\n * relevant `largest-contentful-paint` performance entry used to determine the\n * value). The reported value is a `DOMHighResTimeStamp`.\n */\n\nvar onLCP = function onLCP(onReport) {\n var visibilityWatcher = getVisibilityWatcher();\n var metric = initMetric('LCP');\n var report;\n\n var handleEntries = function handleEntries(entries) {\n var lastEntry = entries[entries.length - 1];\n\n if (lastEntry) {\n // The startTime attribute returns the value of the renderTime if it is\n // not 0, and the value of the loadTime otherwise. The activationStart\n // reference is used because LCP should be relative to page activation\n // rather than navigation start if the page was prerendered.\n var value = Math.max(lastEntry.startTime - getActivationStart(), 0); // Only report if the page wasn't hidden prior to LCP.\n\n if (value < visibilityWatcher.firstHiddenTime) {\n metric.value = value;\n metric.entries = [lastEntry];\n report();\n }\n }\n };\n\n var po = observe('largest-contentful-paint', handleEntries);\n\n if (po) {\n report = bindReporter(onReport, metric);\n\n var stopListening = function stopListening() {\n if (!reportedMetricIDs[metric.id]) {\n handleEntries(po.takeRecords());\n po.disconnect();\n reportedMetricIDs[metric.id] = true;\n report(true);\n }\n }; // Stop listening after input. Note: while scrolling is an input that\n // stop LCP observation, it's unreliable since it can be programmatically\n // generated. See: https://github.com/GoogleChrome/web-vitals/issues/75\n\n\n ['keydown', 'click'].forEach(function (type) {\n addEventListener(type, stopListening, {\n once: true,\n capture: true\n });\n });\n onHidden(stopListening, true);\n return stopListening;\n }\n\n return;\n};\n\nexport { onLCP };","import { GLOBAL_OBJ } from '@sentry/utils';\nvar WINDOW = GLOBAL_OBJ;\nexport { WINDOW };","import { WINDOW } from '../../types.js';\nimport { onHidden } from './onHidden.js';\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar firstHiddenTime = -1;\n\nvar initHiddenTime = function initHiddenTime() {\n // If the document is hidden and not prerendering, assume it was always\n // hidden and the page was loaded in the background.\n return WINDOW.document.visibilityState === 'hidden' && !WINDOW.document.prerendering ? 0 : Infinity;\n};\n\nvar trackChanges = function trackChanges() {\n // Update the time if/when the document becomes hidden.\n onHidden(function (_ref) {\n var timeStamp = _ref.timeStamp;\n firstHiddenTime = timeStamp;\n }, true);\n};\n\nvar getVisibilityWatcher = function getVisibilityWatcher() {\n if (firstHiddenTime < 0) {\n // If the document is hidden when this code runs, assume it was hidden\n // since navigation start. This isn't a perfect heuristic, but it's the\n // best we can do until an API is available to support querying past\n // visibilityState.\n firstHiddenTime = initHiddenTime();\n trackChanges();\n }\n\n return {\n get firstHiddenTime() {\n return firstHiddenTime;\n }\n\n };\n};\n\nexport { getVisibilityWatcher };","import { WINDOW } from '../../types.js';\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nvar onHidden = function onHidden(cb, once) {\n var onHiddenOrPageHide = function onHiddenOrPageHide(event) {\n if (event.type === 'pagehide' || WINDOW.document.visibilityState === 'hidden') {\n cb(event);\n\n if (once) {\n removeEventListener('visibilitychange', onHiddenOrPageHide, true);\n removeEventListener('pagehide', onHiddenOrPageHide, true);\n }\n }\n };\n\n addEventListener('visibilitychange', onHiddenOrPageHide, true); // Some browsers have buggy implementations of visibilitychange,\n // so we use pagehide in addition, just to be safe.\n\n addEventListener('pagehide', onHiddenOrPageHide, true);\n};\n\nexport { onHidden };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { getCurrentHub } from '@sentry/core';\nimport { addExceptionMechanism, resolvedSyncPromise, isErrorEvent, isDOMError, isDOMException, addExceptionTypeValue, isError, isPlainObject, isEvent, normalizeToSize, extractExceptionKeysForMessage } from '@sentry/utils';\n/**\n * This function creates an exception from a JavaScript Error\n */\n\nfunction exceptionFromError(stackParser, ex) {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n var frames = parseStackFrames(stackParser, ex);\n var exception = {\n type: ex && ex.name,\n value: extractMessage(ex)\n };\n\n if (frames.length) {\n exception.stacktrace = {\n frames: frames\n };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n/**\n * @hidden\n */\n\n\nfunction eventFromPlainObject(stackParser, exception, syntheticException, isUnhandledRejection) {\n var hub = getCurrentHub();\n var client = hub.getClient();\n var normalizeDepth = client && client.getOptions().normalizeDepth;\n var event = {\n exception: {\n values: [{\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: getNonErrorObjectExceptionValue(exception, {\n isUnhandledRejection: isUnhandledRejection\n })\n }]\n },\n extra: {\n __serialized__: normalizeToSize(exception, normalizeDepth)\n }\n };\n\n if (syntheticException) {\n var frames = parseStackFrames(stackParser, syntheticException);\n\n if (frames.length) {\n // event.exception.values[0] has been set above\n event.exception.values[0].stacktrace = {\n frames: frames\n };\n }\n }\n\n return event;\n}\n/**\n * @hidden\n */\n\n\nfunction eventFromError(stackParser, ex) {\n return {\n exception: {\n values: [exceptionFromError(stackParser, ex)]\n }\n };\n}\n/** Parses stack frames from an error */\n\n\nfunction parseStackFrames(stackParser, ex) {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace || ex.stack || '';\n var popSize = getPopSize(ex);\n\n try {\n return stackParser(stacktrace, popSize);\n } catch (e) {// no-empty\n }\n\n return [];\n} // Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\n\n\nvar reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\nfunction getPopSize(ex) {\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n if (reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n }\n\n return 0;\n}\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\n\n\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n\n if (!message) {\n return 'No error message';\n }\n\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n\n return message;\n}\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\n\n\nfunction eventFromException(stackParser, exception, hint, attachStacktrace) {\n var syntheticException = hint && hint.syntheticException || undefined;\n var event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n\n event.level = 'error';\n\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n\n return resolvedSyncPromise(event);\n}\n/**\n * Builds and Event from a Message\n * @hidden\n */\n\n\nfunction eventFromMessage(stackParser, message) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'info';\n var hint = arguments.length > 3 ? arguments[3] : undefined;\n var attachStacktrace = arguments.length > 4 ? arguments[4] : undefined;\n var syntheticException = hint && hint.syntheticException || undefined;\n var event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n event.level = level;\n\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n\n return resolvedSyncPromise(event);\n}\n/**\n * @hidden\n */\n\n\nfunction eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace, isUnhandledRejection) {\n var event;\n\n if (isErrorEvent(exception) && exception.error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception;\n return eventFromError(stackParser, errorEvent.error);\n } // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n\n\n if (isDOMError(exception) || isDOMException(exception)) {\n var domException = exception;\n\n if ('stack' in exception) {\n event = eventFromError(stackParser, exception);\n } else {\n var name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? \"\".concat(name, \": \").concat(domException.message) : name;\n event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n\n if ('code' in domException) {\n // eslint-disable-next-line deprecation/deprecation\n event.tags = _objectSpread(_objectSpread({}, event.tags), {}, {\n 'DOMException.code': \"\".concat(domException.code)\n });\n }\n\n return event;\n }\n\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(stackParser, exception);\n }\n\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n var objectException = exception;\n event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true\n });\n return event;\n } // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n\n\n event = eventFromString(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, \"\".concat(exception), undefined);\n addExceptionMechanism(event, {\n synthetic: true\n });\n return event;\n}\n/**\n * @hidden\n */\n\n\nfunction eventFromString(stackParser, input, syntheticException, attachStacktrace) {\n var event = {\n message: input\n };\n\n if (attachStacktrace && syntheticException) {\n var frames = parseStackFrames(stackParser, syntheticException);\n\n if (frames.length) {\n event.exception = {\n values: [{\n value: input,\n stacktrace: {\n frames: frames\n }\n }]\n };\n }\n }\n\n return event;\n}\n\nfunction getNonErrorObjectExceptionValue(exception, _ref) {\n var isUnhandledRejection = _ref.isUnhandledRejection;\n var keys = extractExceptionKeysForMessage(exception);\n var captureType = isUnhandledRejection ? 'promise rejection' : 'exception'; // Some ErrorEvent instances do not have an `error` property, which is why they are not handled before\n // We still want to try to get a decent message for these cases\n\n if (isErrorEvent(exception)) {\n return \"Event `ErrorEvent` captured as \".concat(captureType, \" with message `\").concat(exception.message, \"`\");\n }\n\n if (isEvent(exception)) {\n var className = getObjectClassName(exception);\n return \"Event `\".concat(className, \"` (type=\").concat(exception.type, \") captured as \").concat(captureType);\n }\n\n return \"Object captured as \".concat(captureType, \" with keys: \").concat(keys);\n}\n\nfunction getObjectClassName(obj) {\n try {\n var prototype = Object.getPrototypeOf(obj);\n return prototype ? prototype.constructor.name : undefined;\n } catch (e) {// ignore errors here\n }\n}\n\nexport { eventFromError, eventFromException, eventFromMessage, eventFromPlainObject, eventFromString, eventFromUnknownInput, exceptionFromError, parseStackFrames };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { withScope, captureException } from '@sentry/core';\nimport { GLOBAL_OBJ, getOriginalFunction, markFunctionWrapped, addNonEnumerableProperty, addExceptionTypeValue, addExceptionMechanism } from '@sentry/utils';\nvar WINDOW = GLOBAL_OBJ;\nvar ignoreOnError = 0;\n/**\n * @hidden\n */\n\nfunction shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n/**\n * @hidden\n */\n\n\nfunction ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError++;\n setTimeout(function () {\n ignoreOnError--;\n });\n}\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\n\n\nfunction wrap(fn) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var before // eslint-disable-next-line @typescript-eslint/no-explicit-any\n = arguments.length > 2 ? arguments[2] : undefined;\n\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n var wrapper = fn.__sentry_wrapped__;\n\n if (wrapper) {\n return wrapper;\n } // We don't wanna wrap it twice\n\n\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n /* eslint-disable prefer-rest-params */\n // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n\n\n var sentryWrapped = function sentryWrapped() {\n var args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n } // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\n\n var wrappedArguments = args.map(function (arg) {\n return wrap(arg, options);\n }); // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n withScope(function (scope) {\n scope.addEventProcessor(function (event) {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = _objectSpread(_objectSpread({}, event.extra), {}, {\n arguments: args\n });\n return event;\n });\n captureException(ex);\n });\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n\n\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n\n\n markFunctionWrapped(sentryWrapped, fn);\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped); // Restore original function name (not all browsers allow that)\n\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get: function get() {\n return fn.name;\n }\n });\n } // eslint-disable-next-line no-empty\n\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n/**\n * All properties the report dialog supports\n */\n\n\nexport { WINDOW, ignoreNextOnError, shouldIgnoreOnError, wrap };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { dsnToString, createEnvelope } from '@sentry/utils';\n/**\n * Creates an envelope from a user feedback.\n */\n\nfunction createUserFeedbackEnvelope(feedback, _ref) {\n var metadata = _ref.metadata,\n tunnel = _ref.tunnel,\n dsn = _ref.dsn;\n\n var headers = _objectSpread(_objectSpread({\n event_id: feedback.event_id,\n sent_at: new Date().toISOString()\n }, metadata && metadata.sdk && {\n sdk: {\n name: metadata.sdk.name,\n version: metadata.sdk.version\n }\n }), !!tunnel && !!dsn && {\n dsn: dsnToString(dsn)\n });\n\n var item = createUserFeedbackEnvelopeItem(feedback);\n return createEnvelope(headers, [item]);\n}\n\nfunction createUserFeedbackEnvelopeItem(feedback) {\n var feedbackHeaders = {\n type: 'user_report'\n };\n return [feedbackHeaders, feedback];\n}\n\nexport { createUserFeedbackEnvelope };","import _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _get from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/get.js\";\nimport _getPrototypeOf from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _inherits from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _createSuper from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js\";\nimport { BaseClient, SDK_VERSION } from '@sentry/core';\nimport { getSDKSource, logger, createClientReportEnvelope, dsnToString } from '@sentry/utils';\nimport { eventFromException as _eventFromException, eventFromMessage as _eventFromMessage } from './eventbuilder.js';\nimport { WINDOW } from './helpers.js';\nimport { createUserFeedbackEnvelope } from './userfeedback.js';\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see @sentry/types Options for more information.\n */\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\n\nvar BrowserClient = /*#__PURE__*/function (_BaseClient) {\n _inherits(BrowserClient, _BaseClient);\n\n var _super = _createSuper(BrowserClient);\n\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n function BrowserClient(options) {\n var _this;\n\n _classCallCheck(this, BrowserClient);\n\n var sdkSource = WINDOW.SENTRY_SDK_SOURCE || getSDKSource();\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [{\n name: \"\".concat(sdkSource, \":@sentry/browser\"),\n version: SDK_VERSION\n }],\n version: SDK_VERSION\n };\n _this = _super.call(this, options);\n\n if (options.sendClientReports && WINDOW.document) {\n WINDOW.document.addEventListener('visibilitychange', function () {\n if (WINDOW.document.visibilityState === 'hidden') {\n _this._flushOutcomes();\n }\n });\n }\n\n return _this;\n }\n /**\n * @inheritDoc\n */\n\n\n _createClass(BrowserClient, [{\n key: \"eventFromException\",\n value: function eventFromException(exception, hint) {\n return _eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"eventFromMessage\",\n value: function eventFromMessage(message) {\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'info';\n var hint = arguments.length > 2 ? arguments[2] : undefined;\n return _eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n }\n /**\n * Sends user feedback to Sentry.\n */\n\n }, {\n key: \"captureUserFeedback\",\n value: function captureUserFeedback(feedback) {\n if (!this._isEnabled()) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('SDK not enabled, will not capture user feedback.');\n return;\n }\n\n var envelope = createUserFeedbackEnvelope(feedback, {\n metadata: this.getSdkMetadata(),\n dsn: this.getDsn(),\n tunnel: this.getOptions().tunnel\n });\n void this._sendEnvelope(envelope);\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"_prepareEvent\",\n value: function _prepareEvent(event, hint, scope) {\n event.platform = event.platform || 'javascript';\n return _get(_getPrototypeOf(BrowserClient.prototype), \"_prepareEvent\", this).call(this, event, hint, scope);\n }\n /**\n * Sends client reports as an envelope.\n */\n\n }, {\n key: \"_flushOutcomes\",\n value: function _flushOutcomes() {\n var outcomes = this._clearOutcomes();\n\n if (outcomes.length === 0) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('No outcomes to send');\n return;\n } // This is really the only place where we want to check for a DSN and only send outcomes then\n\n\n if (!this._dsn) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('No dsn provided, will not send outcomes');\n return;\n }\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log('Sending outcomes:', outcomes);\n var envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n void this._sendEnvelope(envelope);\n }\n }]);\n\n return BrowserClient;\n}(BaseClient);\n\nexport { BrowserClient };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { getCurrentHub } from '@sentry/core';\nimport { addInstrumentationHandler, isString, isPrimitive, isErrorEvent, getLocationHref, logger, addExceptionMechanism } from '@sentry/utils';\nimport { eventFromUnknownInput } from '../eventbuilder.js';\nimport { shouldIgnoreOnError } from '../helpers.js';\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n\n/** Global handlers */\n\nvar GlobalHandlers = /*#__PURE__*/function () {\n /**\n * @inheritDoc\n */\n\n /** JSDoc */\n\n /**\n * Stores references functions to installing handlers. Will set to undefined\n * after they have been run so that they are not used twice.\n */\n\n /** JSDoc */\n function GlobalHandlers(options) {\n _classCallCheck(this, GlobalHandlers);\n\n this.name = GlobalHandlers.id;\n this._options = _objectSpread({\n onerror: true,\n onunhandledrejection: true\n }, options);\n this._installFunc = {\n onerror: _installGlobalOnErrorHandler,\n onunhandledrejection: _installGlobalOnUnhandledRejectionHandler\n };\n }\n /**\n * @inheritDoc\n */\n\n\n _createClass(GlobalHandlers, [{\n key: \"setupOnce\",\n value: function setupOnce() {\n Error.stackTraceLimit = 50;\n var options = this._options; // We can disable guard-for-in as we construct the options object above + do checks against\n // `this._installFunc` for the property.\n // eslint-disable-next-line guard-for-in\n\n for (var key in options) {\n var installFunc = this._installFunc[key];\n\n if (installFunc && options[key]) {\n globalHandlerLog(key);\n installFunc();\n this._installFunc[key] = undefined;\n }\n }\n }\n }], [{\n key: \"__initStatic\",\n value:\n /**\n * @inheritDoc\n */\n function __initStatic() {\n this.id = 'GlobalHandlers';\n }\n }]);\n\n return GlobalHandlers;\n}();\n\nGlobalHandlers.__initStatic();\n/** JSDoc */\n\n\nfunction _installGlobalOnErrorHandler() {\n addInstrumentationHandler('error', // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function (data) {\n var _getHubAndOptions = getHubAndOptions(),\n _getHubAndOptions2 = _slicedToArray(_getHubAndOptions, 3),\n hub = _getHubAndOptions2[0],\n stackParser = _getHubAndOptions2[1],\n attachStacktrace = _getHubAndOptions2[2];\n\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n\n var msg = data.msg,\n url = data.url,\n line = data.line,\n column = data.column,\n error = data.error;\n\n if (shouldIgnoreOnError() || error && error.__sentry_own_request__) {\n return;\n }\n\n var event = error === undefined && isString(msg) ? _eventFromIncompleteOnError(msg, url, line, column) : _enhanceEventWithInitialFrame(eventFromUnknownInput(stackParser, error || msg, undefined, attachStacktrace, false), url, line, column);\n event.level = 'error';\n addMechanismAndCapture(hub, error, event, 'onerror');\n });\n}\n/** JSDoc */\n\n\nfunction _installGlobalOnUnhandledRejectionHandler() {\n addInstrumentationHandler('unhandledrejection', // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function (e) {\n var _getHubAndOptions3 = getHubAndOptions(),\n _getHubAndOptions4 = _slicedToArray(_getHubAndOptions3, 3),\n hub = _getHubAndOptions4[0],\n stackParser = _getHubAndOptions4[1],\n attachStacktrace = _getHubAndOptions4[2];\n\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n\n var error = e; // dig the object of the rejection out of known event types\n\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n } // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {// no-empty\n }\n\n if (shouldIgnoreOnError() || error && error.__sentry_own_request__) {\n return true;\n }\n\n var event = isPrimitive(error) ? _eventFromRejectionWithPrimitive(error) : eventFromUnknownInput(stackParser, error, undefined, attachStacktrace, true);\n event.level = 'error';\n addMechanismAndCapture(hub, error, event, 'onunhandledrejection');\n return;\n });\n}\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\n\n\nfunction _eventFromRejectionWithPrimitive(reason) {\n return {\n exception: {\n values: [{\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: \"Non-Error promise rejection captured with value: \".concat(String(reason))\n }]\n }\n };\n}\n/**\n * This function creates a stack from an old, error-less onerror handler.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction _eventFromIncompleteOnError(msg, url, line, column) {\n var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i; // If 'message' is ErrorEvent, get real message from inside\n\n var message = isErrorEvent(msg) ? msg.message : msg;\n var name = 'Error';\n var groups = message.match(ERROR_TYPES_RE);\n\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n\n var event = {\n exception: {\n values: [{\n type: name,\n value: message\n }]\n }\n };\n return _enhanceEventWithInitialFrame(event, url, line, column);\n}\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction _enhanceEventWithInitialFrame(event, url, line, column) {\n // event.exception\n var e = event.exception = event.exception || {}; // event.exception.values\n\n var ev = e.values = e.values || []; // event.exception.values[0]\n\n var ev0 = ev[0] = ev[0] || {}; // event.exception.values[0].stacktrace\n\n var ev0s = ev0.stacktrace = ev0.stacktrace || {}; // event.exception.values[0].stacktrace.frames\n\n var ev0sf = ev0s.frames = ev0s.frames || [];\n var colno = isNaN(parseInt(column, 10)) ? undefined : column;\n var lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n var filename = isString(url) && url.length > 0 ? url : getLocationHref(); // event.exception.values[0].stacktrace.frames\n\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno: colno,\n filename: filename,\n function: '?',\n in_app: true,\n lineno: lineno\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.log(\"Global Handler attached: \".concat(type));\n}\n\nfunction addMechanismAndCapture(hub, error, event, type) {\n addExceptionMechanism(event, {\n handled: false,\n type: type\n });\n hub.captureEvent(event, {\n originalException: error\n });\n}\n\nfunction getHubAndOptions() {\n var hub = getCurrentHub();\n var client = hub.getClient();\n var options = client && client.getOptions() || {\n stackParser: function stackParser() {\n return [];\n },\n attachStacktrace: false\n };\n return [hub, options.stackParser, options.attachStacktrace];\n}\n\nexport { GlobalHandlers };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { fill, getFunctionName, getOriginalFunction } from '@sentry/utils';\nimport { WINDOW, wrap } from '../helpers.js';\nvar DEFAULT_EVENT_TARGET = ['EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'BroadcastChannel', 'ChannelMergerNode', 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase', 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow', 'Notification', 'SVGElementInstance', 'Screen', 'SharedWorker', 'TextTrack', 'TextTrackCue', 'TextTrackList', 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'];\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\n\nvar TryCatch = /*#__PURE__*/function () {\n /**\n * @inheritDoc\n */\n\n /** JSDoc */\n\n /**\n * @inheritDoc\n */\n function TryCatch(options) {\n _classCallCheck(this, TryCatch);\n\n this.name = TryCatch.id;\n this._options = _objectSpread({\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true\n }, options);\n }\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n\n\n _createClass(TryCatch, [{\n key: \"setupOnce\",\n value: function setupOnce() {\n if (this._options.setTimeout) {\n fill(WINDOW, 'setTimeout', _wrapTimeFunction);\n }\n\n if (this._options.setInterval) {\n fill(WINDOW, 'setInterval', _wrapTimeFunction);\n }\n\n if (this._options.requestAnimationFrame) {\n fill(WINDOW, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in WINDOW) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n var eventTargetOption = this._options.eventTarget;\n\n if (eventTargetOption) {\n var eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n }\n }], [{\n key: \"__initStatic\",\n value:\n /**\n * @inheritDoc\n */\n function __initStatic() {\n this.id = 'TryCatch';\n }\n }]);\n\n return TryCatch;\n}();\n\nTryCatch.__initStatic();\n/** JSDoc */\n\n\nfunction _wrapTimeFunction(original) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: {\n function: getFunctionName(original)\n },\n handled: false,\n type: 'instrument'\n }\n });\n return original.apply(this, args);\n };\n}\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction _wrapRAF(original) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (callback) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.apply(this, [wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original)\n },\n handled: false,\n type: 'instrument'\n }\n })]);\n };\n}\n/** JSDoc */\n\n\nfunction _wrapXHR(originalSend) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var xhr = this;\n var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n xmlHttpRequestProps.forEach(function (prop) {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original) {\n var wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original)\n },\n handled: false,\n type: 'instrument'\n }\n }; // If Instrument integration has been called before TryCatch, get the name of original function\n\n var originalFunction = getOriginalFunction(original);\n\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n } // Otherwise wrap directly\n\n\n return wrap(original, wrapOptions);\n });\n }\n });\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return originalSend.apply(this, args);\n };\n}\n/** JSDoc */\n\n\nfunction _wrapEventTarget(target) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var globalObject = WINDOW; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\n var proto = globalObject[target] && globalObject[target].prototype; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original) {\n return function ( // eslint-disable-next-line @typescript-eslint/no-explicit-any\n eventName, fn, options) {\n try {\n if (typeof fn.handleEvent === 'function') {\n // ESlint disable explanation:\n // First, it is generally safe to call `wrap` with an unbound function. Furthermore, using `.bind()` would\n // introduce a bug here, because bind returns a new function that doesn't have our\n // flags(like __sentry_original__) attached. `wrap` checks for those flags to avoid unnecessary wrapping.\n // Without those flags, every call to addEventListener wraps the function again, causing a memory leak.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n fn.handleEvent = wrap(fn.handleEvent, {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target: target\n },\n handled: false,\n type: 'instrument'\n }\n });\n }\n } catch (err) {// can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [eventName, // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target: target\n },\n handled: false,\n type: 'instrument'\n }\n }), options]);\n };\n });\n fill(proto, 'removeEventListener', function (originalRemoveEventListener // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ) {\n return function ( // eslint-disable-next-line @typescript-eslint/no-explicit-any\n eventName, fn, options) {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n var wrappedEventHandler = fn;\n\n try {\n var originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {// ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n });\n}\n\nexport { TryCatch };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { getCurrentHub } from '@sentry/core';\nimport { addInstrumentationHandler, getEventDescription, severityLevelFromString, safeJoin, SENTRY_XHR_DATA_KEY, parseUrl, logger, htmlTreeAsString } from '@sentry/utils';\nimport { WINDOW } from '../helpers.js';\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n\n/** maxStringLength gets capped to prevent 100 breadcrumbs exceeding 1MB event payload size */\n\nvar MAX_ALLOWED_STRING_LENGTH = 1024;\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\n\nvar Breadcrumbs = /*#__PURE__*/function () {\n /**\n * @inheritDoc\n */\n\n /**\n * Options of the breadcrumbs integration.\n */\n // This field is public, because we use it in the browser client to check if the `sentry` option is enabled.\n\n /**\n * @inheritDoc\n */\n function Breadcrumbs(options) {\n _classCallCheck(this, Breadcrumbs);\n\n this.name = Breadcrumbs.id;\n this.options = _objectSpread({\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true\n }, options);\n }\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n\n\n _createClass(Breadcrumbs, [{\n key: \"setupOnce\",\n value: function setupOnce() {\n if (this.options.console) {\n addInstrumentationHandler('console', _consoleBreadcrumb);\n }\n\n if (this.options.dom) {\n addInstrumentationHandler('dom', _domBreadcrumb(this.options.dom));\n }\n\n if (this.options.xhr) {\n addInstrumentationHandler('xhr', _xhrBreadcrumb);\n }\n\n if (this.options.fetch) {\n addInstrumentationHandler('fetch', _fetchBreadcrumb);\n }\n\n if (this.options.history) {\n addInstrumentationHandler('history', _historyBreadcrumb);\n }\n\n if (this.options.sentry) {\n var client = getCurrentHub().getClient();\n client && client.on && client.on('beforeSendEvent', addSentryBreadcrumb);\n }\n }\n }], [{\n key: \"__initStatic\",\n value:\n /**\n * @inheritDoc\n */\n function __initStatic() {\n this.id = 'Breadcrumbs';\n }\n }]);\n\n return Breadcrumbs;\n}();\n\nBreadcrumbs.__initStatic();\n/**\n * Adds a breadcrumb for Sentry events or transactions if this option is enabled.\n */\n\n\nfunction addSentryBreadcrumb(event) {\n getCurrentHub().addBreadcrumb({\n category: \"sentry.\".concat(event.type === 'transaction' ? 'transaction' : 'event'),\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event)\n }, {\n event: event\n });\n}\n/**\n * A HOC that creaes a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\n\n\nfunction _domBreadcrumb(dom) {\n function _innerDomBreadcrumb(handlerData) {\n var target;\n var keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n var maxStringLength = typeof dom === 'object' && typeof dom.maxStringLength === 'number' ? dom.maxStringLength : undefined;\n\n if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(\"`dom.maxStringLength` cannot exceed \".concat(MAX_ALLOWED_STRING_LENGTH, \", but a value of \").concat(maxStringLength, \" was configured. Sentry will use \").concat(MAX_ALLOWED_STRING_LENGTH, \" instead.\"));\n maxStringLength = MAX_ALLOWED_STRING_LENGTH;\n }\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n } // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n\n\n try {\n var event = handlerData.event;\n target = _isEvent(event) ? htmlTreeAsString(event.target, {\n keyAttrs: keyAttrs,\n maxStringLength: maxStringLength\n }) : htmlTreeAsString(event, {\n keyAttrs: keyAttrs,\n maxStringLength: maxStringLength\n });\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n getCurrentHub().addBreadcrumb({\n category: \"ui.\".concat(handlerData.name),\n message: target\n }, {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global\n });\n }\n\n return _innerDomBreadcrumb;\n}\n/**\n * Creates breadcrumbs from console API calls\n */\n\n\nfunction _consoleBreadcrumb(handlerData) {\n var breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console'\n },\n level: severityLevelFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' ')\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = \"Assertion failed: \".concat(safeJoin(handlerData.args.slice(1), ' ') || 'console.assert');\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level\n });\n}\n/**\n * Creates breadcrumbs from XHR API calls\n */\n\n\nfunction _xhrBreadcrumb(handlerData) {\n var startTimestamp = handlerData.startTimestamp,\n endTimestamp = handlerData.endTimestamp;\n var sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY]; // We only capture complete, non-sentry requests\n\n if (!startTimestamp || !endTimestamp || !sentryXhrData) {\n return;\n }\n\n var method = sentryXhrData.method,\n url = sentryXhrData.url,\n status_code = sentryXhrData.status_code,\n body = sentryXhrData.body;\n var data = {\n method: method,\n url: url,\n status_code: status_code\n };\n var hint = {\n xhr: handlerData.xhr,\n input: body,\n startTimestamp: startTimestamp,\n endTimestamp: endTimestamp\n };\n getCurrentHub().addBreadcrumb({\n category: 'xhr',\n data: data,\n type: 'http'\n }, hint);\n}\n/**\n * Creates breadcrumbs from fetch API calls\n */\n\n\nfunction _fetchBreadcrumb(handlerData) {\n var startTimestamp = handlerData.startTimestamp,\n endTimestamp = handlerData.endTimestamp; // We only capture complete fetch requests\n\n if (!endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n var data = handlerData.fetchData;\n var hint = {\n data: handlerData.error,\n input: handlerData.args,\n startTimestamp: startTimestamp,\n endTimestamp: endTimestamp\n };\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: data,\n level: 'error',\n type: 'http'\n }, hint);\n } else {\n var _data = _objectSpread(_objectSpread({}, handlerData.fetchData), {}, {\n status_code: handlerData.response && handlerData.response.status\n });\n\n var _hint = {\n input: handlerData.args,\n response: handlerData.response,\n startTimestamp: startTimestamp,\n endTimestamp: endTimestamp\n };\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: _data,\n type: 'http'\n }, _hint);\n }\n}\n/**\n * Creates breadcrumbs from history API calls\n */\n\n\nfunction _historyBreadcrumb(handlerData) {\n var from = handlerData.from;\n var to = handlerData.to;\n var parsedLoc = parseUrl(WINDOW.location.href);\n var parsedFrom = parseUrl(from);\n var parsedTo = parseUrl(to); // Initial pushState doesn't provide `from` information\n\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n } // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n\n\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from: from,\n to: to\n }\n });\n}\n\nfunction _isEvent(event) {\n return !!event && !!event.target;\n}\n\nexport { Breadcrumbs };","import _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { applyAggregateErrorsToEvent } from '@sentry/utils';\nimport { exceptionFromError } from '../eventbuilder.js';\nvar DEFAULT_KEY = 'cause';\nvar DEFAULT_LIMIT = 5;\n/** Adds SDK info to an event. */\n\nvar LinkedErrors = /*#__PURE__*/function () {\n /**\n * @inheritDoc\n */\n\n /**\n * @inheritDoc\n */\n\n /**\n * @inheritDoc\n */\n\n /**\n * @inheritDoc\n */\n function LinkedErrors() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LinkedErrors);\n\n this.name = LinkedErrors.id;\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n /** @inheritdoc */\n\n\n _createClass(LinkedErrors, [{\n key: \"setupOnce\",\n value: function setupOnce() {// noop\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"preprocessEvent\",\n value: function preprocessEvent(event, hint, client) {\n var options = client.getOptions();\n applyAggregateErrorsToEvent(exceptionFromError, options.stackParser, options.maxValueLength, this._key, this._limit, event, hint);\n }\n }], [{\n key: \"__initStatic\",\n value:\n /**\n * @inheritDoc\n */\n function __initStatic() {\n this.id = 'LinkedErrors';\n }\n }]);\n\n return LinkedErrors;\n}();\n\nLinkedErrors.__initStatic();\n\nexport { LinkedErrors };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { WINDOW } from '../helpers.js';\n/** HttpContext integration collects information about HTTP request headers */\n\nvar HttpContext = /*#__PURE__*/function () {\n /**\n * @inheritDoc\n */\n function HttpContext() {\n _classCallCheck(this, HttpContext);\n\n this.name = HttpContext.id;\n }\n /**\n * @inheritDoc\n */\n\n\n _createClass(HttpContext, [{\n key: \"setupOnce\",\n value: function setupOnce() {// noop\n }\n /** @inheritDoc */\n\n }, {\n key: \"preprocessEvent\",\n value: function preprocessEvent(event) {\n // if none of the information we want exists, don't bother\n if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n return;\n } // grab as much info as exists and add it to the event\n\n\n var url = event.request && event.request.url || WINDOW.location && WINDOW.location.href;\n\n var _ref = WINDOW.document || {},\n referrer = _ref.referrer;\n\n var _ref2 = WINDOW.navigator || {},\n userAgent = _ref2.userAgent;\n\n var headers = _objectSpread(_objectSpread(_objectSpread({}, event.request && event.request.headers), referrer && {\n Referer: referrer\n }), userAgent && {\n 'User-Agent': userAgent\n });\n\n var request = _objectSpread(_objectSpread(_objectSpread({}, event.request), url && {\n url: url\n }), {}, {\n headers: headers\n });\n\n event.request = request;\n }\n }], [{\n key: \"__initStatic\",\n value:\n /**\n * @inheritDoc\n */\n function __initStatic() {\n this.id = 'HttpContext';\n }\n }]);\n\n return HttpContext;\n}();\n\nHttpContext.__initStatic();\n\nexport { HttpContext };","import _classCallCheck from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport { logger } from '@sentry/utils';\n/** Deduplication filter */\n\nvar Dedupe = /*#__PURE__*/function () {\n /**\n * @inheritDoc\n */\n\n /**\n * @inheritDoc\n */\n function Dedupe() {\n _classCallCheck(this, Dedupe);\n\n this.name = Dedupe.id;\n }\n /** @inheritDoc */\n\n\n _createClass(Dedupe, [{\n key: \"setupOnce\",\n value: function setupOnce(_addGlobaleventProcessor, _getCurrentHub) {// noop\n }\n /**\n * @inheritDoc\n */\n\n }, {\n key: \"processEvent\",\n value: function processEvent(currentEvent) {\n // We want to ignore any non-error type events, e.g. transactions or replays\n // These should never be deduped, and also not be compared against as _previousEvent.\n if (currentEvent.type) {\n return currentEvent;\n } // Juuust in case something goes wrong\n\n\n try {\n if (_shouldDropEvent(currentEvent, this._previousEvent)) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n\n return this._previousEvent = currentEvent;\n }\n }], [{\n key: \"__initStatic\",\n value:\n /**\n * @inheritDoc\n */\n function __initStatic() {\n this.id = 'Dedupe';\n }\n }]);\n\n return Dedupe;\n}();\n\nDedupe.__initStatic();\n/** JSDoc */\n\n\nfunction _shouldDropEvent(currentEvent, previousEvent) {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n/** JSDoc */\n\n\nfunction _isSameMessageEvent(currentEvent, previousEvent) {\n var currentMessage = currentEvent.message;\n var previousMessage = previousEvent.message; // If neither event has a message property, they were both exceptions, so bail out\n\n if (!currentMessage && !previousMessage) {\n return false;\n } // If only one event has a stacktrace, but not the other one, they are not the same\n\n\n if (currentMessage && !previousMessage || !currentMessage && previousMessage) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n/** JSDoc */\n\n\nfunction _isSameExceptionEvent(currentEvent, previousEvent) {\n var previousException = _getExceptionFromEvent(previousEvent);\n\n var currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n/** JSDoc */\n\n\nfunction _isSameStacktrace(currentEvent, previousEvent) {\n var currentFrames = _getFramesFromEvent(currentEvent);\n\n var previousFrames = _getFramesFromEvent(previousEvent); // If neither event has a stacktrace, they are assumed to be the same\n\n\n if (!currentFrames && !previousFrames) {\n return true;\n } // If only one event has a stacktrace, but not the other one, they are not the same\n\n\n if (currentFrames && !previousFrames || !currentFrames && previousFrames) {\n return false;\n }\n\n currentFrames = currentFrames;\n previousFrames = previousFrames; // If number of frames differ, they are not the same\n\n if (previousFrames.length !== currentFrames.length) {\n return false;\n } // Otherwise, compare the two\n\n\n for (var i = 0; i < previousFrames.length; i++) {\n var frameA = previousFrames[i];\n var frameB = currentFrames[i];\n\n if (frameA.filename !== frameB.filename || frameA.lineno !== frameB.lineno || frameA.colno !== frameB.colno || frameA.function !== frameB.function) {\n return false;\n }\n }\n\n return true;\n}\n/** JSDoc */\n\n\nfunction _isSameFingerprint(currentEvent, previousEvent) {\n var currentFingerprint = currentEvent.fingerprint;\n var previousFingerprint = previousEvent.fingerprint; // If neither event has a fingerprint, they are assumed to be the same\n\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n } // If only one event has a fingerprint, but not the other one, they are not the same\n\n\n if (currentFingerprint && !previousFingerprint || !currentFingerprint && previousFingerprint) {\n return false;\n }\n\n currentFingerprint = currentFingerprint;\n previousFingerprint = previousFingerprint; // Otherwise, compare the two\n\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n/** JSDoc */\n\n\nfunction _getExceptionFromEvent(event) {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n/** JSDoc */\n\n\nfunction _getFramesFromEvent(event) {\n var exception = event.exception;\n\n if (exception) {\n try {\n // @ts-expect-error Object could be undefined\n return exception.values[0].stacktrace.frames;\n } catch (_oO) {\n return undefined;\n }\n }\n\n return undefined;\n}\n\nexport { Dedupe };","import _slicedToArray from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { createStackParser } from '@sentry/utils'; // global reference to slice\n\nvar UNKNOWN_FUNCTION = '?';\nvar OPERA10_PRIORITY = 10;\nvar OPERA11_PRIORITY = 20;\nvar CHROME_PRIORITY = 30;\nvar WINJS_PRIORITY = 40;\nvar GECKO_PRIORITY = 50;\n\nfunction createFrame(filename, func, lineno, colno) {\n var frame = {\n filename: filename,\n function: func,\n in_app: true // All browser frames are considered in_app\n\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n} // Chromium based browsers: Chrome, Brave, new Opera, new Edge\n\n\nvar chromeRegex = /^\\s*at (?:(.+?\\)(?: \\[.+\\])?|.*?) ?\\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nvar chrome = function chrome(line) {\n var parts = chromeRegex.exec(line);\n\n if (parts) {\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n var subMatch = chromeEvalRegex.exec(parts[2]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n\n parts[3] = subMatch[2]; // line\n\n parts[4] = subMatch[3]; // column\n }\n } // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n\n\n var _extractSafariExtensi = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]),\n _extractSafariExtensi2 = _slicedToArray(_extractSafariExtensi, 2),\n func = _extractSafariExtensi2[0],\n filename = _extractSafariExtensi2[1];\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nvar chromeStackLineParser = [CHROME_PRIORITY, chrome]; // gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\n\nvar geckoREgex = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:[-a-z]+)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nvar gecko = function gecko(line) {\n var parts = geckoREgex.exec(line);\n\n if (parts) {\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n\n if (isEval) {\n var subMatch = geckoEvalRegex.exec(parts[3]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n var filename = parts[3];\n var func = parts[1] || UNKNOWN_FUNCTION;\n\n var _extractSafariExtensi3 = extractSafariExtensionDetails(func, filename);\n\n var _extractSafariExtensi4 = _slicedToArray(_extractSafariExtensi3, 2);\n\n func = _extractSafariExtensi4[0];\n filename = _extractSafariExtensi4[1];\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nvar geckoStackLineParser = [GECKO_PRIORITY, gecko];\nvar winjsRegex = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:[-a-z]+):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nvar winjs = function winjs(line) {\n var parts = winjsRegex.exec(line);\n return parts ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined) : undefined;\n};\n\nvar winjsStackLineParser = [WINJS_PRIORITY, winjs];\nvar opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nvar opera10 = function opera10(line) {\n var parts = opera10Regex.exec(line);\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nvar opera10StackLineParser = [OPERA10_PRIORITY, opera10];\nvar opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nvar opera11 = function opera11(line) {\n var parts = opera11Regex.exec(line);\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nvar opera11StackLineParser = [OPERA11_PRIORITY, opera11];\nvar defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser, winjsStackLineParser];\nvar defaultStackParser = createStackParser.apply(void 0, defaultStackLineParsers);\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\n\nvar extractSafariExtensionDetails = function extractSafariExtensionDetails(func, filename) {\n var isSafariExtension = func.indexOf('safari-extension') !== -1;\n var isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n return isSafariExtension || isSafariWebExtension ? [func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION, isSafariExtension ? \"safari-extension:\".concat(filename) : \"safari-web-extension:\".concat(filename)] : [func, filename];\n};\n\nexport { chromeStackLineParser, defaultStackLineParsers, defaultStackParser, geckoStackLineParser, opera10StackLineParser, opera11StackLineParser, winjsStackLineParser };","import { isNativeFetch, logger } from '@sentry/utils';\nimport { WINDOW } from '../helpers.js';\nvar cachedFetchImpl = undefined;\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\n\nfunction getNativeFetchImplementation() {\n if (cachedFetchImpl) {\n return cachedFetchImpl;\n }\n /* eslint-disable @typescript-eslint/unbound-method */\n // Fast path to avoid DOM I/O\n\n\n if (isNativeFetch(WINDOW.fetch)) {\n return cachedFetchImpl = WINDOW.fetch.bind(WINDOW);\n }\n\n var document = WINDOW.document;\n var fetchImpl = WINDOW.fetch; // eslint-disable-next-line deprecation/deprecation\n\n if (document && typeof document.createElement === 'function') {\n try {\n var sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n var contentWindow = sandbox.contentWindow;\n\n if (contentWindow && contentWindow.fetch) {\n fetchImpl = contentWindow.fetch;\n }\n\n document.head.removeChild(sandbox);\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n\n return cachedFetchImpl = fetchImpl.bind(WINDOW);\n /* eslint-enable @typescript-eslint/unbound-method */\n}\n/** Clears cached fetch impl */\n\n\nfunction clearCachedFetchImplementation() {\n cachedFetchImpl = undefined;\n}\n\nexport { clearCachedFetchImplementation, getNativeFetchImplementation };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { createTransport } from '@sentry/core';\nimport { rejectedSyncPromise } from '@sentry/utils';\nimport { getNativeFetchImplementation, clearCachedFetchImplementation } from './utils.js';\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\n\nfunction makeFetchTransport(options) {\n var nativeFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getNativeFetchImplementation();\n var pendingBodySize = 0;\n var pendingCount = 0;\n\n function makeRequest(request) {\n var requestSize = request.body.length;\n pendingBodySize += requestSize;\n pendingCount++;\n\n var requestOptions = _objectSpread({\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n headers: options.headers,\n // Outgoing requests are usually cancelled when navigating to a different page, causing a \"TypeError: Failed to\n // fetch\" error and sending a \"network_error\" client-outcome - in Chrome, the request status shows \"(cancelled)\".\n // The `keepalive` flag keeps outgoing requests alive, even when switching pages. We want this since we're\n // frequently sending events right before the user is switching pages (eg. whenfinishing navigation transactions).\n // Gotchas:\n // - `keepalive` isn't supported by Firefox\n // - As per spec (https://fetch.spec.whatwg.org/#http-network-or-cache-fetch):\n // If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.\n // We will therefore only activate the flag when we're below that limit.\n // There is also a limit of requests that can be open at the same time, so we also limit this to 15\n // See https://github.com/getsentry/sentry-javascript/pull/7553 for details\n keepalive: pendingBodySize <= 60000 && pendingCount < 15\n }, options.fetchOptions);\n\n try {\n return nativeFetch(options.url, requestOptions).then(function (response) {\n pendingBodySize -= requestSize;\n pendingCount--;\n return {\n statusCode: response.status,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After')\n }\n };\n });\n } catch (e) {\n clearCachedFetchImplementation();\n pendingBodySize -= requestSize;\n pendingCount--;\n return rejectedSyncPromise(e);\n }\n }\n\n return createTransport(options, makeRequest);\n}\n\nexport { makeFetchTransport };","import { createTransport } from '@sentry/core';\nimport { SyncPromise } from '@sentry/utils';\n/**\n * The DONE ready state for XmlHttpRequest\n *\n * Defining it here as a constant b/c XMLHttpRequest.DONE is not always defined\n * (e.g. during testing, it is `undefined`)\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState}\n */\n\nvar XHR_READYSTATE_DONE = 4;\n/**\n * Creates a Transport that uses the XMLHttpRequest API to send events to Sentry.\n */\n\nfunction makeXHRTransport(options) {\n function makeRequest(request) {\n return new SyncPromise(function (resolve, reject) {\n var xhr = new XMLHttpRequest();\n xhr.onerror = reject;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XHR_READYSTATE_DONE) {\n resolve({\n statusCode: xhr.status,\n headers: {\n 'x-sentry-rate-limits': xhr.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': xhr.getResponseHeader('Retry-After')\n }\n });\n }\n };\n\n xhr.open('POST', options.url);\n\n for (var header in options.headers) {\n if (Object.prototype.hasOwnProperty.call(options.headers, header)) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n\n xhr.send(request.body);\n });\n }\n\n return createTransport(options, makeRequest);\n}\n\nexport { makeXHRTransport };","import _objectSpread from \"/home/deploy/dash/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport { Integrations, getIntegrationsToSetup, initAndBind, getReportDialogEndpoint, getCurrentHub } from '@sentry/core';\nimport { stackParserFromStackParserOptions, supportsFetch, logger, addInstrumentationHandler } from '@sentry/utils';\nimport { BrowserClient } from './client.js';\nimport { WINDOW, wrap as wrap$1 } from './helpers.js';\nimport { GlobalHandlers } from './integrations/globalhandlers.js';\nimport { TryCatch } from './integrations/trycatch.js';\nimport { Breadcrumbs } from './integrations/breadcrumbs.js';\nimport { LinkedErrors } from './integrations/linkederrors.js';\nimport { HttpContext } from './integrations/httpcontext.js';\nimport { Dedupe } from './integrations/dedupe.js';\nimport { defaultStackParser } from './stack-parsers.js';\nimport { makeFetchTransport } from './transports/fetch.js';\nimport { makeXHRTransport } from './transports/xhr.js';\nvar defaultIntegrations = [new Integrations.InboundFilters(), new Integrations.FunctionToString(), new TryCatch(), new Breadcrumbs(), new GlobalHandlers(), new LinkedErrors(), new Dedupe(), new HttpContext()];\n/**\n * A magic string that build tooling can leverage in order to inject a release value into the SDK.\n */\n\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\n\nfunction init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n\n if (options.release === undefined) {\n // This allows build tooling to find-and-replace __SENTRY_RELEASE__ to inject a release value\n if (typeof __SENTRY_RELEASE__ === 'string') {\n options.release = __SENTRY_RELEASE__;\n } // This supports the variable that sentry-webpack-plugin injects\n\n\n if (WINDOW.SENTRY_RELEASE && WINDOW.SENTRY_RELEASE.id) {\n options.release = WINDOW.SENTRY_RELEASE.id;\n }\n }\n\n if (options.autoSessionTracking === undefined) {\n options.autoSessionTracking = true;\n }\n\n if (options.sendClientReports === undefined) {\n options.sendClientReports = true;\n }\n\n var clientOptions = _objectSpread(_objectSpread({}, options), {}, {\n stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n integrations: getIntegrationsToSetup(options),\n transport: options.transport || (supportsFetch() ? makeFetchTransport : makeXHRTransport)\n });\n\n initAndBind(BrowserClient, clientOptions);\n\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n}\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\n\n\nfunction showReportDialog() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var hub = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentHub();\n\n // doesn't work without a document (React Native)\n if (!WINDOW.document) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Global document not defined in showReportDialog call');\n return;\n }\n\n var _hub$getStackTop = hub.getStackTop(),\n client = _hub$getStackTop.client,\n scope = _hub$getStackTop.scope;\n\n var dsn = options.dsn || client && client.getDsn();\n\n if (!dsn) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('DSN not configured for showReportDialog call');\n return;\n }\n\n if (scope) {\n options.user = _objectSpread(_objectSpread({}, scope.getUser()), options.user);\n }\n\n if (!options.eventId) {\n options.eventId = hub.lastEventId();\n }\n\n var script = WINDOW.document.createElement('script');\n script.async = true;\n script.crossOrigin = 'anonymous';\n script.src = getReportDialogEndpoint(dsn, options);\n\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n\n var injectionPoint = WINDOW.document.head || WINDOW.document.body;\n\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n } else {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error('Not injecting report dialog. No injection point found in HTML');\n }\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\n\n\nfunction forceLoad() {// Noop\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\n\n\nfunction onLoad(callback) {\n callback();\n}\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @deprecated This function will be removed in v8.\n * It is not part of Sentry's official API and it's easily replaceable by using a try/catch block\n * and calling Sentry.captureException.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\n// TODO(v8): Remove this function\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\nfunction wrap(fn) {\n return wrap$1(fn)();\n}\n\nfunction startSessionOnHub(hub) {\n hub.startSession({\n ignoreDuration: true\n });\n hub.captureSession();\n}\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\n\n\nfunction startSessionTracking() {\n if (typeof WINDOW.document === 'undefined') {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('Session tracking in non-browser environment with @sentry/browser is not supported.');\n return;\n }\n\n var hub = getCurrentHub(); // The only way for this to be false is for there to be a version mismatch between @sentry/browser (>= 6.0.0) and\n // @sentry/hub (< 5.27.0). In the simple case, there won't ever be such a mismatch, because the two packages are\n // pinned at the same version in package.json, but there are edge cases where it's possible. See\n // https://github.com/getsentry/sentry-javascript/issues/3207 and\n // https://github.com/getsentry/sentry-javascript/issues/3234 and\n // https://github.com/getsentry/sentry-javascript/issues/3278.\n\n if (!hub.captureSession) {\n return;\n } // The session duration for browser sessions does not track a meaningful\n // concept that can be used as a metric.\n // Automatically captured sessions are akin to page views, and thus we\n // discard their duration.\n\n\n startSessionOnHub(hub); // We want to create a session for every navigation as well\n\n addInstrumentationHandler('history', function (_ref) {\n var from = _ref.from,\n to = _ref.to;\n\n // Don't create an additional session for the initial route or if the location did not change\n if (!(from === undefined || from === to)) {\n startSessionOnHub(getCurrentHub());\n }\n });\n}\n/**\n * Captures user feedback and sends it to Sentry.\n */\n\n\nfunction captureUserFeedback(feedback) {\n var client = getCurrentHub().getClient();\n\n if (client) {\n client.captureUserFeedback(feedback);\n }\n}\n\nexport { captureUserFeedback, defaultIntegrations, forceLoad, init, onLoad, showReportDialog, wrap };","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n} // About 1.5x faster than the two-arg version of Array#splice()\n\n\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n} // This implementation is based heavily on node's url.parse\n\n\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n var hasTrailingSlash;\n\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }\n if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n var result = fromParts.join('/');\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n return result;\n}\n\nexport default resolvePathname;","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nfunction f(a, b) {\n var c = a.length;\n a.push(b);\n\n a: for (; 0 < c;) {\n var d = c - 1 >>> 1,\n e = a[d];\n if (0 < g(e, b)) a[d] = b, a[c] = e, c = d;else break a;\n }\n}\n\nfunction h(a) {\n return 0 === a.length ? null : a[0];\n}\n\nfunction k(a) {\n if (0 === a.length) return null;\n var b = a[0],\n c = a.pop();\n\n if (c !== b) {\n a[0] = c;\n\n a: for (var d = 0, e = a.length, w = e >>> 1; d < w;) {\n var m = 2 * (d + 1) - 1,\n C = a[m],\n n = m + 1,\n x = a[n];\n if (0 > g(C, c)) n < e && 0 > g(x, C) ? (a[d] = x, a[n] = c, d = n) : (a[d] = C, a[m] = c, d = m);else if (n < e && 0 > g(x, c)) a[d] = x, a[n] = c, d = n;else break a;\n }\n }\n\n return b;\n}\n\nfunction g(a, b) {\n var c = a.sortIndex - b.sortIndex;\n return 0 !== c ? c : a.id - b.id;\n}\n\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var l = performance;\n\n exports.unstable_now = function () {\n return l.now();\n };\n} else {\n var p = Date,\n q = p.now();\n\n exports.unstable_now = function () {\n return p.now() - q;\n };\n}\n\nvar r = [],\n t = [],\n u = 1,\n v = null,\n y = 3,\n z = !1,\n A = !1,\n B = !1,\n D = \"function\" === typeof setTimeout ? setTimeout : null,\n E = \"function\" === typeof clearTimeout ? clearTimeout : null,\n F = \"undefined\" !== typeof setImmediate ? setImmediate : null;\n\"undefined\" !== typeof navigator && void 0 !== navigator.scheduling && void 0 !== navigator.scheduling.isInputPending && navigator.scheduling.isInputPending.bind(navigator.scheduling);\n\nfunction G(a) {\n for (var b = h(t); null !== b;) {\n if (null === b.callback) k(t);else if (b.startTime <= a) k(t), b.sortIndex = b.expirationTime, f(r, b);else break;\n b = h(t);\n }\n}\n\nfunction H(a) {\n B = !1;\n G(a);\n if (!A) if (null !== h(r)) A = !0, I(J);else {\n var b = h(t);\n null !== b && K(H, b.startTime - a);\n }\n}\n\nfunction J(a, b) {\n A = !1;\n B && (B = !1, E(L), L = -1);\n z = !0;\n var c = y;\n\n try {\n G(b);\n\n for (v = h(r); null !== v && (!(v.expirationTime > b) || a && !M());) {\n var d = v.callback;\n\n if (\"function\" === typeof d) {\n v.callback = null;\n y = v.priorityLevel;\n var e = d(v.expirationTime <= b);\n b = exports.unstable_now();\n \"function\" === typeof e ? v.callback = e : v === h(r) && k(r);\n G(b);\n } else k(r);\n\n v = h(r);\n }\n\n if (null !== v) var w = !0;else {\n var m = h(t);\n null !== m && K(H, m.startTime - b);\n w = !1;\n }\n return w;\n } finally {\n v = null, y = c, z = !1;\n }\n}\n\nvar N = !1,\n O = null,\n L = -1,\n P = 5,\n Q = -1;\n\nfunction M() {\n return exports.unstable_now() - Q < P ? !1 : !0;\n}\n\nfunction R() {\n if (null !== O) {\n var a = exports.unstable_now();\n Q = a;\n var b = !0;\n\n try {\n b = O(!0, a);\n } finally {\n b ? S() : (N = !1, O = null);\n }\n } else N = !1;\n}\n\nvar S;\nif (\"function\" === typeof F) S = function S() {\n F(R);\n};else if (\"undefined\" !== typeof MessageChannel) {\n var T = new MessageChannel(),\n U = T.port2;\n T.port1.onmessage = R;\n\n S = function S() {\n U.postMessage(null);\n };\n} else S = function S() {\n D(R, 0);\n};\n\nfunction I(a) {\n O = a;\n N || (N = !0, S());\n}\n\nfunction K(a, b) {\n L = D(function () {\n a(exports.unstable_now());\n }, b);\n}\n\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\n\nexports.unstable_cancelCallback = function (a) {\n a.callback = null;\n};\n\nexports.unstable_continueExecution = function () {\n A || z || (A = !0, I(J));\n};\n\nexports.unstable_forceFrameRate = function (a) {\n 0 > a || 125 < a ? console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\") : P = 0 < a ? Math.floor(1E3 / a) : 5;\n};\n\nexports.unstable_getCurrentPriorityLevel = function () {\n return y;\n};\n\nexports.unstable_getFirstCallbackNode = function () {\n return h(r);\n};\n\nexports.unstable_next = function (a) {\n switch (y) {\n case 1:\n case 2:\n case 3:\n var b = 3;\n break;\n\n default:\n b = y;\n }\n\n var c = y;\n y = b;\n\n try {\n return a();\n } finally {\n y = c;\n }\n};\n\nexports.unstable_pauseExecution = function () {};\n\nexports.unstable_requestPaint = function () {};\n\nexports.unstable_runWithPriority = function (a, b) {\n switch (a) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n\n default:\n a = 3;\n }\n\n var c = y;\n y = a;\n\n try {\n return b();\n } finally {\n y = c;\n }\n};\n\nexports.unstable_scheduleCallback = function (a, b, c) {\n var d = exports.unstable_now();\n \"object\" === typeof c && null !== c ? (c = c.delay, c = \"number\" === typeof c && 0 < c ? d + c : d) : c = d;\n\n switch (a) {\n case 1:\n var e = -1;\n break;\n\n case 2:\n e = 250;\n break;\n\n case 5:\n e = 1073741823;\n break;\n\n case 4:\n e = 1E4;\n break;\n\n default:\n e = 5E3;\n }\n\n e = c + e;\n a = {\n id: u++,\n callback: b,\n priorityLevel: a,\n startTime: c,\n expirationTime: e,\n sortIndex: -1\n };\n c > d ? (a.sortIndex = c, f(t, a), null === h(r) && a === h(t) && (B ? (E(L), L = -1) : B = !0, K(H, c - d))) : (a.sortIndex = e, f(r, a), A || z || (A = !0, I(J)));\n return a;\n};\n\nexports.unstable_shouldYield = M;\n\nexports.unstable_wrapCallback = function (a) {\n var b = y;\n return function () {\n var c = y;\n y = b;\n\n try {\n return a.apply(this, arguments);\n } finally {\n y = c;\n }\n };\n};","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}"],"names":["_excluded","isMeasurementValue","value","isFinite","_startChild","transaction","_ref","startTimestamp","ctx","startChild","msToSec","time","getBrowserPerformanceAPI","addEventListener","performance","_lcpEntry","_clsEntry","_performanceCursor","_measurements","startTrackingWebVitals","mark","fidCallback","_ref5","metric","entry","entries","pop","timeOrigin","startTime","__SENTRY_DEBUG__","logger","log","unit","clsCallback","_ref3","lcpCallback","_ref4","addPerformanceEntries","getEntries","responseStartTimestamp","requestStartTimestamp","performanceEntries","slice","forEach","duration","op","entryType","event","_addPerformanceNavigationTiming","origin","description","requestStart","endTimestamp","responseEnd","responseStart","_addRequest","_addNavigationSpans","measureStartTimestamp","measureEndTimestamp","name","_addMeasureSpans","firstHidden","getVisibilityWatcher","shouldRecord","firstHiddenTime","resourceName","replace","location","initiatorType","data","transferSize","encodedBodySize","decodedBodySize","renderBlockingStatus","concat","_addResourceSpans","Math","max","length","navigator","connection","effectiveType","setTag","type","rtt","deviceMemory","hardwareConcurrency","String","_trackNavigator","oldValue","measurementTimestamp","normalizedValue","abs","delta","fidMark","cls","Object","keys","measurementName","setMeasurement","element","id","url","trim","size","sources","source","index","node","_tagMetricInfo","undefined","eventEnd","end","start","DEFAULT_TRACE_PROPAGATION_TARGETS","defaultRequestInstrumentationOptions","traceFetch","traceXHR","enableHTTPTimings","tracingOrigins","tracePropagationTargets","instrumentOutgoingRequests","_options","_traceFetch$traceXHR$","shouldCreateSpanForRequest","shouldCreateSpan","_","shouldAttachHeadersWithTargets","string","shouldAttachHeaders","spans","handlerData","createdSpan","hasTracingEnabled","fetchData","shouldCreateSpanResult","spanId","__span","_span","response","setHttpStatus","status","contentLength","headers","get","contentLengthNum","parseInt","setData","error","setStatus","finish","hub","scope","getScope","client","getClient","parentSpan","getSpan","_handlerData$fetchDat","method","span","request","args","options","requestSpan","_scope$getPropagation","getPropagationContext","traceId","sampled","dsc","sentryTraceHeader","toTraceparent","dynamicSamplingContext","getDynamicSamplingContext","sentryBaggageHeader","Request","is","Headers","newHeaders","append","Array","isArray","_newHeaders","push","existingBaggageHeader","baggage","newBaggageHeaders","apply","join","addTracingHeadersToFetchRequest","fetchCallback","addHTTPTimings","xhr","sentryXhrData","__sentry_own_request__","__sentry_xhr_span_id__","_span2","status_code","setRequestHeader","setHeaderOnXhr","_scope$getPropagation2","_dynamicSamplingContext","xhrCallback","cleanup","nextHopProtocol","isPerformanceResourceTiming","endsWith","resourceTiming","_extractNetworkProtoc","_step","version","_name","_iterator","s","n","done","char","_nextHopProtocol$spli","split","_nextHopProtocol$spli2","isNaN","Number","err","e","f","extractNetworkProtocol","timingSpanData","getAbsoluteTime","redirectStart","fetchStart","domainLookupStart","domainLookupEnd","connectStart","secureConnectionStart","connectEnd","resourceTimingEntryToSpanData","setTimeout","arguments","DEFAULT_BROWSER_TRACING_OPTIONS","markBackgroundTransactions","routingInstrumentation","customStartTransaction","startTransactionOnPageLoad","startTransactionOnLocationChange","activeTransaction","startingUrl","href","pathname","metadata","to","from","indexOf","warn","enableLongTask","_experiments","BrowserTracing","this","_hasSetTracePropagationTargets","_collectWebVitals","enableInteractions","_ref2","_step2","_iterator2","target","key","getCurrentHub","_this","_getCurrentHub","clientOptions","getOptions","_this$options","instrumentRouting","clientOptionsTracePropagationTargets","context","_createRouteTransaction","onStartRouteTransaction","document","hidden","statusType","_registerInteractionListener","_this2","_this$options2","beforeNavigate","idleTimeout","finalTimeout","heartbeatInterval","isPageloadTransaction","sentryTrace","getMetaContent","_tracingContextFromHe","tracing","traceparentData","propagationContext","expandedContext","trimEnd","modifiedContext","finalContext","_latestRouteName","_latestRouteSource","idleTransaction","setPropagationContext","parentSpanId","registerBeforeFinishCallback","inflightInteractionTransaction","_this3","registerInteractionTransaction","_this3$options","currentTransaction","includes","setFinishReason","once","capture","metaName","metaTag","getAttribute","_previousCls","_previousFid","_previousLcp","bindReporter","callback","reportAllChanges","prevValue","forceReport","getNavigationEntry","__WEB_VITALS_POLYFILL__","getEntriesByType","timing","navigation","navigationEntry","navigationStart","getNavigationEntryFromPerformanceTiming","getActivationStart","navEntry","activationStart","initMetric","navigationType","prerendering","rating","Date","now","floor","random","observe","opts","PerformanceObserver","supportedEntryTypes","po","list","assign","buffered","onCLS","onReport","report","sessionValue","sessionEntries","handleEntries","hadRecentInput","firstSessionEntry","lastSessionEntry","stopListening","takeRecords","onHidden","onFID","visibilityWatcher","handleEntry","processingStart","disconnect","reportedMetricIDs","onLCP","lastEntry","handlers","instrumented","addClsInstrumentationHandler","addMetricObserver","instrumentCls","addLcpInstrumentationHandler","instrumentLcp","addFidInstrumentationHandler","instrumentFid","addPerformanceInstrumentationHandler","addHandler","durationThreshold","triggerHandlers","instrumentPerformanceObserver","getCleanupCallback","typeHandlers","handler","instrumentFn","previousValue","splice","WINDOW","visibilityState","Infinity","timeStamp","cb","onHiddenOrPageHide","removeEventListener","exceptionFromError","stackParser","ex","frames","parseStackFrames","exception","extractMessage","stacktrace","eventFromError","values","stack","popSize","framesToPop","reactMinifiedRegexp","test","message","getPopSize","eventFromUnknownInput","syntheticException","attachStacktrace","isUnhandledRejection","domException","eventFromString","tags","code","normalizeDepth","constructor","getNonErrorObjectExceptionValue","extra","__serialized__","normalize","eventFromPlainObject","synthetic","input","captureType","className","obj","prototype","getPrototypeOf","getObjectClassName","ignoreOnError","shouldIgnoreOnError","wrap","fn","before","wrapper","__sentry_wrapped__","sentryWrapped","call","wrappedArguments","map","arg","addEventProcessor","mechanism","property","hasOwnProperty","_oO","getOwnPropertyDescriptor","configurable","defineProperty","createUserFeedbackEnvelope","feedback","tunnel","dsn","event_id","sent_at","toISOString","sdk","item","createUserFeedbackEnvelopeItem","BrowserClient","_BaseClient","_super","sdkSource","SENTRY_SDK_SOURCE","_metadata","packages","sendClientReports","_flushOutcomes","hint","level","_isEnabled","envelope","getSdkMetadata","getDsn","_sendEnvelope","platform","outcomes","_clearOutcomes","_dsn","GlobalHandlers","onerror","onunhandledrejection","_installFunc","_installGlobalOnErrorHandler","_installGlobalOnUnhandledRejectionHandler","Error","stackTraceLimit","installFunc","_getHubAndOptions","getHubAndOptions","_getHubAndOptions2","getIntegration","msg","line","column","ERROR_TYPES_RE","groups","match","_enhanceEventWithInitialFrame","_eventFromIncompleteOnError","addMechanismAndCapture","_getHubAndOptions3","_getHubAndOptions4","reason","detail","ev","ev0","ev0s","ev0sf","colno","lineno","filename","function","in_app","handled","captureEvent","originalException","__initStatic","DEFAULT_EVENT_TARGET","TryCatch","XMLHttpRequest","eventTarget","requestAnimationFrame","setInterval","_wrapTimeFunction","_wrapRAF","_wrapXHR","eventTargetOption","_wrapEventTarget","original","_len","_key","originalCallback","originalSend","prop","wrapOptions","originalFunction","_len2","_key2","globalObject","proto","eventName","handleEvent","originalRemoveEventListener","wrappedEventHandler","originalEventHandler","MAX_ALLOWED_STRING_LENGTH","Breadcrumbs","console","dom","fetch","history","sentry","_consoleBreadcrumb","_innerDomBreadcrumb","keyAttrs","serializeAttribute","maxStringLength","_isEvent","addBreadcrumb","category","global","_domBreadcrumb","_xhrBreadcrumb","_fetchBreadcrumb","_historyBreadcrumb","on","addSentryBreadcrumb","breadcrumb","severity","body","_data","_hint","parsedLoc","parsedFrom","parsedTo","path","protocol","host","relative","LinkedErrors","_limit","limit","maxValueLength","HttpContext","referrer","userAgent","Referer","Dedupe","_addGlobaleventProcessor","currentEvent","previousEvent","currentMessage","previousMessage","_isSameFingerprint","_isSameStacktrace","_isSameMessageEvent","previousException","_getExceptionFromEvent","currentException","_isSameExceptionEvent","_shouldDropEvent","_previousEvent","currentFrames","_getFramesFromEvent","previousFrames","i","frameA","frameB","currentFingerprint","fingerprint","previousFingerprint","UNKNOWN_FUNCTION","createFrame","func","frame","chromeRegex","chromeEvalRegex","geckoREgex","geckoEvalRegex","winjsRegex","defaultStackLineParsers","parts","exec","subMatch","_extractSafariExtensi","extractSafariExtensionDetails","_extractSafariExtensi2","_extractSafariExtensi3","_extractSafariExtensi4","defaultStackParser","isSafariExtension","isSafariWebExtension","cachedFetchImpl","makeFetchTransport","nativeFetch","bind","fetchImpl","createElement","sandbox","head","appendChild","contentWindow","removeChild","getNativeFetchImplementation","pendingBodySize","pendingCount","requestSize","requestOptions","referrerPolicy","keepalive","fetchOptions","then","statusCode","XHR_READYSTATE_DONE","makeXHRTransport","resolve","reject","header","onreadystatechange","readyState","getResponseHeader","open","send","defaultIntegrations","init","release","__SENTRY_RELEASE__","SENTRY_RELEASE","autoSessionTracking","integrations","transport","supports","captureSession","startSessionOnHub","startSessionTracking","showReportDialog","_hub$getStackTop","getStackTop","user","getUser","eventId","lastEventId","script","async","crossOrigin","src","onLoad","onload","injectionPoint","startSession","ignoreDuration","isAbsolute","charAt","spliceOne","k","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","last","up","part","unshift","result","substr","a","b","c","d","g","h","w","m","C","x","sortIndex","l","exports","unstable_now","p","q","r","t","u","v","y","z","A","B","D","E","clearTimeout","F","setImmediate","G","expirationTime","H","I","J","K","L","M","priorityLevel","scheduling","isInputPending","S","N","O","P","Q","R","MessageChannel","T","U","port2","port1","onmessage","postMessage","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_continueExecution","unstable_forceFrameRate","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","delay","unstable_shouldYield","unstable_wrapCallback","module"],"sourceRoot":""}