{"version":3,"file":"app-c1544d4dc6559f032718.js","mappings":";uLAwFO,SAASA,EAAUC,EAAWC,EAASC,GAI5C,QAHY,IAARA,IACFA,EAAMC,QAEHH,EACH,MAAM,IAAIE,EAAID,EAElB,EACwC,QAAQ,WAG9C,IAFA,IAAIG,EACAC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACtCD,EAAKC,GAAMC,UAAUD,GAEvB,OAAO,KAAMF,EAAKK,KAAKC,cAAcC,KAAKC,MAAMR,GAAI,QAAc,MAAC,GAASC,GAAM,IACpF,GAAG,CACDQ,SAAU,IAAWC,YAEmB,QAAQ,WAGhD,IAFA,IAAIV,EACAC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACtCD,EAAKC,GAAMC,UAAUD,GAEvB,OAAO,KAAMF,EAAKK,KAAKM,gBAAgBJ,KAAKC,MAAMR,GAAI,QAAc,MAAC,GAASC,GAAM,IACtF,GAAG,CACDQ,SAAU,IAAWC,YAEgB,QAAQ,WAG7C,IAFA,IAAIV,EACAC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACtCD,EAAKC,GAAMC,UAAUD,GAEvB,OAAO,KAAMF,EAAKK,KAAKO,aAAaL,KAAKC,MAAMR,GAAI,QAAc,MAAC,GAASC,GAAM,IACnF,GAAG,CACDQ,SAAU,IAAWC,YAEW,QAAQ,WAGxC,IAFA,IAAIV,EACAC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACtCD,EAAKC,GAAMC,UAAUD,GAEvB,OAAO,KAAMF,EAAKK,KAAKQ,QAAQN,KAAKC,MAAMR,GAAI,QAAc,MAAC,GAASC,GAAM,IAC9E,GAAG,CACDQ,SAAU,IAAWC,YAEe,QAAQ,WAG5C,IAFA,IAAIV,EACAC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACtCD,EAAKC,GAAMC,UAAUD,GAEvB,OAAO,KAAMF,EAAKK,KAAKS,YAAYP,KAAKC,MAAMR,GAAI,QAAc,MAAC,GAASC,GAAM,IAClF,GAAG,CACDQ,SAAU,IAAWC,+CC7IhB,SAASK,EAAQC,EAAIC,GAC1B,IAAIC,EAAQD,GAAWA,EAAQC,MAAQD,EAAQC,MAAQC,EACnDC,EAAaH,GAAWA,EAAQG,WAAaH,EAAQG,WAAaC,EAEtE,OADeJ,GAAWA,EAAQR,SAAWQ,EAAQR,SAAWa,GAChDN,EAAI,CAClBE,MAAOA,EACPE,WAAYA,GAEhB,CAOA,SAASG,EAAQP,EAAIE,EAAOE,EAAYI,GACtC,IAJmBC,EAIfC,EAHY,OADGD,EAIQD,IAHc,iBAAVC,GAAuC,kBAAVA,EAG1BD,EAAMJ,EAAWI,GAC/CG,EAAgBT,EAAMU,IAAIF,GAK9B,YAJ6B,IAAlBC,IACTA,EAAgBX,EAAGa,KAAKC,KAAMN,GAC9BN,EAAMa,IAAIL,EAAUC,IAEfA,CACT,CACA,SAASjB,EAASM,EAAIE,EAAOE,GAC3B,IAAInB,EAAO+B,MAAMC,UAAUC,MAAML,KAAK1B,UAAW,GAC7CuB,EAAWN,EAAWnB,GACtB0B,EAAgBT,EAAMU,IAAIF,GAK9B,YAJ6B,IAAlBC,IACTA,EAAgBX,EAAGR,MAAMsB,KAAM7B,GAC/BiB,EAAMa,IAAIL,EAAUC,IAEfA,CACT,CACA,SAASQ,EAASnB,EAAIoB,EAAS3B,EAAUS,EAAOmB,GAC9C,OAAO5B,EAASF,KAAK6B,EAASpB,EAAIE,EAAOmB,EAC3C,CACA,SAASf,EAAgBN,EAAIC,GAE3B,OAAOkB,EAASnB,EAAIc,KADS,IAAdd,EAAGZ,OAAemB,EAAUb,EACPO,EAAQC,MAAMoB,SAAUrB,EAAQG,WACtE,wDAUA,IAAIC,EAAoB,WACtB,OAAOkB,KAAKC,UAAUrC,UACxB,EAIA,SAASsC,IACPX,KAAKZ,MAAQwB,OAAOJ,OAAO,KAC7B,CACAG,EAA4BR,UAAUL,IAAM,SAAUe,GACpD,OAAOb,KAAKZ,MAAMyB,EACpB,EACAF,EAA4BR,UAAUF,IAAM,SAAUY,EAAKlB,GACzDK,KAAKZ,MAAMyB,GAAOlB,CACpB,EACA,IAAIN,EAAe,CACjBmB,OAAQ,WAEN,OAAO,IAAIG,CACb,GAESG,EAAa,CACtBlC,SA/BF,SAA0BM,EAAIC,GAC5B,OAAOkB,EAASnB,EAAIc,KAAMpB,EAAUO,EAAQC,MAAMoB,SAAUrB,EAAQG,WACtE,EA8BEG,QA7BF,SAAyBP,EAAIC,GAC3B,OAAOkB,EAASnB,EAAIc,KAAMP,EAASN,EAAQC,MAAMoB,SAAUrB,EAAQG,WACrE,6WCjDWyB,cACX,SAAWA,GAETA,EAAUA,EAAyC,8BAAI,GAAK,gCAE5DA,EAAUA,EAA0B,eAAI,GAAK,iBAE7CA,EAAUA,EAA8B,mBAAI,GAAK,qBAEjDA,EAAUA,EAAgC,qBAAI,GAAK,uBAEnDA,EAAUA,EAAiC,sBAAI,GAAK,wBAEpDA,EAAUA,EAAiC,sBAAI,GAAK,wBAEpDA,EAAUA,EAAmC,wBAAI,GAAK,0BAEtDA,EAAUA,EAAsC,2BAAI,GAAK,6BAEzDA,EAAUA,EAAkC,uBAAI,GAAK,yBAErDA,EAAUA,EAAqC,0BAAI,IAAM,4BAEzDA,EAAUA,EAA4C,iCAAI,IAAM,mCAEhEA,EAAUA,EAA0C,+BAAI,IAAM,iCAE9DA,EAAUA,EAA+C,oCAAI,IAAM,sCAEnEA,EAAUA,EAAgD,qCAAI,IAAM,uCAEpEA,EAAUA,EAA2C,gCAAI,IAAM,kCAE/DA,EAAUA,EAA2C,gCAAI,IAAM,kCAE/DA,EAAUA,EAAoD,yCAAI,IAAM,2CAKxEA,EAAUA,EAAoD,yCAAI,IAAM,2CAExEA,EAAUA,EAA4C,iCAAI,IAAM,mCAKhEA,EAAUA,EAA8C,mCAAI,IAAM,qCAIlEA,EAAUA,EAA8C,mCAAI,IAAM,qCAElEA,EAAUA,EAAgC,qBAAI,IAAM,uBAEpDA,EAAUA,EAAuB,YAAI,IAAM,cAE3CA,EAAUA,EAA4B,iBAAI,IAAM,mBAEhDA,EAAUA,EAAiC,sBAAI,IAAM,wBAErDA,EAAUA,EAAwB,aAAI,IAAM,cAC7C,CA7DD,CA6DGA,IAAcA,EAAY,CAAC,QC9DnBC,EAwCAC,4BAQJ,SAASC,EAAiBC,GAC/B,OAAOA,EAAGC,OAASJ,EAAKK,OAC1B,CACO,SAASC,EAAkBH,GAChC,OAAOA,EAAGC,OAASJ,EAAKO,QAC1B,CACO,SAASC,EAAgBL,GAC9B,OAAOA,EAAGC,OAASJ,EAAKS,MAC1B,CACO,SAASC,EAAcP,GAC5B,OAAOA,EAAGC,OAASJ,EAAKW,IAC1B,CACO,SAASC,EAAcT,GAC5B,OAAOA,EAAGC,OAASJ,EAAKa,IAC1B,CACO,SAASC,EAAgBX,GAC9B,OAAOA,EAAGC,OAASJ,EAAKe,MAC1B,CACO,SAASC,EAAgBb,GAC9B,OAAOA,EAAGC,OAASJ,EAAKiB,MAC1B,CACO,SAASC,EAAef,GAC7B,OAAOA,EAAGC,OAASJ,EAAKmB,KAC1B,CACO,SAASC,EAAajB,GAC3B,OAAOA,EAAGC,OAASJ,EAAKqB,GAC1B,CACO,SAASC,EAAiBnB,GAC/B,SAAUA,GAAoB,iBAAPA,GAAmBA,EAAGC,OAASH,EAAcQ,OACtE,CACO,SAASc,EAAmBpB,GACjC,SAAUA,GAAoB,iBAAPA,GAAmBA,EAAGC,OAASH,EAAcuB,SACtE,EA/EA,SAAWxB,GAITA,EAAKA,EAAc,QAAI,GAAK,UAI5BA,EAAKA,EAAe,SAAI,GAAK,WAI7BA,EAAKA,EAAa,OAAI,GAAK,SAI3BA,EAAKA,EAAW,KAAI,GAAK,OAIzBA,EAAKA,EAAW,KAAI,GAAK,OAIzBA,EAAKA,EAAa,OAAI,GAAK,SAI3BA,EAAKA,EAAa,OAAI,GAAK,SAK3BA,EAAKA,EAAY,MAAI,GAAK,QAI1BA,EAAKA,EAAU,IAAI,GAAK,KACzB,CAtCD,CAsCGA,IAASA,EAAO,CAAC,IAEpB,SAAWC,GACTA,EAAcA,EAAsB,OAAI,GAAK,SAC7CA,EAAcA,EAAwB,SAAI,GAAK,UAChD,CAHD,CAGGA,IAAkBA,EAAgB,CAAC,IC3C/B,IAAIwB,EAAwB,+CCI/BC,EAAkB,4KAOf,SAASC,EAAsBC,GACpC,IAAIC,EAAS,CAAC,EA8Gd,OA7GAD,EAASE,QAAQJ,GAAiB,SAAUK,GAC1C,IAAIC,EAAMD,EAAMzE,OAChB,OAAQyE,EAAM,IAEZ,IAAK,IACHF,EAAOI,IAAc,IAARD,EAAY,OAAiB,IAARA,EAAY,SAAW,QACzD,MAEF,IAAK,IACHH,EAAOK,KAAe,IAARF,EAAY,UAAY,UACtC,MACF,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACH,MAAM,IAAIG,WAAW,gEAEvB,IAAK,IACL,IAAK,IACH,MAAM,IAAIA,WAAW,8CAEvB,IAAK,IACL,IAAK,IACHN,EAAOO,MAAQ,CAAC,UAAW,UAAW,QAAS,OAAQ,UAAUJ,EAAM,GACvE,MAEF,IAAK,IACL,IAAK,IACH,MAAM,IAAIG,WAAW,2CACvB,IAAK,IACHN,EAAOQ,IAAM,CAAC,UAAW,WAAWL,EAAM,GAC1C,MACF,IAAK,IACL,IAAK,IACL,IAAK,IACH,MAAM,IAAIG,WAAW,6DAEvB,IAAK,IACHN,EAAOS,QAAkB,IAARN,EAAY,OAAiB,IAARA,EAAY,SAAW,QAC7D,MACF,IAAK,IACH,GAAIA,EAAM,EACR,MAAM,IAAIG,WAAW,iDAEvBN,EAAOS,QAAU,CAAC,QAAS,OAAQ,SAAU,SAASN,EAAM,GAC5D,MACF,IAAK,IACH,GAAIA,EAAM,EACR,MAAM,IAAIG,WAAW,iDAEvBN,EAAOS,QAAU,CAAC,QAAS,OAAQ,SAAU,SAASN,EAAM,GAC5D,MAEF,IAAK,IAEHH,EAAOU,QAAS,EAChB,MACF,IAAK,IACL,IAAK,IAEH,MAAM,IAAIJ,WAAW,8DAEvB,IAAK,IACHN,EAAOW,UAAY,MACnBX,EAAOY,KAAO,CAAC,UAAW,WAAWT,EAAM,GAC3C,MACF,IAAK,IACHH,EAAOW,UAAY,MACnBX,EAAOY,KAAO,CAAC,UAAW,WAAWT,EAAM,GAC3C,MACF,IAAK,IACHH,EAAOW,UAAY,MACnBX,EAAOY,KAAO,CAAC,UAAW,WAAWT,EAAM,GAC3C,MACF,IAAK,IACHH,EAAOW,UAAY,MACnBX,EAAOY,KAAO,CAAC,UAAW,WAAWT,EAAM,GAC3C,MACF,IAAK,IACL,IAAK,IACL,IAAK,IACH,MAAM,IAAIG,WAAW,oEAEvB,IAAK,IACHN,EAAOa,OAAS,CAAC,UAAW,WAAWV,EAAM,GAC7C,MAEF,IAAK,IACHH,EAAOc,OAAS,CAAC,UAAW,WAAWX,EAAM,GAC7C,MACF,IAAK,IACL,IAAK,IACH,MAAM,IAAIG,WAAW,8DAEvB,IAAK,IAEHN,EAAOe,aAAeZ,EAAM,EAAI,QAAU,OAC1C,MACF,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IAEH,MAAM,IAAIG,WAAW,wEAEzB,MAAO,EACT,IACON,CACT,CC3HO,IAAI,EAAoB,wCCkC/B,IAAIgB,EAA2B,mCAC3BC,EAA8B,wBAC9BC,EAAsB,0BACtBC,EAA8B,SAClC,SAASC,EAA0BC,GACjC,IAAIrB,EAAS,CAAC,EA2Bd,MA1B4B,MAAxBqB,EAAIA,EAAI5F,OAAS,GACnBuE,EAAOsB,iBAAmB,gBACO,MAAxBD,EAAIA,EAAI5F,OAAS,KAC1BuE,EAAOsB,iBAAmB,iBAE5BD,EAAIpB,QAAQgB,GAA6B,SAAUM,EAAGC,EAAIC,GAmBxD,MAjBkB,iBAAPA,GACTzB,EAAO0B,yBAA2BF,EAAG/F,OACrCuE,EAAO2B,yBAA2BH,EAAG/F,QAGvB,MAAPgG,EACPzB,EAAO0B,yBAA2BF,EAAG/F,OAGpB,MAAV+F,EAAG,GACVxB,EAAO2B,yBAA2BH,EAAG/F,QAIrCuE,EAAO0B,yBAA2BF,EAAG/F,OACrCuE,EAAO2B,yBAA2BH,EAAG/F,QAAwB,iBAAPgG,EAAkBA,EAAGhG,OAAS,IAE/E,EACT,IACOuE,CACT,CACA,SAAS4B,EAAUP,GACjB,OAAQA,GACN,IAAK,YACH,MAAO,CACLQ,YAAa,QAEjB,IAAK,kBACL,IAAK,KACH,MAAO,CACLC,aAAc,cAElB,IAAK,cACL,IAAK,KACH,MAAO,CACLD,YAAa,UAEjB,IAAK,yBACL,IAAK,MACH,MAAO,CACLA,YAAa,SACbC,aAAc,cAElB,IAAK,mBACL,IAAK,KACH,MAAO,CACLD,YAAa,cAEjB,IAAK,8BACL,IAAK,MACH,MAAO,CACLA,YAAa,aACbC,aAAc,cAElB,IAAK,aACL,IAAK,KACH,MAAO,CACLD,YAAa,SAGrB,CACA,SAASE,EAAyCC,GAEhD,IAAIhC,EAYJ,GAXgB,MAAZgC,EAAK,IAA0B,MAAZA,EAAK,IAC1BhC,EAAS,CACPiC,SAAU,eAEZD,EAAOA,EAAKzE,MAAM,IACG,MAAZyE,EAAK,KACdhC,EAAS,CACPiC,SAAU,cAEZD,EAAOA,EAAKzE,MAAM,IAEhByC,EAAQ,CACV,IAAI6B,EAAcG,EAAKzE,MAAM,EAAG,GAQhC,GAPoB,OAAhBsE,GACF7B,EAAO6B,YAAc,SACrBG,EAAOA,EAAKzE,MAAM,IACO,OAAhBsE,IACT7B,EAAO6B,YAAc,aACrBG,EAAOA,EAAKzE,MAAM,KAEf4D,EAA4Be,KAAKF,GACpC,MAAM,IAAI5G,MAAM,6CAElB4E,EAAOmC,qBAAuBH,EAAKvG,MACrC,CACA,OAAOuE,CACT,CACA,SAASoC,EAAqBC,GAC5B,IACIC,EAAWV,EAAUS,GACzB,OAAIC,GAFS,CAAC,CAMhB,CAIO,SAASC,EAAoBC,GAElC,IADA,IAAIxC,EAAS,CAAC,EACLzE,EAAK,EAAGkH,EAAWD,EAAQjH,EAAKkH,EAAShH,OAAQF,IAAM,CAC9D,IAAImH,EAAQD,EAASlH,GACrB,OAAQmH,EAAMV,MACZ,IAAK,UACL,IAAK,IACHhC,EAAO2C,MAAQ,UACf,SACF,IAAK,QACH3C,EAAO2C,MAAQ,UACf3C,EAAO4C,MAAQ,IACf,SACF,IAAK,WACH5C,EAAO2C,MAAQ,WACf3C,EAAO6C,SAAWH,EAAMpG,QAAQ,GAChC,SACF,IAAK,YACL,IAAK,KACH0D,EAAO8C,aAAc,EACrB,SACF,IAAK,oBACL,IAAK,IACH9C,EAAO+C,sBAAwB,EAC/B,SACF,IAAK,eACL,IAAK,OACH/C,EAAO2C,MAAQ,OACf3C,EAAOgD,KAAqBN,EAAMpG,QAAQ,GAjJpC2D,QAAQ,UAAW,IAkJzB,SACF,IAAK,gBACL,IAAK,IACHD,EAAOiC,SAAW,UAClBjC,EAAOiD,eAAiB,QACxB,SACF,IAAK,eACL,IAAK,KACHjD,EAAOiC,SAAW,UAClBjC,EAAOiD,eAAiB,OACxB,SACF,IAAK,aACHjD,GAAS,SAAS,SAAS,QAAS,CAAC,EAAGA,GAAS,CAC/CiC,SAAU,eACRS,EAAMpG,QAAQ4G,QAAO,SAAUC,EAAKd,GACtC,OAAO,SAAS,QAAS,CAAC,EAAGc,GAAMf,EAAqBC,GAC1D,GAAG,CAAC,IACJ,SACF,IAAK,cACHrC,GAAS,SAAS,SAAS,QAAS,CAAC,EAAGA,GAAS,CAC/CiC,SAAU,gBACRS,EAAMpG,QAAQ4G,QAAO,SAAUC,EAAKd,GACtC,OAAO,SAAS,QAAS,CAAC,EAAGc,GAAMf,EAAqBC,GAC1D,GAAG,CAAC,IACJ,SACF,IAAK,kBACHrC,EAAOiC,SAAW,WAClB,SAEF,IAAK,oBACHjC,EAAOoD,gBAAkB,eACzBpD,EAAOqD,YAAc,SACrB,SACF,IAAK,mBACHrD,EAAOoD,gBAAkB,OACzBpD,EAAOqD,YAAc,QACrB,SACF,IAAK,uBACHrD,EAAOoD,gBAAkB,OACzBpD,EAAOqD,YAAc,OACrB,SACF,IAAK,sBACHrD,EAAOoD,gBAAkB,SACzB,SACF,IAAK,QACHpD,EAAO4C,MAAQU,WAAWZ,EAAMpG,QAAQ,IACxC,SACF,IAAK,sBACH0D,EAAOuD,aAAe,QACtB,SACF,IAAK,wBACHvD,EAAOuD,aAAe,OACtB,SACF,IAAK,qBACHvD,EAAOuD,aAAe,QACtB,SACF,IAAK,mBACHvD,EAAOuD,aAAe,SACtB,SACF,IAAK,0BACHvD,EAAOuD,aAAe,WACtB,SACF,IAAK,0BACHvD,EAAOuD,aAAe,YACtB,SACF,IAAK,wBACHvD,EAAOuD,aAAe,aACtB,SAEF,IAAK,gBACH,GAAIb,EAAMpG,QAAQb,OAAS,EACzB,MAAM,IAAI6E,WAAW,4DAEvBoC,EAAMpG,QAAQ,GAAG2D,QAAQiB,GAAqB,SAAUK,EAAGC,EAAIC,EAAI+B,EAAIC,EAAIC,GACzE,GAAIlC,EACFxB,EAAOmC,qBAAuBV,EAAGhG,WAC5B,IAAI+H,GAAMC,EACf,MAAM,IAAIrI,MAAM,sDACX,GAAIsI,EACT,MAAM,IAAItI,MAAM,mDAClB,CACA,MAAO,EACT,IACA,SAGJ,GAAI+F,EAA4Be,KAAKQ,EAAMV,MACzChC,EAAOmC,qBAAuBO,EAAMV,KAAKvG,YAG3C,GAAIuF,EAAyBkB,KAAKQ,EAAMV,MAAxC,CAIE,GAAIU,EAAMpG,QAAQb,OAAS,EACzB,MAAM,IAAI6E,WAAW,iEAEvBoC,EAAMV,KAAK/B,QAAQe,GAA0B,SAAUO,EAAGC,EAAIC,EAAI+B,EAAIC,EAAIC,GAiBxE,MAfW,MAAPjC,EACFzB,EAAO2D,sBAAwBnC,EAAG/F,OAG3B+H,GAAgB,MAAVA,EAAG,GAChBxD,EAAO+C,sBAAwBS,EAAG/H,OAG3BgI,GAAMC,GACb1D,EAAO2D,sBAAwBF,EAAGhI,OAClCuE,EAAO+C,sBAAwBU,EAAGhI,OAASiI,EAAGjI,SAE9CuE,EAAO2D,sBAAwBnC,EAAG/F,OAClCuE,EAAO+C,sBAAwBvB,EAAG/F,QAE7B,EACT,IACA,IAAI4G,EAAMK,EAAMpG,QAAQ,GAEZ,MAAR+F,EACFrC,GAAS,SAAS,QAAS,CAAC,EAAGA,GAAS,CACtC4D,oBAAqB,mBAEdvB,IACTrC,GAAS,SAAS,QAAS,CAAC,EAAGA,GAASoB,EAA0BiB,IAGtE,MAEA,GAAIpB,EAA4BiB,KAAKQ,EAAMV,MACzChC,GAAS,SAAS,QAAS,CAAC,EAAGA,GAASoB,EAA0BsB,EAAMV,WAD1E,CAIA,IAAIM,EAAWV,EAAUc,EAAMV,MAC3BM,IACFtC,GAAS,SAAS,QAAS,CAAC,EAAGA,GAASsC,IAE1C,IAAIuB,EAAsC9B,EAAyCW,EAAMV,MACrF6B,IACF7D,GAAS,SAAS,QAAS,CAAC,EAAGA,GAAS6D,GAP1C,CASF,CACA,OAAO7D,CACT,CC/TO,ICCH3E,EDDOyI,EAAW,CACpB,MAAO,CAAC,IAAK,KACb,IAAO,CAAC,IAAK,IAAK,KAAM,MACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,KAAM,KAAM,IAAK,KACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,KAAM,KACb,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,KAAM,KAAM,IAAK,KACxB,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,KAAM,KACb,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,IAAK,KACjB,GAAM,CAAC,KAAM,KAAM,IAAK,KACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,KAAM,IAAK,IAAK,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,KACP,GAAM,CAAC,KAAM,KAAM,IAAK,KACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,KAAM,KAAM,IAAK,KACxB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,KACP,GAAM,CAAC,KACP,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,KAAM,KAAM,IAAK,KACxB,GAAM,CAAC,KAAM,KAAM,IAAK,KACxB,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,KAAM,KAAM,IAAK,KACxB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,IAAK,MACjB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,KACZ,GAAM,CAAC,IAAK,KAAM,KAClB,GAAM,CAAC,IAAK,KAAM,KAAM,KACxB,GAAM,CAAC,IAAK,MACZ,GAAM,CAAC,IAAK,IAAK,KAAM,MACvB,GAAM,CAAC,IAAK,KAAM,IAAK,MACvB,GAAM,CAAC,IAAK,KACZ,QAAS,CAAC,IAAK,IAAK,KAAM,MAC1B,SAAU,CAAC,IAAK,KAAM,KAAM,KAC5B,QAAS,CAAC,IAAK,IAAK,MACpB,SAAU,CAAC,IAAK,KAAM,IAAK,MAC3B,QAAS,CAAC,IAAK,KAAM,IAAK,MAC1B,QAAS,CAAC,IAAK,IAAK,KAAM,MAC1B,QAAS,CAAC,IAAK,KAAM,IAAK,MAC1B,QAAS,CAAC,IAAK,IAAK,KAAM,MAC1B,QAAS,CAAC,IAAK,IAAK,KAAM,MAC1B,QAAS,CAAC,IAAK,IAAK,KAAM,MAC1B,QAAS,CAAC,IAAK,IAAK,MACpB,QAAS,CAAC,IAAK,IAAK,MACpB,QAAS,CAAC,KAAM,KAAM,IAAK,KAC3B,QAAS,CAAC,KAAM,IAAK,KACrB,QAAS,CAAC,IAAK,IAAK,MACpB,QAAS,CAAC,IAAK,IAAK,MACpB,QAAS,CAAC,KAAM,IAAK,KACrB,QAAS,CAAC,KAAM,IAAK,KACrB,QAAS,CAAC,KAAM,KAAM,IAAK,KAC3B,QAAS,CAAC,KAAM,KAAM,IAAK,KAC3B,QAAS,CAAC,KAAM,IAAK,KAAM,KAC3B,QAAS,CAAC,KAAM,IAAK,KACrB,QAAS,CAAC,IAAK,KAAM,KAAM,MExO7B,SAASC,EAA+BC,GACtC,IAAIrD,EAAYqD,EAAOrD,UASvB,QARkBsD,IAAdtD,GAEJqD,EAAOE,YAEPF,EAAOE,WAAWzI,SAEhBkF,EAAYqD,EAAOE,WAAW,IAE5BvD,EACF,OAAQA,GACN,IAAK,MACH,MAAO,IACT,IAAK,MACH,MAAO,IACT,IAAK,MACH,MAAO,IACT,IAAK,MACH,MAAO,IACT,QACE,MAAM,IAAIvF,MAAM,qBAItB,IACI+I,EADAC,EAAcJ,EAAOK,SAMzB,MAJoB,SAAhBD,IACFD,EAAYH,EAAOM,WAAWC,SAEfT,EAASK,GAAa,KAAOL,EAASM,GAAe,KAAON,EAAS,GAAGU,OAAOJ,EAAa,UAAYN,EAAS,QAChH,EACpB,CDlEA,IAAIW,EAA8B,IAAIC,OAAO,IAAIF,OAAO5E,EAAsB+E,OAAQ,MAClFC,EAA4B,IAAIF,OAAO,GAAGF,OAAO5E,EAAsB+E,OAAQ,OACnF,SAASE,EAAeC,EAAOC,GAC7B,MAAO,CACLD,MAAOA,EACPC,IAAKA,EAET,CAGA,IAAIC,IAAwBC,OAAO3H,UAAU4H,YAAc,KAAKA,WAAW,IAAK,GAC5EC,IAA2BF,OAAOG,cAClCC,IAAyBtH,OAAOuH,YAChCC,IAAyBN,OAAO3H,UAAUkI,YAC1CC,IAAiBR,OAAO3H,UAAUoI,UAClCC,IAAeV,OAAO3H,UAAUsI,QAEhCC,IAD2BC,OAAOD,cACOC,OAAOD,cAAgB,SAAUE,GAC5E,MAAoB,iBAANA,GAAkBC,SAASD,IAAME,KAAKC,MAAMH,KAAOA,GAAKE,KAAKE,IAAIJ,IAAM,gBACvF,EAEIK,GAAyB,EAC7B,IAQEA,EAA8F,OAA5C,QAAvB/K,EAPlBgL,EAAG,4CAA6C,MAOtBC,KAAK,YAAyB,IAAPjL,OAAgB,EAASA,EAAG,GACxF,CAAE,MAAOkG,IACP6E,GAAyB,CAC3B,CACA,IA+EIG,EA/EArB,EAAaF,EAEjB,SAAoBwB,EAAGC,EAAQC,GAC7B,OAAOF,EAAEtB,WAAWuB,EAAQC,EAC9B,EAEA,SAAoBF,EAAGC,EAAQC,GAC7B,OAAOF,EAAEjJ,MAAMmJ,EAAUA,EAAWD,EAAOhL,UAAYgL,CACzD,EACIrB,EAAgBD,EAAyBF,OAAOG,cAEpD,WAEE,IADA,IAAIuB,EAAa,GACRpL,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACtCoL,EAAWpL,GAAMC,UAAUD,GAM7B,IAJA,IAGIqL,EAHAC,EAAW,GACXpL,EAASkL,EAAWlL,OACpBqL,EAAI,EAEDrL,EAASqL,GAAG,CAEjB,IADAF,EAAOD,EAAWG,MACP,QAAU,MAAMxG,WAAWsG,EAAO,8BAC7CC,GAAYD,EAAO,MAAU3B,OAAO8B,aAAaH,GAAQ3B,OAAO8B,aAAyC,QAA1BH,GAAQ,QAAY,IAAcA,EAAO,KAAQ,MAClI,CACA,OAAOC,CACT,EACIvB,EAEJD,EAAuBtH,OAAOuH,YAE9B,SAAqB0B,GAEnB,IADA,IAAIC,EAAM,CAAC,EACF1L,EAAK,EAAG2L,EAAYF,EAASzL,EAAK2L,EAAUzL,OAAQF,IAAM,CACjE,IAAIF,EAAK6L,EAAU3L,GACjB4L,EAAI9L,EAAG,GACP+L,EAAI/L,EAAG,GACT4L,EAAIE,GAAKC,CACX,CACA,OAAOH,CACT,EACIzB,EAAcD,EAElB,SAAqBiB,EAAGa,GACtB,OAAOb,EAAEhB,YAAY6B,EACvB,EAEA,SAAqBb,EAAGa,GACtB,IAAIC,EAAOd,EAAE/K,OACb,KAAI4L,EAAQ,GAAKA,GAASC,GAA1B,CAGA,IACIxG,EADAyG,EAAQf,EAAEgB,WAAWH,GAEzB,OAAOE,EAAQ,OAAUA,EAAQ,OAAUF,EAAQ,IAAMC,IAASxG,EAAS0F,EAAEgB,WAAWH,EAAQ,IAAM,OAAUvG,EAAS,MAASyG,EAAkCzG,EAAS,OAAlCyG,EAAQ,OAAU,IAA0B,KAHvL,CAIF,EACI7B,EAAYD,EAEhB,SAAmBe,GACjB,OAAOA,EAAEd,WACX,EAEA,SAAmBc,GACjB,OAAOA,EAAEvG,QAAQwE,EAA6B,GAChD,EACImB,EAAUD,EAEd,SAAiBa,GACf,OAAOA,EAAEZ,SACX,EAEA,SAAiBY,GACf,OAAOA,EAAEvG,QAAQ2E,EAA2B,GAC9C,EAEA,SAASyB,EAAGG,EAAGiB,GACb,OAAO,IAAI/C,OAAO8B,EAAGiB,EACvB,CAGA,GAAIrB,EAAwB,CAE1B,IAAIsB,EAAyBrB,EAAG,4CAA6C,MAC7EE,EAAyB,SAAgCC,EAAGa,GAC1D,IAAIhM,EAGJ,OAFAqM,EAAuBC,UAAYN,EAER,QAAnBhM,EADIqM,EAAuBpB,KAAKE,GACrB,UAAuB,IAAPnL,EAAgBA,EAAK,EAC1D,CACF,MAEEkL,EAAyB,SAAgCC,EAAGa,GAE1D,IADA,IAAInH,EAAQ,KACC,CACX,IAAI0H,EAAIpC,EAAYgB,EAAGa,GACvB,QAAUpD,IAAN2D,GAAmBC,GAAcD,IAAME,GAAiBF,GAC1D,MAEF1H,EAAM6H,KAAKH,GACXP,GAASO,GAAK,MAAU,EAAI,CAC9B,CACA,OAAOxC,EAAcvJ,WAAM,EAAQqE,EACrC,EAEF,IAAI,GAAsB,WACxB,SAAS8H,EAAO9M,EAASoB,QACP,IAAZA,IACFA,EAAU,CAAC,GAEba,KAAKjC,QAAUA,EACfiC,KAAKuJ,SAAW,CACduB,OAAQ,EACRC,KAAM,EACNC,OAAQ,GAEVhL,KAAKiL,YAAc9L,EAAQ8L,UAC3BjL,KAAK6G,OAAS1H,EAAQ0H,OACtB7G,KAAKkL,sBAAwB/L,EAAQ+L,oBACrClL,KAAKmL,uBAAyBhM,EAAQgM,oBACxC,CA4xBA,OA3xBAN,EAAO1K,UAAUiL,MAAQ,WACvB,GAAsB,IAAlBpL,KAAK8K,SACP,MAAM7M,MAAM,gCAEd,OAAO+B,KAAKqL,aAAa,EAAG,IAAI,EAClC,EACAR,EAAO1K,UAAUkL,aAAe,SAAUC,EAAcC,EAAeC,GAErE,IADA,IAAI9B,EAAW,IACP1J,KAAKyL,SAAS,CACpB,IAAIC,EAAO1L,KAAK0L,OAChB,GAAa,MAATA,EAAwB,CAE1B,IADI7I,EAAS7C,KAAK2L,cAAcL,EAAcE,IACnCI,IACT,OAAO/I,EAET6G,EAASkB,KAAK/H,EAAOgJ,IACvB,KAAO,IAAa,MAATH,GAA0BJ,EAAe,EAClD,MACK,GAAa,KAATI,GAA4C,WAAlBH,GAAgD,kBAAlBA,EAO5D,IAAa,KAATG,IAA0B1L,KAAKiL,WAA6B,KAAhBjL,KAAK8L,OAC1D,CACA,GAAIN,EACF,MAEA,OAAOxL,KAAK+L,MAAMhL,EAAUiL,sBAAuBtE,EAAe1H,KAAKiM,gBAAiBjM,KAAKiM,iBAEjG,CAAO,GAAa,KAATP,IAA0B1L,KAAKiL,WAAaiB,GAASlM,KAAK8L,QAAU,GAAI,CAEjF,IADIjJ,EAAS7C,KAAKmM,SAASb,EAAcC,IAC9BK,IACT,OAAO/I,EAET6G,EAASkB,KAAK/H,EAAOgJ,IACvB,KAAO,CACL,IAAIhJ,EACJ,IADIA,EAAS7C,KAAKoM,aAAad,EAAcC,IAClCK,IACT,OAAO/I,EAET6G,EAASkB,KAAK/H,EAAOgJ,IACvB,MA1BuG,CACrG,IAAItC,EAAWvJ,KAAKiM,gBACpBjM,KAAKqM,OACL3C,EAASkB,KAAK,CACZxJ,KAAMJ,EAAKmB,MACXmK,SAAU5E,EAAe6B,EAAUvJ,KAAKiM,kBAE5C,CAmBA,CACF,CACA,MAAO,CACLJ,IAAKnC,EACLkC,IAAK,KAET,EAmBAf,EAAO1K,UAAUgM,SAAW,SAAUb,EAAcC,GAClD,IAAIgB,EAAgBvM,KAAKiM,gBACzBjM,KAAKqM,OACL,IAAIG,EAAUxM,KAAKyM,eAEnB,GADAzM,KAAK0M,YACD1M,KAAK2M,OAAO,MAEd,MAAO,CACLd,IAAK,CACHzK,KAAMJ,EAAKK,QACX1B,MAAO,IAAI0H,OAAOmF,EAAS,MAC3BF,SAAU5E,EAAe6E,EAAevM,KAAKiM,kBAE/CL,IAAK,MAEF,GAAI5L,KAAK2M,OAAO,KAAM,CAC3B,IAAIC,EAAiB5M,KAAKqL,aAAaC,EAAe,EAAGC,GAAe,GACxE,GAAIqB,EAAehB,IACjB,OAAOgB,EAET,IAAIC,EAAWD,EAAef,IAE1BiB,EAAsB9M,KAAKiM,gBAC/B,GAAIjM,KAAK2M,OAAO,MAAO,CACrB,GAAI3M,KAAKyL,UAAYS,GAASlM,KAAK0L,QACjC,OAAO1L,KAAK+L,MAAMhL,EAAUgM,YAAarF,EAAeoF,EAAqB9M,KAAKiM,kBAEpF,IAAIe,EAA8BhN,KAAKiM,gBAEvC,OAAIO,IADiBxM,KAAKyM,eAEjBzM,KAAK+L,MAAMhL,EAAUiL,sBAAuBtE,EAAesF,EAA6BhN,KAAKiM,mBAEtGjM,KAAK0M,YACA1M,KAAK2M,OAAO,KAGV,CACLd,IAAK,CACHzK,KAAMJ,EAAKqB,IACX1C,MAAO6M,EACPK,SAAUA,EACVP,SAAU5E,EAAe6E,EAAevM,KAAKiM,kBAE/CL,IAAK,MATE5L,KAAK+L,MAAMhL,EAAUgM,YAAarF,EAAeoF,EAAqB9M,KAAKiM,kBAWtF,CACE,OAAOjM,KAAK+L,MAAMhL,EAAUkM,aAAcvF,EAAe6E,EAAevM,KAAKiM,iBAEjF,CACE,OAAOjM,KAAK+L,MAAMhL,EAAUgM,YAAarF,EAAe6E,EAAevM,KAAKiM,iBAEhF,EAIApB,EAAO1K,UAAUsM,aAAe,WAC9B,IA6qBiChC,EA7qB7ByC,EAAclN,KAAK8K,SAEvB,IADA9K,KAAKqM,QACGrM,KAAKyL,UA4qBF,MADsBhB,EA3qBmBzK,KAAK0L,SA4qBxB,KAANjB,GAAsBA,GAAK,IAAMA,GAAK,IAAuB,KAANA,GAAsBA,GAAK,IAAMA,GAAK,KAAmBA,GAAK,IAAMA,GAAK,IAAsB,KAALA,GAAaA,GAAK,KAAQA,GAAK,KAAQA,GAAK,KAAQA,GAAK,KAAQA,GAAK,KAAQA,GAAK,KAASA,GAAK,KAASA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAWA,GAAK,SA3qB1gBzK,KAAKqM,OAEP,OAAOrM,KAAKjC,QAAQqC,MAAM8M,EAAalN,KAAK8K,SAC9C,EACAD,EAAO1K,UAAUiM,aAAe,SAAUd,EAAcC,GAGtD,IAFA,IAAI5D,EAAQ3H,KAAKiM,gBACbtM,EAAQ,KACC,CACX,IAAIwN,EAAmBnN,KAAKoN,cAAc7B,GAC1C,GAAI4B,EACFxN,GAASwN,MADX,CAIA,IAAIE,EAAsBrN,KAAKsN,iBAAiBhC,EAAcC,GAC9D,GAAI8B,EACF1N,GAAS0N,MADX,CAIA,IAAIE,EAAuBvN,KAAKwN,2BAChC,IAAID,EAIJ,MAHE5N,GAAS4N,CAHX,CALA,CAYF,CACA,IAAIjB,EAAW5E,EAAeC,EAAO3H,KAAKiM,iBAC1C,MAAO,CACLJ,IAAK,CACHzK,KAAMJ,EAAKK,QACX1B,MAAOA,EACP2M,SAAUA,GAEZV,IAAK,KAET,EACAf,EAAO1K,UAAUqN,yBAA2B,WAC1C,OAAKxN,KAAKyL,SAA2B,KAAhBzL,KAAK0L,SAA4B1L,KAAKiL,YAmoBtDiB,GADgBuB,EAhoBJzN,KAAK8L,QAAU,IAioBU,KAAd2B,GA7nBrB,MAHLzN,KAAKqM,OACE,KA8nBb,IAAyBoB,CA3nBvB,EAMA5C,EAAO1K,UAAUiN,cAAgB,SAAU7B,GACzC,GAAIvL,KAAKyL,SAA2B,KAAhBzL,KAAK0L,OACvB,OAAO,KAIT,OAAQ1L,KAAK8L,QACX,KAAK,GAIH,OAFA9L,KAAKqM,OACLrM,KAAKqM,OACE,IAET,KAAK,IACL,KAAK,GACL,KAAK,GACL,KAAK,IACH,MACF,KAAK,GAEH,GAAsB,WAAlBd,GAAgD,kBAAlBA,EAChC,MAEF,OAAO,KACT,QACE,OAAO,KAEXvL,KAAKqM,OACL,IAAI7C,EAAa,CAACxJ,KAAK0L,QAGvB,IAFA1L,KAAKqM,QAEGrM,KAAKyL,SAAS,CACpB,IAAIiC,EAAK1N,KAAK0L,OACd,GAAW,KAAPgC,EAAqB,CACvB,GAAoB,KAAhB1N,KAAK8L,OAIF,CAEL9L,KAAKqM,OACL,KACF,CAPE7C,EAAWoB,KAAK,IAEhB5K,KAAKqM,MAMT,MACE7C,EAAWoB,KAAK8C,GAElB1N,KAAKqM,MACP,CACA,OAAOpE,EAAcvJ,WAAM,EAAQ8K,EACrC,EACAqB,EAAO1K,UAAUmN,iBAAmB,SAAUhC,EAAcC,GAC1D,GAAIvL,KAAKyL,QACP,OAAO,KAET,IAAIiC,EAAK1N,KAAK0L,OACd,OAAW,KAAPgC,GAA8B,MAAPA,GAA+B,KAAPA,IAA0C,WAAlBnC,GAAgD,kBAAlBA,IAA6C,MAAPmC,GAAwBpC,EAAe,EAC7K,MAEPtL,KAAKqM,OACEpE,EAAcyF,GAEzB,EACA7C,EAAO1K,UAAUwL,cAAgB,SAAUL,EAAcE,GACvD,IAAImC,EAAuB3N,KAAKiM,gBAGhC,GAFAjM,KAAKqM,OACLrM,KAAK0M,YACD1M,KAAKyL,QACP,OAAOzL,KAAK+L,MAAMhL,EAAU6M,8BAA+BlG,EAAeiG,EAAsB3N,KAAKiM,kBAEvG,GAAoB,MAAhBjM,KAAK0L,OAEP,OADA1L,KAAKqM,OACErM,KAAK+L,MAAMhL,EAAU8M,eAAgBnG,EAAeiG,EAAsB3N,KAAKiM,kBAGxF,IAAItM,EAAQK,KAAK8N,4BAA4BnO,MAC7C,IAAKA,EACH,OAAOK,KAAK+L,MAAMhL,EAAUgN,mBAAoBrG,EAAeiG,EAAsB3N,KAAKiM,kBAG5F,GADAjM,KAAK0M,YACD1M,KAAKyL,QACP,OAAOzL,KAAK+L,MAAMhL,EAAU6M,8BAA+BlG,EAAeiG,EAAsB3N,KAAKiM,kBAEvG,OAAQjM,KAAK0L,QAEX,KAAK,IAGD,OADA1L,KAAKqM,OACE,CACLR,IAAK,CACHzK,KAAMJ,EAAKO,SAEX5B,MAAOA,EACP2M,SAAU5E,EAAeiG,EAAsB3N,KAAKiM,kBAEtDL,IAAK,MAIX,KAAK,GAID,OAFA5L,KAAKqM,OACLrM,KAAK0M,YACD1M,KAAKyL,QACAzL,KAAK+L,MAAMhL,EAAU6M,8BAA+BlG,EAAeiG,EAAsB3N,KAAKiM,kBAEhGjM,KAAKgO,qBAAqB1C,EAAcE,EAAmB7L,EAAOgO,GAE7E,QACE,OAAO3N,KAAK+L,MAAMhL,EAAUgN,mBAAoBrG,EAAeiG,EAAsB3N,KAAKiM,kBAEhG,EAKApB,EAAO1K,UAAU2N,0BAA4B,WAC3C,IAAIG,EAAmBjO,KAAKiM,gBACxBiB,EAAclN,KAAK8K,SACnBnL,EAAQyJ,EAAuBpJ,KAAKjC,QAASmP,GAC7CgB,EAAYhB,EAAcvN,EAAMrB,OAIpC,OAHA0B,KAAKmO,OAAOD,GAGL,CACLvO,MAAOA,EACP2M,SAHa5E,EAAeuG,EADZjO,KAAKiM,iBAMzB,EACApB,EAAO1K,UAAU6N,qBAAuB,SAAU1C,EAAcE,EAAmB7L,EAAOgO,GACxF,IAAIzP,EAIAkQ,EAAoBpO,KAAKiM,gBACzBoC,EAAUrO,KAAK8N,4BAA4BnO,MAC3C2O,EAAkBtO,KAAKiM,gBAC3B,OAAQoC,GACN,IAAK,GAEH,OAAOrO,KAAK+L,MAAMhL,EAAUwN,qBAAsB7G,EAAe0G,EAAmBE,IACtF,IAAK,SACL,IAAK,OACL,IAAK,OAKDtO,KAAK0M,YACL,IAAI8B,EAAmB,KACvB,GAAIxO,KAAK2M,OAAO,KAAM,CACpB3M,KAAK0M,YACL,IAAI+B,EAAqBzO,KAAKiM,gBAE9B,IADIpJ,EAAS7C,KAAK0O,iCACP9C,IACT,OAAO/I,EAGT,GAAqB,KADjB2C,EAAQiD,EAAQ5F,EAAOgJ,MACjBvN,OACR,OAAO0B,KAAK+L,MAAMhL,EAAU4N,sBAAuBjH,EAAe1H,KAAKiM,gBAAiBjM,KAAKiM,kBAG/FuC,EAAmB,CACjBhJ,MAAOA,EACPoJ,cAHkBlH,EAAe+G,EAAoBzO,KAAKiM,iBAK9D,CAEA,IADI4C,EAAiB7O,KAAK8O,sBAAsBnB,IAC7B/B,IACjB,OAAOiD,EAET,IAAIE,EAAarH,EAAeiG,EAAsB3N,KAAKiM,iBAE3D,GAAIuC,GAAoBzG,EAAWyG,aAA2D,EAASA,EAAiBhJ,MAAO,KAAM,GAAI,CAEvI,IAAI5C,EAAW2F,EAAUiG,EAAiBhJ,MAAMpF,MAAM,IACtD,GAAgB,WAAZiO,EAEF,OADIxL,EAAS7C,KAAKgP,8BAA8BpM,EAAU4L,EAAiBI,gBAChEhD,IACF/I,EAEF,CACLgJ,IAAK,CACHzK,KAAMJ,EAAKS,OACX9B,MAAOA,EACP2M,SAAUyC,EACVvJ,MAAO3C,EAAOgJ,KAEhBD,IAAK,MAGP,GAAwB,IAApBhJ,EAAStE,OACX,OAAO0B,KAAK+L,MAAMhL,EAAUkO,0BAA2BF,GAEzD,IAAIG,EAAkBtM,EAIlB5C,KAAK6G,SACPqI,ECnhBT,SAAwBtM,EAAUiE,GAEvC,IADA,IAAIsI,EAAe,GACVC,EAAa,EAAGA,EAAaxM,EAAStE,OAAQ8Q,IAAc,CACnE,IAAIC,EAAczM,EAAS0M,OAAOF,GAClC,GAAoB,MAAhBC,EAAqB,CAEvB,IADA,IAAIE,EAAc,EACXH,EAAa,EAAIxM,EAAStE,QAAUsE,EAAS0M,OAAOF,EAAa,KAAOC,GAC7EE,IACAH,IAEF,IAAII,EAAU,GAAmB,EAAdD,GACfE,EAAeF,EAAc,EAAI,EAAI,GAAKA,GAAe,GAEzDG,EAAW9I,EAA+BC,GAI9C,IAHgB,KAAZ6I,GAA+B,KAAZA,IACrBD,EAAe,GAEVA,KAAiB,GACtBN,GANkB,IAQpB,KAAOK,KAAY,GACjBL,EAAeO,EAAWP,CAE9B,MACEA,GADyB,MAAhBE,EACO,IAEAA,CAEpB,CACA,OAAOF,CACT,CDqfkCQ,CAAe/M,EAAU5C,KAAK6G,SAElD,IAAIrB,EAAQ,CACVpE,KAAMH,EAAcuB,SACpBoN,QAASV,EACT5C,SAAUkC,EAAiBI,cAC3BiB,cAAe7P,KAAKmL,qBAAuBxI,EAAsBuM,GAAmB,CAAC,GAGvF,MAAO,CACLrD,IAAK,CACHzK,KAHmB,SAAZiN,EAAqBrN,EAAKW,KAAOX,EAAKa,KAI7ClC,MAAOA,EACP2M,SAAUyC,EACVvJ,MAAOA,GAEToG,IAAK,KAGX,CAEA,MAAO,CACLC,IAAK,CACHzK,KAAkB,WAAZiN,EAAuBrN,EAAKS,OAAqB,SAAZ4M,EAAqBrN,EAAKW,KAAOX,EAAKa,KACjFlC,MAAOA,EACP2M,SAAUyC,EACVvJ,MAA6G,QAArGtH,EAAKsQ,aAA2D,EAASA,EAAiBhJ,aAA0B,IAAPtH,EAAgBA,EAAK,MAE5I0N,IAAK,MAGX,IAAK,SACL,IAAK,gBACL,IAAK,SAKD,IAAIkE,EAAoB9P,KAAKiM,gBAE7B,GADAjM,KAAK0M,aACA1M,KAAK2M,OAAO,KACf,OAAO3M,KAAK+L,MAAMhL,EAAUgP,+BAAgCrI,EAAeoI,GAAmB,QAAS,CAAC,EAAGA,KAE7G9P,KAAK0M,YASL,IAAIsD,EAAwBhQ,KAAK8N,4BAC7BmC,EAAe,EACnB,GAAgB,WAAZ5B,GAAwD,WAAhC2B,EAAsBrQ,MAAoB,CACpE,IAAKK,KAAK2M,OAAO,KACf,OAAO3M,KAAK+L,MAAMhL,EAAUmP,oCAAqCxI,EAAe1H,KAAKiM,gBAAiBjM,KAAKiM,kBAG7G,IAAIpJ,EACJ,GAFA7C,KAAK0M,aACD7J,EAAS7C,KAAKmQ,uBAAuBpP,EAAUmP,oCAAqCnP,EAAUqP,uCACvFxE,IACT,OAAO/I,EAGT7C,KAAK0M,YACLsD,EAAwBhQ,KAAK8N,4BAC7BmC,EAAepN,EAAOgJ,GACxB,CACA,IAIIgD,EAJAwB,EAAgBrQ,KAAKsQ,8BAA8BhF,EAAc+C,EAAS7C,EAAmBwE,GACjG,GAAIK,EAAczE,IAChB,OAAOyE,EAGT,IADIxB,EAAiB7O,KAAK8O,sBAAsBnB,IAC7B/B,IACjB,OAAOiD,EAET,IAAI0B,EAAa7I,EAAeiG,EAAsB3N,KAAKiM,iBAC3D,MAAgB,WAAZoC,EACK,CACLxC,IAAK,CACHzK,KAAMJ,EAAKe,OACXpC,MAAOA,EACPR,QAASgJ,EAAYkI,EAAcxE,KACnCS,SAAUiE,GAEZ3E,IAAK,MAGA,CACLC,IAAK,CACHzK,KAAMJ,EAAKiB,OACXtC,MAAOA,EACPR,QAASgJ,EAAYkI,EAAcxE,KACnCf,OAAQmF,EACRO,WAAwB,WAAZnC,EAAuB,WAAa,UAChD/B,SAAUiE,GAEZ3E,IAAK,MAIb,QACE,OAAO5L,KAAK+L,MAAMhL,EAAU0P,sBAAuB/I,EAAe0G,EAAmBE,IAE3F,EACAzD,EAAO1K,UAAU2O,sBAAwB,SAAUnB,GAGjD,OAAI3N,KAAKyL,SAA2B,MAAhBzL,KAAK0L,OAChB1L,KAAK+L,MAAMhL,EAAU6M,8BAA+BlG,EAAeiG,EAAsB3N,KAAKiM,mBAEvGjM,KAAKqM,OACE,CACLR,KAAK,EACLD,IAAK,MAET,EAIAf,EAAO1K,UAAUuO,8BAAgC,WAG/C,IAFA,IAAIgC,EAAe,EACfnE,EAAgBvM,KAAKiM,iBACjBjM,KAAKyL,SAAS,CAEpB,OADSzL,KAAK0L,QAEZ,KAAK,GAID1L,KAAKqM,OACL,IAAIsE,EAAqB3Q,KAAKiM,gBAC9B,IAAKjM,KAAK4Q,UAAU,KAClB,OAAO5Q,KAAK+L,MAAMhL,EAAU8P,iCAAkCnJ,EAAeiJ,EAAoB3Q,KAAKiM,kBAExGjM,KAAKqM,OACL,MAEJ,KAAK,IAEDqE,GAAgB,EAChB1Q,KAAKqM,OACL,MAEJ,KAAK,IAED,KAAIqE,EAAe,GAGjB,MAAO,CACL7E,IAAK7L,KAAKjC,QAAQqC,MAAMmM,EAAczB,OAAQ9K,KAAK8K,UACnDc,IAAK,MAJP8E,GAAgB,EAOlB,MAEJ,QACE1Q,KAAKqM,OAGX,CACA,MAAO,CACLR,IAAK7L,KAAKjC,QAAQqC,MAAMmM,EAAczB,OAAQ9K,KAAK8K,UACnDc,IAAK,KAET,EACAf,EAAO1K,UAAU6O,8BAAgC,SAAUpM,EAAU0J,GACnE,IAAIjH,EAAS,GACb,IACEA,EFlsBC,SAAuCzC,GAC5C,GAAwB,IAApBA,EAAStE,OACX,MAAM,IAAIL,MAAM,mCAOlB,IAJA,IAGIoH,EAAS,GACJjH,EAAK,EAAG0S,EAJElO,EAASmO,MAAM,GAAmBC,QAAO,SAAUC,GACpE,OAAOA,EAAE3S,OAAS,CACpB,IAEgDF,EAAK0S,EAAexS,OAAQF,IAAM,CAChF,IACI8S,EADcJ,EAAe1S,GACA2S,MAAM,KACvC,GAA8B,IAA1BG,EAAe5S,OACjB,MAAM,IAAIL,MAAM,2BAIlB,IAFA,IAAI4G,EAAOqM,EAAe,GACxB/R,EAAU+R,EAAe9Q,MAAM,GACxBlC,EAAK,EAAGiT,EAAYhS,EAASjB,EAAKiT,EAAU7S,OAAQJ,IAE3D,GAAsB,IADTiT,EAAUjT,GACZI,OACT,MAAM,IAAIL,MAAM,2BAGpBoH,EAAOuF,KAAK,CACV/F,KAAMA,EACN1F,QAASA,GAEb,CACA,OAAOkG,CACT,CEqqBe2J,CAA8BpM,EACzC,CAAE,MAAOwO,GACP,OAAOpR,KAAK+L,MAAMhL,EAAUsQ,wBAAyB/E,EACvD,CACA,MAAO,CACLT,IAAK,CACHzK,KAAMH,EAAcQ,OACpB4D,OAAQA,EACRiH,SAAUA,EACVuD,cAAe7P,KAAKmL,qBAAuB/F,EAAoBC,GAAU,CAAC,GAE5EuG,IAAK,KAET,EAWAf,EAAO1K,UAAUmQ,8BAAgC,SAAUhF,EAAcC,EAAe+F,EAAgBC,GAUtG,IATA,IAAIrT,EACAsT,GAAiB,EACjBrS,EAAU,GACVsS,EAAkB,IAAIC,IACtBC,EAAWJ,EAAsB5R,MACnCiS,EAAmBL,EAAsBjF,WAI9B,CACX,GAAwB,IAApBqF,EAASrT,OAAc,CACzB,IAAIiO,EAAgBvM,KAAKiM,gBACzB,GAAsB,WAAlBV,IAA8BvL,KAAK2M,OAAO,KAS5C,MAPA,IAAI9J,EAAS7C,KAAKmQ,uBAAuBpP,EAAU8Q,gCAAiC9Q,EAAU+Q,kCAC9F,GAAIjP,EAAO+I,IACT,OAAO/I,EAET+O,EAAmBlK,EAAe6E,EAAevM,KAAKiM,iBACtD0F,EAAW3R,KAAKjC,QAAQqC,MAAMmM,EAAczB,OAAQ9K,KAAK8K,SAI7D,CAEA,GAAI2G,EAAgBM,IAAIJ,GACtB,OAAO3R,KAAK+L,MAAwB,WAAlBR,EAA6BxK,EAAUiR,mCAAqCjR,EAAUkR,mCAAoCL,GAE7H,UAAbD,IACFH,GAAiB,GAKnBxR,KAAK0M,YACL,IAAIiB,EAAuB3N,KAAKiM,gBAChC,IAAKjM,KAAK2M,OAAO,KACf,OAAO3M,KAAK+L,MAAwB,WAAlBR,EAA6BxK,EAAUmR,yCAA2CnR,EAAUoR,yCAA0CzK,EAAe1H,KAAKiM,gBAAiBjM,KAAKiM,kBAEpM,IAAImG,EAAiBpS,KAAKqL,aAAaC,EAAe,EAAGC,EAAe+F,GACxE,GAAIc,EAAexG,IACjB,OAAOwG,EAET,IAAIvD,EAAiB7O,KAAK8O,sBAAsBnB,GAChD,GAAIkB,EAAejD,IACjB,OAAOiD,EAET1P,EAAQyL,KAAK,CAAC+G,EAAU,CACtBhS,MAAOyS,EAAevG,IACtBS,SAAU5E,EAAeiG,EAAsB3N,KAAKiM,oBAGtDwF,EAAgBY,IAAIV,GAEpB3R,KAAK0M,YACkCiF,GAAvCzT,EAAK8B,KAAK8N,6BAA2CnO,MAAOiS,EAAmB1T,EAAGoO,QACpF,CACA,OAAuB,IAAnBnN,EAAQb,OACH0B,KAAK+L,MAAwB,WAAlBR,EAA6BxK,EAAUuR,gCAAkCvR,EAAU8Q,gCAAiCnK,EAAe1H,KAAKiM,gBAAiBjM,KAAKiM,kBAE9KjM,KAAKkL,sBAAwBsG,EACxBxR,KAAK+L,MAAMhL,EAAUwR,qBAAsB7K,EAAe1H,KAAKiM,gBAAiBjM,KAAKiM,kBAEvF,CACLJ,IAAK1M,EACLyM,IAAK,KAET,EACAf,EAAO1K,UAAUgQ,uBAAyB,SAAUqC,EAAmBC,GACrE,IAAIC,EAAO,EACPzE,EAAmBjO,KAAKiM,gBACxBjM,KAAK2M,OAAO,MAAkB3M,KAAK2M,OAAO,OAC5C+F,GAAQ,GAIV,IAFA,IAAIC,GAAY,EACZC,EAAU,GACN5S,KAAKyL,SAAS,CACpB,IAAIiC,EAAK1N,KAAK0L,OACd,KAAIgC,GAAM,IAAgBA,GAAM,IAK9B,MAJAiF,GAAY,EACZC,EAAoB,GAAVA,GAAgBlF,EAAK,IAC/B1N,KAAKqM,MAIT,CACA,IAAIC,EAAW5E,EAAeuG,EAAkBjO,KAAKiM,iBACrD,OAAK0G,EAIAjK,EADLkK,GAAWF,GAIJ,CACL7G,IAAK+G,EACLhH,IAAK,MAJE5L,KAAK+L,MAAM0G,EAAoBnG,GAJ/BtM,KAAK+L,MAAMyG,EAAmBlG,EAUzC,EACAzB,EAAO1K,UAAU2K,OAAS,WACxB,OAAO9K,KAAKuJ,SAASuB,MACvB,EACAD,EAAO1K,UAAUsL,MAAQ,WACvB,OAAOzL,KAAK8K,WAAa9K,KAAKjC,QAAQO,MACxC,EACAuM,EAAO1K,UAAU8L,cAAgB,WAE/B,MAAO,CACLnB,OAAQ9K,KAAKuJ,SAASuB,OACtBC,KAAM/K,KAAKuJ,SAASwB,KACpBC,OAAQhL,KAAKuJ,SAASyB,OAE1B,EAKAH,EAAO1K,UAAUuL,KAAO,WACtB,IAAIZ,EAAS9K,KAAKuJ,SAASuB,OAC3B,GAAIA,GAAU9K,KAAKjC,QAAQO,OACzB,MAAML,MAAM,gBAEd,IAAIwL,EAAOpB,EAAYrI,KAAKjC,QAAS+M,GACrC,QAAahE,IAAT2C,EACF,MAAMxL,MAAM,UAAUoJ,OAAOyD,EAAQ,6CAEvC,OAAOrB,CACT,EACAoB,EAAO1K,UAAU4L,MAAQ,SAAU8G,EAAMvG,GACvC,MAAO,CACLT,IAAK,KACLD,IAAK,CACHiH,KAAMA,EACN9U,QAASiC,KAAKjC,QACduO,SAAUA,GAGhB,EAEAzB,EAAO1K,UAAUkM,KAAO,WACtB,IAAIrM,KAAKyL,QAAT,CAGA,IAAIhC,EAAOzJ,KAAK0L,OACH,KAATjC,GACFzJ,KAAKuJ,SAASwB,MAAQ,EACtB/K,KAAKuJ,SAASyB,OAAS,EACvBhL,KAAKuJ,SAASuB,QAAU,IAExB9K,KAAKuJ,SAASyB,QAAU,EAExBhL,KAAKuJ,SAASuB,QAAUrB,EAAO,MAAU,EAAI,EAT/C,CAWF,EAOAoB,EAAO1K,UAAUwM,OAAS,SAAUmG,GAClC,GAAI/K,EAAW/H,KAAKjC,QAAS+U,EAAQ9S,KAAK8K,UAAW,CACnD,IAAK,IAAInB,EAAI,EAAGA,EAAImJ,EAAOxU,OAAQqL,IACjC3J,KAAKqM,OAEP,OAAO,CACT,CACA,OAAO,CACT,EAKAxB,EAAO1K,UAAUyQ,UAAY,SAAUhB,GACrC,IAAImD,EAAgB/S,KAAK8K,SACrBZ,EAAQlK,KAAKjC,QAAQiV,QAAQpD,EAASmD,GAC1C,OAAI7I,GAAS,GACXlK,KAAKmO,OAAOjE,IACL,IAEPlK,KAAKmO,OAAOnO,KAAKjC,QAAQO,SAClB,EAEX,EAKAuM,EAAO1K,UAAUgO,OAAS,SAAU8E,GAClC,GAAIjT,KAAK8K,SAAWmI,EAClB,MAAMhV,MAAM,gBAAgBoJ,OAAO4L,EAAc,yDAAyD5L,OAAOrH,KAAK8K,WAGxH,IADAmI,EAAenK,KAAKoK,IAAID,EAAcjT,KAAKjC,QAAQO,UACtC,CACX,IAAIwM,EAAS9K,KAAK8K,SAClB,GAAIA,IAAWmI,EACb,MAEF,GAAInI,EAASmI,EACX,MAAMhV,MAAM,gBAAgBoJ,OAAO4L,EAAc,6CAGnD,GADAjT,KAAKqM,OACDrM,KAAKyL,QACP,KAEJ,CACF,EAEAZ,EAAO1K,UAAUuM,UAAY,WAC3B,MAAQ1M,KAAKyL,SAAWf,GAAc1K,KAAK0L,SACzC1L,KAAKqM,MAET,EAKAxB,EAAO1K,UAAU2L,KAAO,WACtB,GAAI9L,KAAKyL,QACP,OAAO,KAET,IAAIhC,EAAOzJ,KAAK0L,OACZZ,EAAS9K,KAAK8K,SACdqI,EAAWnT,KAAKjC,QAAQsM,WAAWS,GAAUrB,GAAQ,MAAU,EAAI,IACvE,OAAO0J,QAA2CA,EAAW,IAC/D,EACOtI,CACT,CA5yB0B,GAmzB1B,SAASqB,GAASuB,GAChB,OAAOA,GAAa,IAAMA,GAAa,KAAOA,GAAa,IAAMA,GAAa,EAChF,CAYA,SAAS/C,GAAcD,GACrB,OAAOA,GAAK,GAAUA,GAAK,IAAgB,KAANA,GAAsB,MAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAsB,OAANA,CACrH,CAKA,SAASE,GAAiBF,GACxB,OAAOA,GAAK,IAAUA,GAAK,IAAgB,KAANA,GAAgBA,GAAK,IAAUA,GAAK,IAAgB,KAANA,GAAsB,KAANA,GAAsB,KAANA,GAAsB,KAANA,GAAsB,KAANA,GAAsB,KAANA,GAAgBA,GAAK,IAAUA,GAAK,IAAUA,GAAK,IAAUA,GAAK,IAAUA,GAAK,IAAUA,GAAK,IAAUA,GAAK,IAAUA,GAAK,IAAgB,KAANA,GAAsB,KAANA,GAAsB,KAANA,GAAsB,KAANA,GAAsB,KAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAgBA,GAAK,KAAUA,GAAK,KAAgB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAsB,MAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAsB,OAANA,GAAsB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAsB,OAANA,GAAsB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAsB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAsB,OAANA,GAAsB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAsB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAsB,OAANA,GAAsB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAsB,OAANA,GAAsB,OAANA,GAAsB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,KAAgB,OAANA,GAAsB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAUA,GAAK,MAAgB,OAANA,GAAgBA,GAAK,MAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgBA,GAAK,OAAUA,GAAK,OAAgB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAsB,QAANA,GAAgB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","sources":["webpack://gatsby-website-qf/./node_modules/@formatjs/ecma402-abstract/lib/utils.js","webpack://gatsby-website-qf/./node_modules/@formatjs/fast-memoize/lib/index.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-messageformat-parser/lib/error.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-messageformat-parser/lib/types.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-skeleton-parser/lib/number.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","webpack://gatsby-website-qf/./node_modules/@formatjs/icu-messageformat-parser/lib/index.js","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/error.js","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/utils.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://gatsby-website-qf/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://gatsby-website-qf/./node_modules/@loadable/component/dist/esm/loadable.esm.mjs","webpack://gatsby-website-qf/./node_modules/call-bind/callBound.js","webpack://gatsby-website-qf/./node_modules/call-bind/index.js","webpack://gatsby-website-qf/./node_modules/camelcase/index.js","webpack://gatsby-website-qf/./node_modules/define-data-property/index.js","webpack://gatsby-website-qf/./node_modules/es-define-property/index.js","webpack://gatsby-website-qf/./node_modules/es-errors/eval.js","webpack://gatsby-website-qf/./node_modules/es-errors/index.js","webpack://gatsby-website-qf/./node_modules/es-errors/range.js","webpack://gatsby-website-qf/./node_modules/es-errors/ref.js","webpack://gatsby-website-qf/./node_modules/es-errors/syntax.js","webpack://gatsby-website-qf/./node_modules/es-errors/type.js","webpack://gatsby-website-qf/./node_modules/es-errors/uri.js","webpack://gatsby-website-qf/./node_modules/function-bind/implementation.js","webpack://gatsby-website-qf/./node_modules/function-bind/index.js","webpack://gatsby-website-qf/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://gatsby-website-qf/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://gatsby-website-qf/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://gatsby-website-qf/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://gatsby-website-qf/./node_modules/get-intrinsic/index.js","webpack://gatsby-website-qf/./node_modules/gopd/index.js","webpack://gatsby-website-qf/./node_modules/gsap/dist/ScrollToPlugin.js","webpack://gatsby-website-qf/./node_modules/gsap/dist/gsap.min.js","webpack://gatsby-website-qf/./node_modules/has-property-descriptors/index.js","webpack://gatsby-website-qf/./node_modules/has-proto/index.js","webpack://gatsby-website-qf/./node_modules/has-symbols/index.js","webpack://gatsby-website-qf/./node_modules/has-symbols/shams.js","webpack://gatsby-website-qf/./node_modules/hasown/index.js","webpack://gatsby-website-qf/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://gatsby-website-qf/./node_modules/intersection-observer/intersection-observer.js","webpack://gatsby-website-qf/./node_modules/intl-messageformat/lib/src/core.js","webpack://gatsby-website-qf/./node_modules/intl-messageformat/lib/src/error.js","webpack://gatsby-website-qf/./node_modules/intl-messageformat/lib/src/formatters.js","webpack://gatsby-website-qf/./node_modules/object-inspect/index.js","webpack://gatsby-website-qf/./node_modules/qs/lib/formats.js","webpack://gatsby-website-qf/./node_modules/qs/lib/index.js","webpack://gatsby-website-qf/./node_modules/qs/lib/parse.js","webpack://gatsby-website-qf/./node_modules/qs/lib/stringify.js","webpack://gatsby-website-qf/./node_modules/qs/lib/utils.js","webpack://gatsby-website-qf/./node_modules/react-device-detect/dist/lib.js","webpack://gatsby-website-qf/./node_modules/react-hook-theme/dist/index.js","webpack://gatsby-website-qf/./node_modules/react-intl/lib/src/components/injectIntl.js","webpack://gatsby-website-qf/./node_modules/react-intl/lib/src/components/useIntl.js","webpack://gatsby-website-qf/./node_modules/react-intl/lib/src/utils.js","webpack://gatsby-website-qf/./node_modules/react-is/cjs/react-is.production.min.js","webpack://gatsby-website-qf/./node_modules/react-is/index.js","webpack://gatsby-website-qf/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://gatsby-website-qf/./node_modules/react-server-dom-webpack/index.js","webpack://gatsby-website-qf/./node_modules/set-function-length/index.js","webpack://gatsby-website-qf/./node_modules/shallowequal/index.js","webpack://gatsby-website-qf/./node_modules/side-channel/index.js","webpack://gatsby-website-qf/./node_modules/tslib/tslib.es6.js","webpack://gatsby-website-qf/./node_modules/ua-parser-js/dist/ua-parser.min.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/a-callable.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/a-possible-prototype.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/add-to-unscopables.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/an-object.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/array-includes.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/array-method-is-strict.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/array-slice-simple.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/array-sort.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/array-species-constructor.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/array-species-create.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/classof-raw.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/classof.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/create-property-descriptor.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/create-property.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/define-built-in.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/define-global-property.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/descriptors.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/document-all.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/document-create-element.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/engine-ff-version.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/engine-user-agent.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/engine-v8-version.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/engine-webkit-version.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/enum-bug-keys.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/error-stack-clear.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/error-stack-install.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/error-stack-installable.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/export.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/fails.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/flatten-into-array.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/function-bind-context.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/function-bind-native.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/function-call.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/function-name.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/function-uncurry-this.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/get-built-in.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/get-iterator-method.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/get-iterator.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/get-method.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/global.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/has-own-property.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/hidden-keys.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/html.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/ie8-dom-define.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/indexed-object.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/inspect-source.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/install-error-cause.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/internal-state.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/is-array.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/is-callable.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/is-constructor.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/is-forced.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/is-object.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/is-pure.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/is-symbol.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/iterate.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/iterator-close.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/iterators.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/length-of-array-like.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/make-built-in.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/math-trunc.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/normalize-string-argument.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-create.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-define-properties.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-define-property.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-keys-internal.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-keys.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/own-keys.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/require-object-coercible.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/shared-key.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/shared-store.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/shared.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/string-trim-end.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/string-trim-forced.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/string-trim-start.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/string-trim.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-absolute-index.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-indexed-object.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-length.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-object.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-offset.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-positive-integer.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-primitive.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-property-key.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-string-tag-support.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/to-string.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/try-to-string.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/uid.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/well-known-symbol.js","webpack://gatsby-website-qf/./node_modules/core-js/internals/whitespaces.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.aggregate-error.constructor.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.aggregate-error.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.array.flat-map.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.array.sort.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.global-this.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.object.from-entries.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.string.trim-end.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.string.trim-left.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.string.trim-right.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.string.trim-start.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.typed-array.set.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/esnext.aggregate-error.js","webpack://gatsby-website-qf/./node_modules/core-js/modules/esnext.global-this.js","webpack://gatsby-website-qf/./node_modules/gatsby-react-router-scroll/index.js","webpack://gatsby-website-qf/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://gatsby-website-qf/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://gatsby-website-qf/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://gatsby-website-qf/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://gatsby-website-qf/./.cache/api-runner-browser-plugins.js","webpack://gatsby-website-qf/./.cache/api-runner-browser.js","webpack://gatsby-website-qf/./.cache/create-content-digest-browser-shim.js","webpack://gatsby-website-qf/./node_modules/mitt/dist/mitt.es.js","webpack://gatsby-website-qf/./.cache/emitter.js","webpack://gatsby-website-qf/./.cache/normalize-page-path.js","webpack://gatsby-website-qf/./.cache/find-path.js","webpack://gatsby-website-qf/./.cache/slice/server-slice-renderer.js","webpack://gatsby-website-qf/./.cache/slice/server-slice.js","webpack://gatsby-website-qf/./.cache/slice/inline-slice.js","webpack://gatsby-website-qf/./.cache/slice.js","webpack://gatsby-website-qf/./.cache/gatsby-browser-entry.js","webpack://gatsby-website-qf/./.cache/prefetch.js","webpack://gatsby-website-qf/./.cache/loader.js","webpack://gatsby-website-qf/./.cache/head/components/fire-callback-in-effect.js","webpack://gatsby-website-qf/./.cache/head/constants.js","webpack://gatsby-website-qf/./.cache/head/utils.js","webpack://gatsby-website-qf/./.cache/head/head-export-handler-for-browser.js","webpack://gatsby-website-qf/./.cache/page-renderer.js","webpack://gatsby-website-qf/./.cache/route-announcer-props.js","webpack://gatsby-website-qf/./.cache/navigation.js","webpack://gatsby-website-qf/./node_modules/shallow-compare/es/index.js","webpack://gatsby-website-qf/./.cache/ensure-resources.js","webpack://gatsby-website-qf/./.cache/production-app.js","webpack://gatsby-website-qf/./.cache/public-page-renderer-prod.js","webpack://gatsby-website-qf/./.cache/public-page-renderer.js","webpack://gatsby-website-qf/./.cache/react-dom-utils.js","webpack://gatsby-website-qf/./.cache/redirect-utils.js","webpack://gatsby-website-qf/./.cache/register-service-worker.js","webpack://gatsby-website-qf/./.cache/slice/context.js","webpack://gatsby-website-qf/./.cache/static-query.js","webpack://gatsby-website-qf/./.cache/context-utils.js","webpack://gatsby-website-qf/./.cache/strip-prefix.js","webpack://gatsby-website-qf/./gatsby-browser.js","webpack://gatsby-website-qf/./node_modules/gatsby-plugin-canonical-urls/gatsby-browser.js","webpack://gatsby-website-qf/./node_modules/gatsby-plugin-catch-links/catch-links.js","webpack://gatsby-website-qf/./node_modules/gatsby-plugin-catch-links/gatsby-browser.js","webpack://gatsby-website-qf/./node_modules/gatsby-plugin-catch-links/node_modules/escape-string-regexp/index.js","webpack://gatsby-website-qf/../src/image-utils.ts","webpack://gatsby-website-qf/../src/components/hooks.ts","webpack://gatsby-website-qf/../src/components/layout-wrapper.tsx","webpack://gatsby-website-qf/../src/components/placeholder.tsx","webpack://gatsby-website-qf/../src/components/picture.tsx","webpack://gatsby-website-qf/../src/components/main-image.tsx","webpack://gatsby-website-qf/../src/components/gatsby-image.browser.tsx","webpack://gatsby-website-qf/../src/components/gatsby-image.server.tsx","webpack://gatsby-website-qf/../src/components/static-image.server.tsx","webpack://gatsby-website-qf/../src/components/static-image.tsx","webpack://gatsby-website-qf/./node_modules/gatsby-plugin-layout/gatsby-browser.js","webpack://gatsby-website-qf/./node_modules/gatsby-plugin-layout/wrap-page.js","webpack://gatsby-website-qf/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://gatsby-website-qf/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://gatsby-website-qf/./node_modules/gatsby-plugin-twitter/gatsby-browser.js","webpack://gatsby-website-qf/./src/components/ui/GatsbyImageWrapper.tsx","webpack://gatsby-website-qf/./node_modules/@researchgate/react-intersection-observer/lib/es/utils.js","webpack://gatsby-website-qf/./node_modules/@researchgate/react-intersection-observer/lib/es/observer.js","webpack://gatsby-website-qf/./node_modules/@researchgate/react-intersection-observer/lib/es/IntersectionObserver.js","webpack://gatsby-website-qf/./node_modules/react-transition-group/esm/config.js","webpack://gatsby-website-qf/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://gatsby-website-qf/./node_modules/react-transition-group/esm/Transition.js","webpack://gatsby-website-qf/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://gatsby-website-qf/./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack://gatsby-website-qf/./node_modules/react-transition-group/esm/TransitionGroup.js","webpack://gatsby-website-qf/./src/ui/delayTransitionRender.tsx","webpack://gatsby-website-qf/./src/ui/PageTransition.tsx","webpack://gatsby-website-qf/./src/components/ui/ViewableMonitor.tsx","webpack://gatsby-website-qf/./src/utils/ScrollMonitor.ts","webpack://gatsby-website-qf/./src/components/useSticky.tsx","webpack://gatsby-website-qf/./node_modules/react-intl/lib/src/components/message.js","webpack://gatsby-website-qf/./src/components/Hamburger.tsx","webpack://gatsby-website-qf/./src/utils/GetMessage.ts","webpack://gatsby-website-qf/./src/components/MobileMenu/MobileMenuHelpers.ts","webpack://gatsby-website-qf/./src/components/MainMenu/MainMenuPreviewItem.tsx","webpack://gatsby-website-qf/./src/ui/UIThemeControls.tsx","webpack://gatsby-website-qf/./src/ui/DarkModeToggle.tsx","webpack://gatsby-website-qf/./src/components/SelectLanguage.tsx","webpack://gatsby-website-qf/./src/components/Search/Search.tsx","webpack://gatsby-website-qf/./src/components/MainMenu/MainMenu.tsx","webpack://gatsby-website-qf/./src/components/MobileMenu/MobileMenuSocialCopyright.tsx","webpack://gatsby-website-qf/./src/ui/GatsbyLinkExternalSupport.tsx","webpack://gatsby-website-qf/./src/components/MobileMenu/MobileMenuSubMenu.tsx","webpack://gatsby-website-qf/./src/components/MobileMenu/MobileMenuPreviewItem.tsx","webpack://gatsby-website-qf/./src/utils/MapLoader.ts","webpack://gatsby-website-qf/./src/components/MobileMenu/Map.tsx","webpack://gatsby-website-qf/./src/components/MobileMenu/MobileMenu.tsx","webpack://gatsby-website-qf/./src/components/Header.tsx","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/message.js","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/number.js","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/relativeTime.js","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/dateTime.js","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/plural.js","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/list.js","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/displayName.js","webpack://gatsby-website-qf/./node_modules/@formatjs/intl/lib/src/create-intl.js","webpack://gatsby-website-qf/./node_modules/react-intl/lib/src/components/createIntl.js","webpack://gatsby-website-qf/./node_modules/react-intl/lib/src/components/provider.js","webpack://gatsby-website-qf/./src/components/Footer.tsx","webpack://gatsby-website-qf/./src/ui/IDKT/Footer.tsx","webpack://gatsby-website-qf/./node_modules/@moxy/keyboard-only-outlines/es/index.js","webpack://gatsby-website-qf/./node_modules/@moxy/react-keyboard-only-outlines/es/index.js","webpack://gatsby-website-qf/./src/ui/UIBreadcrumb.tsx","webpack://gatsby-website-qf/./src/layouts/index.tsx","webpack://gatsby-website-qf/./src/utils/Constants.ts","webpack://gatsby-website-qf/./src/utils/Globals.ts","webpack://gatsby-website-qf/./src/utils/URLHelper.ts","webpack://gatsby-website-qf/./src/data/messages/IDKT/ar.js","webpack://gatsby-website-qf/./src/data/messages/IDKT/en.js","webpack://gatsby-website-qf/./src/data/messages/ar.js","webpack://gatsby-website-qf/./src/data/messages/en.js","webpack://gatsby-website-qf/./src/lib/gatsby-plugin-page-progress/gatsby-browser.js","webpack://gatsby-website-qf/./src/lib/gsap-bonus/CustomEase.min.js","webpack://gatsby-website-qf/./node_modules/invariant/browser.js","webpack://gatsby-website-qf/./src/data/messages/ sync ^\\.\\/.*$","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/extends.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/typeof.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/regenerator/index.js","webpack://gatsby-website-qf/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://gatsby-website-qf/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://gatsby-website-qf/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://gatsby-website-qf/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["import { __spreadArray } from \"tslib\";\nimport { memoize, strategies } from '@formatjs/fast-memoize';\n/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value\n });\n}\n/**\n * 7.3.5 CreateDataProperty\n * @param target\n * @param name\n * @param value\n */\nexport function createDataProperty(target, name, value) {\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) {\n Err = Error;\n }\n if (!condition) {\n throw new Err(message);\n }\n}\nexport var createMemoizedNumberFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic\n});\nexport var createMemoizedDateTimeFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic\n});\nexport var createMemoizedPluralRules = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic\n});\nexport var createMemoizedLocale = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.Locale).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic\n});\nexport var createMemoizedListFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.ListFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic\n});","//\n// Main\n//\nexport function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return value == null || typeof value === 'number' || typeof value === 'boolean'; // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function serializerDefault() {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n }\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic\n};","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `foo) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style\n };\n}","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a':\n // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B':\n // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z':\n // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: milliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x':\n // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton.split(WHITE_SPACE_REGEX).filter(function (x) {\n return x.length > 0;\n });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0],\n options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({\n stem: stem,\n options: options\n });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n } else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto'\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting'\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always'\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting'\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero'\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting'\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never'\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering'\n };\n stem = stem.slice(2);\n } else if (stem[0] === 'E') {\n result = {\n notation: 'scientific'\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n } else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), {\n notation: 'scientific'\n }), token.options.reduce(function (all, opt) {\n return __assign(__assign({}, all), parseNotationOptions(opt));\n }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), {\n notation: 'engineering'\n }), token.options.reduce(function (all, opt) {\n return __assign(__assign({}, all), parseNotationOptions(opt));\n }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n case 'rounding-mode-floor':\n result.roundingMode = 'floor';\n continue;\n case 'rounding-mode-ceiling':\n result.roundingMode = 'ceil';\n continue;\n case 'rounding-mode-down':\n result.roundingMode = 'trunc';\n continue;\n case 'rounding-mode-up':\n result.roundingMode = 'expand';\n continue;\n case 'rounding-mode-half-even':\n result.roundingMode = 'halfEven';\n continue;\n case 'rounding-mode-half-down':\n result.roundingMode = 'halfTrunc';\n continue;\n case 'rounding-mode-half-up':\n result.roundingMode = 'halfExpand';\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n } else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n } else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n } else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), {\n trailingZeroDisplay: 'stripIfInteger'\n });\n } else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}","// @generated from time-data-gen.ts\n// prettier-ignore \nexport var timeData = {\n \"001\": [\"H\", \"h\"],\n \"419\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"AC\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"AD\": [\"H\", \"hB\"],\n \"AE\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"AF\": [\"H\", \"hb\", \"hB\", \"h\"],\n \"AG\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"AI\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"AL\": [\"h\", \"H\", \"hB\"],\n \"AM\": [\"H\", \"hB\"],\n \"AO\": [\"H\", \"hB\"],\n \"AR\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"AS\": [\"h\", \"H\"],\n \"AT\": [\"H\", \"hB\"],\n \"AU\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"AW\": [\"H\", \"hB\"],\n \"AX\": [\"H\"],\n \"AZ\": [\"H\", \"hB\", \"h\"],\n \"BA\": [\"H\", \"hB\", \"h\"],\n \"BB\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"BD\": [\"h\", \"hB\", \"H\"],\n \"BE\": [\"H\", \"hB\"],\n \"BF\": [\"H\", \"hB\"],\n \"BG\": [\"H\", \"hB\", \"h\"],\n \"BH\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"BI\": [\"H\", \"h\"],\n \"BJ\": [\"H\", \"hB\"],\n \"BL\": [\"H\", \"hB\"],\n \"BM\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"BN\": [\"hb\", \"hB\", \"h\", \"H\"],\n \"BO\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"BQ\": [\"H\"],\n \"BR\": [\"H\", \"hB\"],\n \"BS\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"BT\": [\"h\", \"H\"],\n \"BW\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"BY\": [\"H\", \"h\"],\n \"BZ\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"CA\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"CC\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"CD\": [\"hB\", \"H\"],\n \"CF\": [\"H\", \"h\", \"hB\"],\n \"CG\": [\"H\", \"hB\"],\n \"CH\": [\"H\", \"hB\", \"h\"],\n \"CI\": [\"H\", \"hB\"],\n \"CK\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"CL\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"CM\": [\"H\", \"h\", \"hB\"],\n \"CN\": [\"H\", \"hB\", \"hb\", \"h\"],\n \"CO\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"CP\": [\"H\"],\n \"CR\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"CU\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"CV\": [\"H\", \"hB\"],\n \"CW\": [\"H\", \"hB\"],\n \"CX\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"CY\": [\"h\", \"H\", \"hb\", \"hB\"],\n \"CZ\": [\"H\"],\n \"DE\": [\"H\", \"hB\"],\n \"DG\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"DJ\": [\"h\", \"H\"],\n \"DK\": [\"H\"],\n \"DM\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"DO\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"DZ\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"EA\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"EC\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"EE\": [\"H\", \"hB\"],\n \"EG\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"EH\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"ER\": [\"h\", \"H\"],\n \"ES\": [\"H\", \"hB\", \"h\", \"hb\"],\n \"ET\": [\"hB\", \"hb\", \"h\", \"H\"],\n \"FI\": [\"H\"],\n \"FJ\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"FK\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"FM\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"FO\": [\"H\", \"h\"],\n \"FR\": [\"H\", \"hB\"],\n \"GA\": [\"H\", \"hB\"],\n \"GB\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"GD\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"GE\": [\"H\", \"hB\", \"h\"],\n \"GF\": [\"H\", \"hB\"],\n \"GG\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"GH\": [\"h\", \"H\"],\n \"GI\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"GL\": [\"H\", \"h\"],\n \"GM\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"GN\": [\"H\", \"hB\"],\n \"GP\": [\"H\", \"hB\"],\n \"GQ\": [\"H\", \"hB\", \"h\", \"hb\"],\n \"GR\": [\"h\", \"H\", \"hb\", \"hB\"],\n \"GT\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"GU\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"GW\": [\"H\", \"hB\"],\n \"GY\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"HK\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"HN\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"HR\": [\"H\", \"hB\"],\n \"HU\": [\"H\", \"h\"],\n \"IC\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"ID\": [\"H\"],\n \"IE\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"IL\": [\"H\", \"hB\"],\n \"IM\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"IN\": [\"h\", \"H\"],\n \"IO\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"IQ\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"IR\": [\"hB\", \"H\"],\n \"IS\": [\"H\"],\n \"IT\": [\"H\", \"hB\"],\n \"JE\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"JM\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"JO\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"JP\": [\"H\", \"K\", \"h\"],\n \"KE\": [\"hB\", \"hb\", \"H\", \"h\"],\n \"KG\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"KH\": [\"hB\", \"h\", \"H\", \"hb\"],\n \"KI\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"KM\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"KN\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"KP\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"KR\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"KW\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"KY\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"KZ\": [\"H\", \"hB\"],\n \"LA\": [\"H\", \"hb\", \"hB\", \"h\"],\n \"LB\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"LC\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"LI\": [\"H\", \"hB\", \"h\"],\n \"LK\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"LR\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"LS\": [\"h\", \"H\"],\n \"LT\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"LU\": [\"H\", \"h\", \"hB\"],\n \"LV\": [\"H\", \"hB\", \"hb\", \"h\"],\n \"LY\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"MA\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"MC\": [\"H\", \"hB\"],\n \"MD\": [\"H\", \"hB\"],\n \"ME\": [\"H\", \"hB\", \"h\"],\n \"MF\": [\"H\", \"hB\"],\n \"MG\": [\"H\", \"h\"],\n \"MH\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"MK\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"ML\": [\"H\"],\n \"MM\": [\"hB\", \"hb\", \"H\", \"h\"],\n \"MN\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"MO\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"MP\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"MQ\": [\"H\", \"hB\"],\n \"MR\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"MS\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"MT\": [\"H\", \"h\"],\n \"MU\": [\"H\", \"h\"],\n \"MV\": [\"H\", \"h\"],\n \"MW\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"MX\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"MY\": [\"hb\", \"hB\", \"h\", \"H\"],\n \"MZ\": [\"H\", \"hB\"],\n \"NA\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"NC\": [\"H\", \"hB\"],\n \"NE\": [\"H\"],\n \"NF\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"NG\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"NI\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"NL\": [\"H\", \"hB\"],\n \"NO\": [\"H\", \"h\"],\n \"NP\": [\"H\", \"h\", \"hB\"],\n \"NR\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"NU\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"NZ\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"OM\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"PA\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"PE\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"PF\": [\"H\", \"h\", \"hB\"],\n \"PG\": [\"h\", \"H\"],\n \"PH\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"PK\": [\"h\", \"hB\", \"H\"],\n \"PL\": [\"H\", \"h\"],\n \"PM\": [\"H\", \"hB\"],\n \"PN\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"PR\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"PS\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"PT\": [\"H\", \"hB\"],\n \"PW\": [\"h\", \"H\"],\n \"PY\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"QA\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"RE\": [\"H\", \"hB\"],\n \"RO\": [\"H\", \"hB\"],\n \"RS\": [\"H\", \"hB\", \"h\"],\n \"RU\": [\"H\"],\n \"RW\": [\"H\", \"h\"],\n \"SA\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"SB\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"SC\": [\"H\", \"h\", \"hB\"],\n \"SD\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"SE\": [\"H\"],\n \"SG\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"SH\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"SI\": [\"H\", \"hB\"],\n \"SJ\": [\"H\"],\n \"SK\": [\"H\"],\n \"SL\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"SM\": [\"H\", \"h\", \"hB\"],\n \"SN\": [\"H\", \"h\", \"hB\"],\n \"SO\": [\"h\", \"H\"],\n \"SR\": [\"H\", \"hB\"],\n \"SS\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"ST\": [\"H\", \"hB\"],\n \"SV\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"SX\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"SY\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"SZ\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"TA\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"TC\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"TD\": [\"h\", \"H\", \"hB\"],\n \"TF\": [\"H\", \"h\", \"hB\"],\n \"TG\": [\"H\", \"hB\"],\n \"TH\": [\"H\", \"h\"],\n \"TJ\": [\"H\", \"h\"],\n \"TL\": [\"H\", \"hB\", \"hb\", \"h\"],\n \"TM\": [\"H\", \"h\"],\n \"TN\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"TO\": [\"h\", \"H\"],\n \"TR\": [\"H\", \"hB\"],\n \"TT\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"TW\": [\"hB\", \"hb\", \"h\", \"H\"],\n \"TZ\": [\"hB\", \"hb\", \"H\", \"h\"],\n \"UA\": [\"H\", \"hB\", \"h\"],\n \"UG\": [\"hB\", \"hb\", \"H\", \"h\"],\n \"UM\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"US\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"UY\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"UZ\": [\"H\", \"hB\", \"h\"],\n \"VA\": [\"H\", \"h\", \"hB\"],\n \"VC\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"VE\": [\"h\", \"H\", \"hB\", \"hb\"],\n \"VG\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"VI\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"VN\": [\"H\", \"h\"],\n \"VU\": [\"h\", \"H\"],\n \"WF\": [\"H\", \"hB\"],\n \"WS\": [\"h\", \"H\"],\n \"XK\": [\"H\", \"hB\", \"h\"],\n \"YE\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"YT\": [\"H\", \"hB\"],\n \"ZA\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"ZM\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"ZW\": [\"H\", \"h\"],\n \"af-ZA\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"ar-001\": [\"h\", \"hB\", \"hb\", \"H\"],\n \"ca-ES\": [\"H\", \"h\", \"hB\"],\n \"en-001\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"en-HK\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"en-IL\": [\"H\", \"h\", \"hb\", \"hB\"],\n \"en-MY\": [\"h\", \"hb\", \"H\", \"hB\"],\n \"es-BR\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"es-ES\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"es-GQ\": [\"H\", \"h\", \"hB\", \"hb\"],\n \"fr-CA\": [\"H\", \"h\", \"hB\"],\n \"gl-ES\": [\"H\", \"h\", \"hB\"],\n \"gu-IN\": [\"hB\", \"hb\", \"h\", \"H\"],\n \"hi-IN\": [\"hB\", \"h\", \"H\"],\n \"it-CH\": [\"H\", \"h\", \"hB\"],\n \"it-IT\": [\"H\", \"h\", \"hB\"],\n \"kn-IN\": [\"hB\", \"h\", \"H\"],\n \"ml-IN\": [\"hB\", \"h\", \"H\"],\n \"mr-IN\": [\"hB\", \"hb\", \"h\", \"H\"],\n \"pa-IN\": [\"hB\", \"hb\", \"h\", \"H\"],\n \"ta-IN\": [\"hB\", \"h\", \"hb\", \"H\"],\n \"te-IN\": [\"hB\", \"h\", \"H\"],\n \"zu-ZA\": [\"H\", \"hB\", \"hb\", \"h\"]\n};","import \"core-js/modules/es.object.from-entries.js\";\nimport \"core-js/modules/es.string.trim-end.js\";\nimport \"core-js/modules/es.string.trim-start.js\";\nvar _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton } from '@formatjs/icu-skeleton-parser';\nimport { getBestPattern } from './date-time-pattern-generator';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return {\n start: start,\n end: end\n };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith && '_a'.startsWith('a', 1);\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger ? Number.isSafeInteger : function (n) {\n return typeof n === 'number' && isFinite(n) && Math.floor(n) === n && Math.abs(n) <= 0x1fffffffffffff;\n};\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n} catch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith ?\n// Native\nfunction startsWith(s, search, position) {\n return s.startsWith(search, position);\n} :\n// For IE11\nfunction startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n};\nvar fromCodePoint = hasNativeFromCodePoint ? String.fromCodePoint :\n// IE11\nfunction fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff) throw RangeError(code + ' is not a valid code point');\n elements += code < 0x10000 ? String.fromCharCode(code) : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00);\n }\n return elements;\n};\nvar fromEntries =\n// native\nhasNativeFromEntries ? Object.fromEntries :\n// Ponyfill\nfunction fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i],\n k = _a[0],\n v = _a[1];\n obj[k] = v;\n }\n return obj;\n};\nvar codePointAt = hasNativeCodePointAt ?\n// Native\nfunction codePointAt(s, index) {\n return s.codePointAt(index);\n} :\n// IE 11\nfunction codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 || first > 0xdbff || index + 1 === size || (second = s.charCodeAt(index + 1)) < 0xdc00 || second > 0xdfff ? first : (first - 0xd800 << 10) + (second - 0xdc00) + 0x10000;\n};\nvar trimStart = hasTrimStart ?\n// Native\nfunction trimStart(s) {\n return s.trimStart();\n} :\n// Ponyfill\nfunction trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n};\nvar trimEnd = hasTrimEnd ?\n// Native\nfunction trimEnd(s) {\n return s.trimEnd();\n} :\n// Ponyfill\nfunction trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n};\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n} else {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */function () {\n function Parser(message, options) {\n if (options === void 0) {\n options = {};\n }\n this.message = message;\n this.position = {\n offset: 0,\n line: 1,\n column: 1\n };\n this.ignoreTag = !!options.ignoreTag;\n this.locale = options.locale;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n } else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n } else if (char === 35 /* `#` */ && (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition())\n });\n } else if (char === 60 /* `<` */ && !this.ignoreTag && this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n } else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n } else if (char === 60 /* `<` */ && !this.ignoreTag && _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n } else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return {\n val: elements,\n err: null\n };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition())\n },\n err: null\n };\n } else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition())\n },\n err: null\n };\n } else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n } else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: {\n type: TYPE.literal,\n value: value,\n location: location\n },\n err: null\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() && this.char() === 60 /* `<` */ && (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35:\n // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n } else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n } else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ || ch === 123 /* `{` */ || ch === 35 /* `#` */ && (parentArgType === 'plural' || parentArgType === 'selectordinal') || ch === 125 /* `}` */ && nestingLevel > 0) {\n return null;\n } else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */:\n {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition())\n },\n err: null\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */:\n {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return {\n value: value,\n location: location\n };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time':\n {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = {\n style: style,\n styleLocation: styleLocation\n };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: {\n type: TYPE.number,\n value: value,\n location: location_1,\n style: result.val\n },\n err: null\n };\n } else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var dateTimePattern = skeleton;\n // Get \"best match\" pattern only if locale is passed, if not, let it\n // pass as-is where `parseDateTimeSkeleton()` will throw an error\n // for unsupported patterns.\n if (this.locale) {\n dateTimePattern = getBestPattern(skeleton, this.locale);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: dateTimePattern,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons ? parseDateTimeSkeleton(dateTimePattern) : {}\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: {\n type: type,\n value: value,\n location: location_1,\n style: style\n },\n err: null\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number' ? TYPE.number : argType === 'date' ? TYPE.date : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null\n },\n err: null\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select':\n {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2\n },\n err: null\n };\n } else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2\n },\n err: null\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return {\n val: true,\n err: null\n };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */:\n {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */:\n {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */:\n {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n } else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n } catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons ? parseNumberSkeleton(tokens) : {}\n },\n err: null\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value,\n selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n } else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select' ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select' ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([selector, {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition())\n }]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n _a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location;\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select' ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return {\n val: options,\n err: null\n };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {} else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n } else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return {\n val: decimal,\n err: null\n };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location\n }\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n } else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n } else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}();\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return codepoint >= 97 && codepoint <= 122 || codepoint >= 65 && codepoint <= 90;\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return c === 45 /* '-' */ || c === 46 /* '.' */ || c >= 48 && c <= 57 /* 0..9 */ || c === 95 /* '_' */ || c >= 97 && c <= 122 /** a..z */ || c >= 65 && c <= 90 /* A..Z */ || c == 0xb7 || c >= 0xc0 && c <= 0xd6 || c >= 0xd8 && c <= 0xf6 || c >= 0xf8 && c <= 0x37d || c >= 0x37f && c <= 0x1fff || c >= 0x200c && c <= 0x200d || c >= 0x203f && c <= 0x2040 || c >= 0x2070 && c <= 0x218f || c >= 0x2c00 && c <= 0x2fef || c >= 0x3001 && c <= 0xd7ff || c >= 0xf900 && c <= 0xfdcf || c >= 0xfdf0 && c <= 0xfffd || c >= 0x10000 && c <= 0xeffff;\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return c >= 0x0009 && c <= 0x000d || c === 0x0020 || c === 0x0085 || c >= 0x200e && c <= 0x200f || c === 0x2028 || c === 0x2029;\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return c >= 0x0021 && c <= 0x0023 || c === 0x0024 || c >= 0x0025 && c <= 0x0027 || c === 0x0028 || c === 0x0029 || c === 0x002a || c === 0x002b || c === 0x002c || c === 0x002d || c >= 0x002e && c <= 0x002f || c >= 0x003a && c <= 0x003b || c >= 0x003c && c <= 0x003e || c >= 0x003f && c <= 0x0040 || c === 0x005b || c === 0x005c || c === 0x005d || c === 0x005e || c === 0x0060 || c === 0x007b || c === 0x007c || c === 0x007d || c === 0x007e || c === 0x00a1 || c >= 0x00a2 && c <= 0x00a5 || c === 0x00a6 || c === 0x00a7 || c === 0x00a9 || c === 0x00ab || c === 0x00ac || c === 0x00ae || c === 0x00b0 || c === 0x00b1 || c === 0x00b6 || c === 0x00bb || c === 0x00bf || c === 0x00d7 || c === 0x00f7 || c >= 0x2010 && c <= 0x2015 || c >= 0x2016 && c <= 0x2017 || c === 0x2018 || c === 0x2019 || c === 0x201a || c >= 0x201b && c <= 0x201c || c === 0x201d || c === 0x201e || c === 0x201f || c >= 0x2020 && c <= 0x2027 || c >= 0x2030 && c <= 0x2038 || c === 0x2039 || c === 0x203a || c >= 0x203b && c <= 0x203e || c >= 0x2041 && c <= 0x2043 || c === 0x2044 || c === 0x2045 || c === 0x2046 || c >= 0x2047 && c <= 0x2051 || c === 0x2052 || c === 0x2053 || c >= 0x2055 && c <= 0x205e || c >= 0x2190 && c <= 0x2194 || c >= 0x2195 && c <= 0x2199 || c >= 0x219a && c <= 0x219b || c >= 0x219c && c <= 0x219f || c === 0x21a0 || c >= 0x21a1 && c <= 0x21a2 || c === 0x21a3 || c >= 0x21a4 && c <= 0x21a5 || c === 0x21a6 || c >= 0x21a7 && c <= 0x21ad || c === 0x21ae || c >= 0x21af && c <= 0x21cd || c >= 0x21ce && c <= 0x21cf || c >= 0x21d0 && c <= 0x21d1 || c === 0x21d2 || c === 0x21d3 || c === 0x21d4 || c >= 0x21d5 && c <= 0x21f3 || c >= 0x21f4 && c <= 0x22ff || c >= 0x2300 && c <= 0x2307 || c === 0x2308 || c === 0x2309 || c === 0x230a || c === 0x230b || c >= 0x230c && c <= 0x231f || c >= 0x2320 && c <= 0x2321 || c >= 0x2322 && c <= 0x2328 || c === 0x2329 || c === 0x232a || c >= 0x232b && c <= 0x237b || c === 0x237c || c >= 0x237d && c <= 0x239a || c >= 0x239b && c <= 0x23b3 || c >= 0x23b4 && c <= 0x23db || c >= 0x23dc && c <= 0x23e1 || c >= 0x23e2 && c <= 0x2426 || c >= 0x2427 && c <= 0x243f || c >= 0x2440 && c <= 0x244a || c >= 0x244b && c <= 0x245f || c >= 0x2500 && c <= 0x25b6 || c === 0x25b7 || c >= 0x25b8 && c <= 0x25c0 || c === 0x25c1 || c >= 0x25c2 && c <= 0x25f7 || c >= 0x25f8 && c <= 0x25ff || c >= 0x2600 && c <= 0x266e || c === 0x266f || c >= 0x2670 && c <= 0x2767 || c === 0x2768 || c === 0x2769 || c === 0x276a || c === 0x276b || c === 0x276c || c === 0x276d || c === 0x276e || c === 0x276f || c === 0x2770 || c === 0x2771 || c === 0x2772 || c === 0x2773 || c === 0x2774 || c === 0x2775 || c >= 0x2794 && c <= 0x27bf || c >= 0x27c0 && c <= 0x27c4 || c === 0x27c5 || c === 0x27c6 || c >= 0x27c7 && c <= 0x27e5 || c === 0x27e6 || c === 0x27e7 || c === 0x27e8 || c === 0x27e9 || c === 0x27ea || c === 0x27eb || c === 0x27ec || c === 0x27ed || c === 0x27ee || c === 0x27ef || c >= 0x27f0 && c <= 0x27ff || c >= 0x2800 && c <= 0x28ff || c >= 0x2900 && c <= 0x2982 || c === 0x2983 || c === 0x2984 || c === 0x2985 || c === 0x2986 || c === 0x2987 || c === 0x2988 || c === 0x2989 || c === 0x298a || c === 0x298b || c === 0x298c || c === 0x298d || c === 0x298e || c === 0x298f || c === 0x2990 || c === 0x2991 || c === 0x2992 || c === 0x2993 || c === 0x2994 || c === 0x2995 || c === 0x2996 || c === 0x2997 || c === 0x2998 || c >= 0x2999 && c <= 0x29d7 || c === 0x29d8 || c === 0x29d9 || c === 0x29da || c === 0x29db || c >= 0x29dc && c <= 0x29fb || c === 0x29fc || c === 0x29fd || c >= 0x29fe && c <= 0x2aff || c >= 0x2b00 && c <= 0x2b2f || c >= 0x2b30 && c <= 0x2b44 || c >= 0x2b45 && c <= 0x2b46 || c >= 0x2b47 && c <= 0x2b4c || c >= 0x2b4d && c <= 0x2b73 || c >= 0x2b74 && c <= 0x2b75 || c >= 0x2b76 && c <= 0x2b95 || c === 0x2b96 || c >= 0x2b97 && c <= 0x2bff || c >= 0x2e00 && c <= 0x2e01 || c === 0x2e02 || c === 0x2e03 || c === 0x2e04 || c === 0x2e05 || c >= 0x2e06 && c <= 0x2e08 || c === 0x2e09 || c === 0x2e0a || c === 0x2e0b || c === 0x2e0c || c === 0x2e0d || c >= 0x2e0e && c <= 0x2e16 || c === 0x2e17 || c >= 0x2e18 && c <= 0x2e19 || c === 0x2e1a || c === 0x2e1b || c === 0x2e1c || c === 0x2e1d || c >= 0x2e1e && c <= 0x2e1f || c === 0x2e20 || c === 0x2e21 || c === 0x2e22 || c === 0x2e23 || c === 0x2e24 || c === 0x2e25 || c === 0x2e26 || c === 0x2e27 || c === 0x2e28 || c === 0x2e29 || c >= 0x2e2a && c <= 0x2e2e || c === 0x2e2f || c >= 0x2e30 && c <= 0x2e39 || c >= 0x2e3a && c <= 0x2e3b || c >= 0x2e3c && c <= 0x2e3f || c === 0x2e40 || c === 0x2e41 || c === 0x2e42 || c >= 0x2e43 && c <= 0x2e4f || c >= 0x2e50 && c <= 0x2e51 || c === 0x2e52 || c >= 0x2e53 && c <= 0x2e7f || c >= 0x3001 && c <= 0x3003 || c === 0x3008 || c === 0x3009 || c === 0x300a || c === 0x300b || c === 0x300c || c === 0x300d || c === 0x300e || c === 0x300f || c === 0x3010 || c === 0x3011 || c >= 0x3012 && c <= 0x3013 || c === 0x3014 || c === 0x3015 || c === 0x3016 || c === 0x3017 || c === 0x3018 || c === 0x3019 || c === 0x301a || c === 0x301b || c === 0x301c || c === 0x301d || c >= 0x301e && c <= 0x301f || c === 0x3020 || c === 0x3030 || c === 0xfd3e || c === 0xfd3f || c >= 0xfe45 && c <= 0xfe46;\n}","import { timeData } from './time-data.generated';\n/**\n * Returns the best matching date time pattern if a date time skeleton\n * pattern is provided with a locale. Follows the Unicode specification:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n * @param skeleton date time skeleton pattern that possibly includes j, J or C\n * @param locale\n */\nexport function getBestPattern(skeleton, locale) {\n var skeletonCopy = '';\n for (var patternPos = 0; patternPos < skeleton.length; patternPos++) {\n var patternChar = skeleton.charAt(patternPos);\n if (patternChar === 'j') {\n var extraLength = 0;\n while (patternPos + 1 < skeleton.length && skeleton.charAt(patternPos + 1) === patternChar) {\n extraLength++;\n patternPos++;\n }\n var hourLen = 1 + (extraLength & 1);\n var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n var dayPeriodChar = 'a';\n var hourChar = getDefaultHourSymbolFromLocale(locale);\n if (hourChar == 'H' || hourChar == 'k') {\n dayPeriodLen = 0;\n }\n while (dayPeriodLen-- > 0) {\n skeletonCopy += dayPeriodChar;\n }\n while (hourLen-- > 0) {\n skeletonCopy = hourChar + skeletonCopy;\n }\n } else if (patternChar === 'J') {\n skeletonCopy += 'H';\n } else {\n skeletonCopy += patternChar;\n }\n }\n return skeletonCopy;\n}\n/**\n * Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n * of the given `locale` to the corresponding time pattern.\n * @param locale\n */\nfunction getDefaultHourSymbolFromLocale(locale) {\n var hourCycle = locale.hourCycle;\n if (hourCycle === undefined &&\n // @ts-ignore hourCycle(s) is not identified yet\n locale.hourCycles &&\n // @ts-ignore\n locale.hourCycles.length) {\n // @ts-ignore\n hourCycle = locale.hourCycles[0];\n }\n if (hourCycle) {\n switch (hourCycle) {\n case 'h24':\n return 'k';\n case 'h23':\n return 'H';\n case 'h12':\n return 'h';\n case 'h11':\n return 'K';\n default:\n throw new Error('Invalid hourCycle');\n }\n }\n // TODO: Once hourCycle is fully supported remove the following with data generation\n var languageTag = locale.language;\n var regionTag;\n if (languageTag !== 'root') {\n regionTag = locale.maximize().region;\n }\n var hourCycles = timeData[regionTag || ''] || timeData[languageTag || ''] || timeData[\"\".concat(languageTag, \"-001\")] || timeData['001'];\n return hourCycles[0];\n}","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n } else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n } else if ((isDateElement(el) || isTimeElement(el)) && isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n } else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) {\n opts = {};\n }\n opts = __assign({\n shouldParseSkeletons: true,\n requiresOtherClause: true\n }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n// only for testing\nexport var _Parser = Parser;","import { __extends } from \"tslib\";\nexport var IntlErrorCode;\n(function (IntlErrorCode) {\n IntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n IntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n IntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n IntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n IntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(IntlErrorCode || (IntlErrorCode = {}));\nvar IntlError = /** @class */function (_super) {\n __extends(IntlError, _super);\n function IntlError(code, message, exception) {\n var _this = this;\n var err = exception ? exception instanceof Error ? exception : new Error(String(exception)) : undefined;\n _this = _super.call(this, \"[@formatjs/intl Error \".concat(code, \"] \").concat(message, \"\\n\").concat(err ? \"\\n\".concat(err.message, \"\\n\").concat(err.stack) : '')) || this;\n _this.code = code;\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (typeof Error.captureStackTrace === 'function') {\n // @ts-ignore just so we don't need to declare dep on @types/node\n Error.captureStackTrace(_this, IntlError);\n }\n return _this;\n }\n return IntlError;\n}(Error);\nexport { IntlError };\nvar UnsupportedFormatterError = /** @class */function (_super) {\n __extends(UnsupportedFormatterError, _super);\n function UnsupportedFormatterError(message, exception) {\n return _super.call(this, IntlErrorCode.UNSUPPORTED_FORMATTER, message, exception) || this;\n }\n return UnsupportedFormatterError;\n}(IntlError);\nexport { UnsupportedFormatterError };\nvar InvalidConfigError = /** @class */function (_super) {\n __extends(InvalidConfigError, _super);\n function InvalidConfigError(message, exception) {\n return _super.call(this, IntlErrorCode.INVALID_CONFIG, message, exception) || this;\n }\n return InvalidConfigError;\n}(IntlError);\nexport { InvalidConfigError };\nvar MissingDataError = /** @class */function (_super) {\n __extends(MissingDataError, _super);\n function MissingDataError(message, exception) {\n return _super.call(this, IntlErrorCode.MISSING_DATA, message, exception) || this;\n }\n return MissingDataError;\n}(IntlError);\nexport { MissingDataError };\nvar IntlFormatError = /** @class */function (_super) {\n __extends(IntlFormatError, _super);\n function IntlFormatError(message, locale, exception) {\n var _this = _super.call(this, IntlErrorCode.FORMAT_ERROR, \"\".concat(message, \"\\nLocale: \").concat(locale, \"\\n\"), exception) || this;\n _this.locale = locale;\n return _this;\n }\n return IntlFormatError;\n}(IntlError);\nexport { IntlFormatError };\nvar MessageFormatError = /** @class */function (_super) {\n __extends(MessageFormatError, _super);\n function MessageFormatError(message, locale, descriptor, exception) {\n var _this = _super.call(this, \"\".concat(message, \"\\nMessageID: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.id, \"\\nDefault Message: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage, \"\\nDescription: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.description, \"\\n\"), locale, exception) || this;\n _this.descriptor = descriptor;\n _this.locale = locale;\n return _this;\n }\n return MessageFormatError;\n}(IntlFormatError);\nexport { MessageFormatError };\nvar MissingTranslationError = /** @class */function (_super) {\n __extends(MissingTranslationError, _super);\n function MissingTranslationError(descriptor, locale) {\n var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, \"Missing message: \\\"\".concat(descriptor.id, \"\\\" for locale \\\"\").concat(locale, \"\\\", using \").concat(descriptor.defaultMessage ? \"default message (\".concat(typeof descriptor.defaultMessage === 'string' ? descriptor.defaultMessage : descriptor.defaultMessage.map(function (e) {\n var _a;\n return (_a = e.value) !== null && _a !== void 0 ? _a : JSON.stringify(e);\n }).join(), \")\") : 'id', \" as fallback.\")) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MissingTranslationError;\n}(IntlError);\nexport { MissingTranslationError };","import { __assign, __spreadArray } from \"tslib\";\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport { memoize, strategies } from '@formatjs/fast-memoize';\nimport { UnsupportedFormatterError } from './error';\nexport function filterProps(props, allowlist, defaults) {\n if (defaults === void 0) {\n defaults = {};\n }\n return allowlist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n } else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nvar defaultErrorHandler = function defaultErrorHandler(error) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n};\nvar defaultWarnHandler = function defaultWarnHandler(warning) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n};\nexport var DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n defaultLocale: 'en',\n defaultFormats: {},\n fallbackOnEmptyString: true,\n onError: defaultErrorHandler,\n onWarn: defaultWarnHandler\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {}\n };\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function create() {\n return {\n get: function get(key) {\n return store[key];\n },\n set: function set(key, value) {\n store[key] = value;\n }\n };\n }\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache) {\n if (cache === void 0) {\n cache = createIntlCache();\n }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n var DisplayNames = Intl.DisplayNames;\n var getDateTimeFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic\n });\n var getNumberFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic\n });\n var getPluralRules = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic\n });\n return {\n getDateTimeFormat: getDateTimeFormat,\n getNumberFormat: getNumberFormat,\n getMessageFormat: memoize(function (message, locales, overrideFormats, opts) {\n return new IntlMessageFormat(message, locales, overrideFormats, __assign({\n formatters: {\n getNumberFormat: getNumberFormat,\n getDateTimeFormat: getDateTimeFormat,\n getPluralRules: getPluralRules\n }\n }, opts || {}));\n }, {\n cache: createFastMemoizeCache(cache.message),\n strategy: strategies.variadic\n }),\n getRelativeTimeFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.relativeTime),\n strategy: strategies.variadic\n }),\n getPluralRules: getPluralRules,\n getListFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.list),\n strategy: strategies.variadic\n }),\n getDisplayNames: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.displayNames),\n strategy: strategies.variadic\n })\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new UnsupportedFormatterError(\"No \".concat(type, \" format named: \").concat(name)));\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import _classCallCheck from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _possibleConstructorReturn from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _inherits from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nimport _slicedToArray from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport \"core-js/modules/es.array.sort.js\";\nimport \"core-js/modules/esnext.global-this.js\";\nimport * as e from \"react\";\nimport t from \"react\";\nimport r from \"prop-types\";\nimport n from \"invariant\";\nfunction o() {\n return o = Object.assign ? Object.assign.bind() : function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = arguments[t];\n for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);\n }\n return e;\n }, o.apply(this, arguments);\n}\nfunction a(e, t) {\n if (null == e) return {};\n var r,\n n,\n o = {},\n a = Object.keys(e);\n for (n = 0; n < a.length; n++) t.indexOf(r = a[n]) >= 0 || (o[r] = e[r]);\n return o;\n}\nvar s = function s(e) {\n var _e$location = e.location,\n t = _e$location.search,\n r = _e$location.hash,\n n = _e$location.href,\n o = _e$location.origin,\n a = _e$location.protocol,\n s = _e$location.host,\n i = _e$location.hostname,\n c = _e$location.port;\n var l = e.location.pathname;\n return !l && n && u && (l = new URL(n).pathname), {\n pathname: encodeURI(decodeURI(l)),\n search: t,\n hash: r,\n href: n,\n origin: o,\n protocol: a,\n host: s,\n hostname: i,\n port: c,\n state: e.history.state,\n key: e.history.state && e.history.state.key || \"initial\"\n };\n },\n i = function i(e, t) {\n var r = [],\n n = s(e),\n a = !1,\n i = function i() {};\n return {\n get location() {\n return n;\n },\n get transitioning() {\n return a;\n },\n _onTransitionComplete: function _onTransitionComplete() {\n a = !1, i();\n },\n listen: function listen(t) {\n r.push(t);\n var o = function o() {\n n = s(e), t({\n location: n,\n action: \"POP\"\n });\n };\n return e.addEventListener(\"popstate\", o), function () {\n e.removeEventListener(\"popstate\", o), r = r.filter(function (e) {\n return e !== t;\n });\n };\n },\n navigate: function navigate(t) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n c = _ref.state,\n _ref$replace = _ref.replace,\n u = _ref$replace === void 0 ? !1 : _ref$replace;\n if (\"number\" == typeof t) e.history.go(t);else {\n c = o({}, c, {\n key: Date.now() + \"\"\n });\n try {\n a || u ? e.history.replaceState(c, null, t) : e.history.pushState(c, null, t);\n } catch (r) {\n e.location[u ? \"replace\" : \"assign\"](t);\n }\n }\n n = s(e), a = !0;\n var l = new Promise(function (e) {\n return i = e;\n });\n return r.forEach(function (e) {\n return e({\n location: n,\n action: \"PUSH\"\n });\n }), l;\n }\n };\n },\n c = function c() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var t = e.indexOf(\"?\"),\n r = {\n pathname: t > -1 ? e.substr(0, t) : e,\n search: t > -1 ? e.substr(t) : \"\"\n };\n var n = 0;\n var o = [r],\n a = [null];\n return {\n get location() {\n return o[n];\n },\n addEventListener: function addEventListener(e, t) {},\n removeEventListener: function removeEventListener(e, t) {},\n history: {\n get entries() {\n return o;\n },\n get index() {\n return n;\n },\n get state() {\n return a[n];\n },\n pushState: function pushState(e, t, r) {\n var _r$split = r.split(\"?\"),\n _r$split2 = _slicedToArray(_r$split, 2),\n s = _r$split2[0],\n _r$split2$ = _r$split2[1],\n i = _r$split2$ === void 0 ? \"\" : _r$split2$;\n n++, o.push({\n pathname: s,\n search: i.length ? \"?\".concat(i) : i\n }), a.push(e);\n },\n replaceState: function replaceState(e, t, r) {\n var _r$split3 = r.split(\"?\"),\n _r$split4 = _slicedToArray(_r$split3, 2),\n s = _r$split4[0],\n _r$split4$ = _r$split4[1],\n i = _r$split4$ === void 0 ? \"\" : _r$split4$;\n o[n] = {\n pathname: s,\n search: i\n }, a[n] = e;\n },\n go: function go(e) {\n var t = n + e;\n t < 0 || t > a.length - 1 || (n = t);\n }\n }\n };\n },\n u = !(\"undefined\" == typeof window || !window.document || !window.document.createElement),\n l = i(u ? window : c()),\n p = l.navigate;\nfunction h(e, r) {\n return t.createServerContext ? function (e) {\n var r = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return globalThis.__SERVER_CONTEXT || (globalThis.__SERVER_CONTEXT = {}), globalThis.__SERVER_CONTEXT[e] || (globalThis.__SERVER_CONTEXT[e] = t.createServerContext(e, r)), globalThis.__SERVER_CONTEXT[e];\n }(e, r) : t.createContext(r);\n}\nvar m = h(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\"\n }),\n d = h(\"Location\"),\n f = function f() {\n return e.useContext(m);\n },\n y = function y() {\n return e.useContext(d);\n };\nfunction E(e) {\n this.uri = e;\n}\nvar g = function g(e) {\n return e instanceof E;\n },\n v = function v(e) {\n throw new E(e);\n };\nfunction b(t) {\n var r = t.to,\n _t$replace = t.replace,\n n = _t$replace === void 0 ? !0 : _t$replace,\n o = t.state,\n a = t.noThrow,\n s = t.baseuri;\n e.useEffect(function () {\n Promise.resolve().then(function () {\n var e = k(r, s);\n p(P(e, t), {\n replace: n,\n state: o\n });\n });\n }, []);\n var i = k(r, s);\n return a || v(P(i, t)), null;\n}\nvar R = function R(t) {\n var r = y(),\n _f = f(),\n n = _f.baseuri; /*#__PURE__*/\n return e.createElement(b, o({}, r, {\n baseuri: n\n }, t));\n};\nR.propTypes = {\n from: r.string,\n to: r.string.isRequired\n};\nvar C = function C(e, t) {\n return e.substr(0, t.length) === t;\n },\n w = function w(e, t) {\n var r, o;\n var _t$split = t.split(\"?\"),\n _t$split2 = _slicedToArray(_t$split, 1),\n a = _t$split2[0],\n s = N(a),\n i = \"\" === s[0],\n c = j(e);\n for (var _e = 0, _a = c.length; _e < _a; _e++) {\n var _a2 = !1;\n var _u = c[_e].route;\n if (_u.default) {\n o = {\n route: _u,\n params: {},\n uri: t\n };\n continue;\n }\n var _l = N(_u.path),\n _p = {},\n _h = Math.max(s.length, _l.length);\n var _m = 0;\n for (; _m < _h; _m++) {\n var _e2 = _l[_m],\n _t = s[_m];\n if ($(_e2)) {\n _p[_e2.slice(1) || \"*\"] = s.slice(_m).map(decodeURIComponent).join(\"/\");\n break;\n }\n if (void 0 === _t) {\n _a2 = !0;\n break;\n }\n var _r = O.exec(_e2);\n if (_r && !i) {\n var _e3 = -1 === U.indexOf(_r[1]);\n n(_e3, \" dynamic segment \\\"\".concat(_r[1], \"\\\" is a reserved name. Please use a different name in path \\\"\").concat(_u.path, \"\\\".\"));\n var _o = decodeURIComponent(_t);\n _p[_r[1]] = _o;\n } else if (_e2 !== _t) {\n _a2 = !0;\n break;\n }\n }\n if (!_a2) {\n r = {\n route: _u,\n params: _p,\n uri: \"/\" + s.slice(0, _m).join(\"/\")\n };\n break;\n }\n }\n return r || o || null;\n },\n x = function x(e, t) {\n return w([{\n path: e\n }], t);\n },\n k = function k(e, t) {\n if (C(e, \"/\")) return e;\n var _e$split = e.split(\"?\"),\n _e$split2 = _slicedToArray(_e$split, 2),\n r = _e$split2[0],\n n = _e$split2[1],\n _t$split3 = t.split(\"?\"),\n _t$split4 = _slicedToArray(_t$split3, 1),\n o = _t$split4[0],\n a = N(r),\n s = N(o);\n if (\"\" === a[0]) return L(o, n);\n if (!C(a[0], \".\")) {\n var _e4 = s.concat(a).join(\"/\");\n return L((\"/\" === o ? \"\" : \"/\") + _e4, n);\n }\n var i = s.concat(a),\n c = [];\n for (var _e5 = 0, _t2 = i.length; _e5 < _t2; _e5++) {\n var _t3 = i[_e5];\n \"..\" === _t3 ? c.pop() : \".\" !== _t3 && c.push(_t3);\n }\n return L(\"/\" + c.join(\"/\"), n);\n },\n P = function P(e, t) {\n var _e$split3 = e.split(\"?\"),\n _e$split4 = _slicedToArray(_e$split3, 2),\n r = _e$split4[0],\n _e$split4$ = _e$split4[1],\n n = _e$split4$ === void 0 ? \"\" : _e$split4$;\n var o = \"/\" + N(r).map(function (e) {\n var r = O.exec(e);\n return r ? t[r[1]] : e;\n }).join(\"/\");\n var _t$location = t.location,\n _t$location2 = _t$location === void 0 ? {} : _t$location,\n _t$location2$search = _t$location2.search,\n a = _t$location2$search === void 0 ? \"\" : _t$location2$search,\n s = a.split(\"?\")[1] || \"\";\n return o = L(o, n, s), o;\n },\n T = function T(e, t) {\n var r = function r(e) {\n return _(e);\n };\n return N(e).filter(r).sort().join(\"/\") === N(t).filter(r).sort().join(\"/\");\n },\n O = /^:(.+)/,\n _ = function _(e) {\n return O.test(e);\n },\n $ = function $(e) {\n return e && \"*\" === e[0];\n },\n S = function S(e, t) {\n return {\n route: e,\n score: e.default ? 0 : N(e.path).reduce(function (e, t) {\n return e += 4, function (e) {\n return \"\" === e;\n }(t) ? e += 1 : _(t) ? e += 2 : $(t) ? e -= 5 : e += 3, e;\n }, 0),\n index: t\n };\n },\n j = function j(e) {\n return e.map(S).sort(function (e, t) {\n return e.score < t.score ? 1 : e.score > t.score ? -1 : e.index - t.index;\n });\n },\n N = function N(e) {\n return e.replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n },\n L = function L(e) {\n for (var _len = arguments.length, t = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n t[_key - 1] = arguments[_key];\n }\n return e + ((t = t.filter(function (e) {\n return e && e.length > 0;\n })) && t.length > 0 ? \"?\".concat(t.join(\"&\")) : \"\");\n },\n U = [\"uri\", \"path\"],\n D = function D(e, t) {\n var r = Object.keys(e);\n return r.length === Object.keys(t).length && r.every(function (r) {\n return t.hasOwnProperty(r) && e[r] === t[r];\n });\n },\n M = function M(e) {\n return e.replace(/(^\\/+|\\/+$)/g, \"\");\n },\n _I = function I(t) {\n return function (r) {\n if (!r) return null;\n if (r.type === e.Fragment && r.props.children) return e.Children.map(r.props.children, _I(t));\n if (n(r.props.path || r.props.default || r.type === R, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\".concat(r.type, \"`\")), n(!!(r.type !== R || r.props.from && r.props.to), \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\")), n(!(r.type === R && !T(r.props.from, r.props.to)), \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\")), r.props.default) return {\n value: r,\n default: !0\n };\n var o = r.type === R ? r.props.from : r.props.path,\n a = \"/\" === o ? t : \"\".concat(M(t), \"/\").concat(M(o));\n return {\n value: r,\n default: r.props.default,\n path: r.props.children ? \"\".concat(M(a), \"/*\") : a\n };\n };\n },\n V = [\"innerRef\"],\n q = [\"to\", \"state\", \"replace\", \"getProps\"],\n X = [\"key\"];\nvar B = e.forwardRef;\nvoid 0 === B && (B = function B(e) {\n return e;\n});\nvar K = function K() {},\n A = B(function (t, r) {\n var n = t.innerRef,\n s = a(t, V);\n var _f2 = f(),\n i = _f2.baseuri,\n _y = y(),\n c = _y.location,\n u = s.to,\n l = s.state,\n h = s.replace,\n _s$getProps = s.getProps,\n m = _s$getProps === void 0 ? K : _s$getProps,\n d = a(s, q),\n E = k(u, i),\n g = encodeURI(E),\n v = c.pathname === g,\n b = C(c.pathname, g); /*#__PURE__*/\n return e.createElement(\"a\", o({\n ref: r || n,\n \"aria-current\": v ? \"page\" : void 0\n }, d, m({\n isCurrent: v,\n isPartiallyCurrent: b,\n href: E,\n location: c\n }), {\n href: E,\n onClick: function onClick(e) {\n if (d.onClick && d.onClick(e), function (e) {\n return !e.defaultPrevented && 0 === e.button && !(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);\n }(e)) {\n e.preventDefault();\n var _t4 = h;\n if (\"boolean\" != typeof h && v) {\n var _e6 = a(o({}, c.state), X);\n _t4 = D(o({}, l), _e6);\n }\n p(E, {\n state: l,\n replace: _t4\n });\n }\n }\n }));\n });\nA.displayName = \"Link\", A.propTypes = {\n to: r.string.isRequired\n};\nvar F = /*#__PURE__*/function (_e$Component) {\n function F() {\n var _this;\n _classCallCheck(this, F);\n for (var _len2 = arguments.length, e = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n e[_key2] = arguments[_key2];\n }\n _this = _callSuper(this, F, [].concat(e)), _this.displayName = \"ReactUseErrorBoundary\";\n return _this;\n }\n _inherits(F, _e$Component);\n return _createClass(F, [{\n key: \"componentDidCatch\",\n value: function componentDidCatch() {\n var _this$props;\n this.setState({}), (_this$props = this.props).onError.apply(_this$props, arguments);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n}(e.Component);\nvar W = e.createContext({\n componentDidCatch: {\n current: void 0\n },\n error: void 0,\n setError: function setError() {\n return !1;\n }\n});\nfunction H(_ref2) {\n var t = _ref2.children;\n var _e$useState = e.useState(),\n _e$useState2 = _slicedToArray(_e$useState, 2),\n r = _e$useState2[0],\n n = _e$useState2[1],\n o = e.useRef(),\n a = e.useMemo(function () {\n return {\n componentDidCatch: o,\n error: r,\n setError: n\n };\n }, [r]); /*#__PURE__*/\n return e.createElement(W.Provider, {\n value: a\n }, /*#__PURE__*/e.createElement(F, {\n error: r,\n onError: function onError(e, t) {\n n(e), null == o.current || o.current(e, t);\n }\n }, t));\n}\nH.displayName = \"ReactUseErrorBoundaryContext\";\nvar z = function (t) {\n var r, n;\n function a(r) {\n /*#__PURE__*/return e.createElement(H, null, /*#__PURE__*/e.createElement(t, o({\n key: \"WrappedComponent\"\n }, r)));\n }\n return a.displayName = \"WithErrorBoundary(\".concat(null != (r = null != (n = t.displayName) ? n : t.name) ? r : \"Component\", \")\"), a;\n }(function (_ref3) {\n var _ref3$history = _ref3.history,\n t = _ref3$history === void 0 ? l : _ref3$history,\n r = _ref3.children;\n var n = t.location,\n _e$useState3 = e.useState({\n location: n\n }),\n _e$useState4 = _slicedToArray(_e$useState3, 2),\n o = _e$useState4[0],\n a = _e$useState4[1],\n _ref4 = function (t) {\n var r = e.useContext(W);\n r.componentDidCatch.current = void 0;\n var n = e.useCallback(function () {\n r.setError(void 0);\n }, []);\n return [r.error, n];\n }(),\n _ref5 = _slicedToArray(_ref4, 1),\n s = _ref5[0];\n if (e.useEffect(function () {\n t._onTransitionComplete();\n }, [o.location]), e.useEffect(function () {\n var e = !1;\n var r = t.listen(function (_ref6) {\n var t = _ref6.location;\n Promise.resolve().then(function () {\n requestAnimationFrame(function () {\n e || a({\n location: t\n });\n });\n });\n });\n return function () {\n e = !0, r();\n };\n }, []), s) {\n if (!g(s)) throw s;\n p(s.uri, {\n replace: !0\n });\n } /*#__PURE__*/\n return e.createElement(d.Provider, {\n value: o\n }, \"function\" == typeof r ? r(o) : r || null);\n }),\n G = function G(_ref7) {\n var t = _ref7.children;\n var r = y();\n return r ? t(r) : /*#__PURE__*/e.createElement(z, null, t);\n },\n J = function J(_ref8) {\n var t = _ref8.url,\n r = _ref8.children;\n var n = t.indexOf(\"?\");\n var o,\n a = \"\";\n return n > -1 ? (o = t.substring(0, n), a = t.substring(n)) : o = t, /*#__PURE__*/e.createElement(d.Provider, {\n value: {\n location: {\n pathname: o,\n search: a,\n hash: \"\"\n }\n }\n }, r);\n },\n Q = function Q(_ref9) {\n var e = _ref9.path,\n t = _ref9.children;\n var _f3 = f(),\n r = _f3.baseuri,\n _y2 = y(),\n n = _y2.location,\n a = k(e, r),\n s = x(a, n.pathname);\n return t({\n location: n,\n match: s ? o({}, s.params, {\n uri: s.uri,\n path: e\n }) : null\n });\n },\n Y = [\"uri\", \"location\", \"component\"],\n Z = [\"children\", \"style\", \"component\", \"uri\", \"location\"],\n ee = function ee(t) {\n var r = t.uri,\n n = t.location,\n s = t.component,\n i = a(t, Y); /*#__PURE__*/\n return e.createElement(re, o({}, i, {\n component: s,\n uri: r,\n location: n\n }));\n };\nvar te = 0;\nvar re = function re(t) {\n var r = t.children,\n n = t.style,\n _t$component = t.component,\n s = _t$component === void 0 ? \"div\" : _t$component,\n i = t.uri,\n c = t.location,\n u = a(t, Z);\n var l = e.useRef(),\n p = e.useRef(!0),\n h = e.useRef(i),\n m = e.useRef(c.pathname),\n d = e.useRef(!1);\n e.useEffect(function () {\n return te++, f(), function () {\n te--, 0 === te && (p.current = !0);\n };\n }, []), e.useEffect(function () {\n var e = !1,\n t = !1;\n i !== h.current && (h.current = i, e = !0), c.pathname !== m.current && (m.current = c.pathname, t = !0), d.current = e || t && c.pathname === i, d.current && f();\n }, [i, c]);\n var f = e.useCallback(function () {\n var e;\n \"test\" !== process.env.NODE_ENV && (p.current ? p.current = !1 : (e = l.current, d.current && e && e.focus()));\n }, []); /*#__PURE__*/\n return e.createElement(s, o({\n style: o({\n outline: \"none\"\n }, n),\n tabIndex: \"-1\",\n ref: l\n }, u), r);\n },\n ne = [\"location\", \"primary\", \"children\", \"basepath\", \"baseuri\", \"component\"],\n oe = function oe(t) {\n var r = f(),\n n = y(); /*#__PURE__*/\n return e.createElement(ae, o({}, r, n, t));\n };\nfunction ae(t) {\n var r = t.location,\n _t$primary = t.primary,\n n = _t$primary === void 0 ? !0 : _t$primary,\n s = t.children,\n i = t.basepath,\n _t$component2 = t.component,\n c = _t$component2 === void 0 ? \"div\" : _t$component2,\n u = a(t, ne),\n l = e.Children.toArray(s).reduce(function (e, t) {\n var r = _I(i)(t);\n return e.concat(r);\n }, []),\n p = r.pathname,\n h = w(l, p);\n if (h) {\n var _t5 = h.params,\n _a3 = h.uri,\n _s = h.route,\n _l2 = h.route.value,\n _p2 = _s.default ? i : _s.path.replace(/\\*$/, \"\"),\n _d = o({}, _t5, {\n uri: _a3,\n location: r\n }),\n _f4 = e.cloneElement(_l2, _d, _l2.props.children ? /*#__PURE__*/e.createElement(oe, {\n location: r,\n primary: n\n }, _l2.props.children) : void 0),\n _y3 = n ? ee : c,\n _E = n ? o({\n uri: _a3,\n location: r,\n component: c\n }, u) : u; /*#__PURE__*/\n return e.createElement(m.Provider, {\n value: {\n baseuri: _a3,\n basepath: _p2\n }\n }, /*#__PURE__*/e.createElement(_y3, _E, _f4));\n }\n return null;\n}\nvar se = function se() {\n var e = y();\n if (!e) throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n return e.location;\n },\n ie = function ie() {\n throw new Error(\"useNavigate is removed. Use import { navigate } from 'gatsby' instead\");\n },\n ce = function ce() {\n var e = f();\n if (!e) throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n var t = se(),\n r = x(e.basepath, t.pathname);\n return r ? r.params : null;\n },\n ue = function ue(e) {\n if (!e) throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n var t = f();\n if (!t) throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n var r = se(),\n n = k(e, t.baseuri),\n a = x(n, r.pathname);\n return a ? o({}, a.params, {\n uri: a.uri,\n path: e\n }) : null;\n };\nexport { m as BaseContext, A as Link, G as Location, d as LocationContext, z as LocationProvider, Q as Match, R as Redirect, oe as Router, J as ServerLocation, i as createHistory, c as createMemorySource, l as globalHistory, P as insertParams, g as isRedirect, x as match, p as navigate, w as pick, v as redirectTo, k as resolve, D as shallowCompare, C as startsWith, f as useBaseContext, se as useLocation, y as useLocationContext, ue as useMatch, ie as useNavigate, ce as useParams, T as validateRedirect };","import React from 'react';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\n/* eslint-disable import/prefer-default-export */\nfunction invariant(condition, message) {\n if (condition) return;\n var error = new Error(\"loadable: \" + message);\n error.framesToPop = 1;\n error.name = 'Invariant Violation';\n throw error;\n}\nfunction warn(message) {\n // eslint-disable-next-line no-console\n console.warn(\"loadable: \" + message);\n}\nvar Context = /*#__PURE__*/\nReact.createContext();\nvar LOADABLE_REQUIRED_CHUNKS_KEY = '__LOADABLE_REQUIRED_CHUNKS__';\nfunction getRequiredChunkKey(namespace) {\n return \"\" + namespace + LOADABLE_REQUIRED_CHUNKS_KEY;\n}\nvar sharedInternals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getRequiredChunkKey: getRequiredChunkKey,\n invariant: invariant,\n Context: Context\n});\nvar LOADABLE_SHARED = {\n initialChunks: {}\n};\nvar STATUS_PENDING = 'PENDING';\nvar STATUS_RESOLVED = 'RESOLVED';\nvar STATUS_REJECTED = 'REJECTED';\nfunction resolveConstructor(ctor) {\n if (typeof ctor === 'function') {\n return {\n requireAsync: ctor,\n resolve: function resolve() {\n return undefined;\n },\n chunkName: function chunkName() {\n return undefined;\n }\n };\n }\n return ctor;\n}\nvar withChunkExtractor = function withChunkExtractor(Component) {\n var LoadableWithChunkExtractor = function LoadableWithChunkExtractor(props) {\n return React.createElement(Context.Consumer, null, function (extractor) {\n return React.createElement(Component, Object.assign({\n __chunkExtractor: extractor\n }, props));\n });\n };\n if (Component.displayName) {\n LoadableWithChunkExtractor.displayName = Component.displayName + \"WithChunkExtractor\";\n }\n return LoadableWithChunkExtractor;\n};\nvar identity = function identity(v) {\n return v;\n};\nfunction createLoadable(_ref) {\n var _ref$defaultResolveCo = _ref.defaultResolveComponent,\n defaultResolveComponent = _ref$defaultResolveCo === void 0 ? identity : _ref$defaultResolveCo,\n _render = _ref.render,\n onLoad = _ref.onLoad;\n function loadable(loadableConstructor, options) {\n if (options === void 0) {\n options = {};\n }\n var ctor = resolveConstructor(loadableConstructor);\n var cache = {};\n /**\n * Cachekey represents the component to be loaded\n * if key changes - component has to be reloaded\n * @param props\n * @returns {null|Component}\n */\n\n function _getCacheKey(props) {\n if (options.cacheKey) {\n return options.cacheKey(props);\n }\n if (ctor.resolve) {\n return ctor.resolve(props);\n }\n return 'static';\n }\n /**\n * Resolves loaded `module` to a specific `Component\n * @param module\n * @param props\n * @param Loadable\n * @returns Component\n */\n\n function resolve(module, props, Loadable) {\n var Component = options.resolveComponent ? options.resolveComponent(module, props) : defaultResolveComponent(module); // FIXME: suppressed due to https://github.com/gregberge/loadable-components/issues/990\n // if (options.resolveComponent && !ReactIs.isValidElementType(Component)) {\n // throw new Error(\n // `resolveComponent returned something that is not a React component!`,\n // )\n // }\n\n hoistNonReactStatics(Loadable, Component, {\n preload: true\n });\n return Component;\n }\n var cachedLoad = function cachedLoad(props) {\n var cacheKey = _getCacheKey(props);\n var promise = cache[cacheKey];\n if (!promise || promise.status === STATUS_REJECTED) {\n promise = ctor.requireAsync(props);\n promise.status = STATUS_PENDING;\n cache[cacheKey] = promise;\n promise.then(function () {\n promise.status = STATUS_RESOLVED;\n }, function (error) {\n console.error('loadable-components: failed to asynchronously load component', {\n fileName: ctor.resolve(props),\n chunkName: ctor.chunkName(props),\n error: error ? error.message : error\n });\n promise.status = STATUS_REJECTED;\n });\n }\n return promise;\n };\n var InnerLoadable = /*#__PURE__*/\n function (_React$Component) {\n _inheritsLoose(InnerLoadable, _React$Component);\n InnerLoadable.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var cacheKey = _getCacheKey(props);\n return _extends({}, state, {\n cacheKey: cacheKey,\n // change of a key triggers loading state automatically\n loading: state.loading || state.cacheKey !== cacheKey\n });\n };\n function InnerLoadable(props) {\n var _this;\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n result: null,\n error: null,\n loading: true,\n cacheKey: _getCacheKey(props)\n };\n invariant(!props.__chunkExtractor || ctor.requireSync, 'SSR requires `@loadable/babel-plugin`, please install it'); // Server-side\n\n if (props.__chunkExtractor) {\n // This module has been marked with no SSR\n if (options.ssr === false) {\n return _assertThisInitialized(_this);\n } // We run load function, we assume that it won't fail and that it\n // triggers a synchronous loading of the module\n\n ctor.requireAsync(props)[\"catch\"](function () {\n return null;\n }); // So we can require now the module synchronously\n\n _this.loadSync();\n props.__chunkExtractor.addChunk(ctor.chunkName(props));\n return _assertThisInitialized(_this);\n } // Client-side with `isReady` method present (SSR probably)\n // If module is already loaded, we use a synchronous loading\n // Only perform this synchronous loading if the component has not\n // been marked with no SSR, else we risk hydration mismatches\n\n if (options.ssr !== false && (\n // is ready - was loaded in this session\n ctor.isReady && ctor.isReady(props) ||\n // is ready - was loaded during SSR process\n ctor.chunkName && LOADABLE_SHARED.initialChunks[ctor.chunkName(props)])) {\n _this.loadSync();\n }\n return _this;\n }\n var _proto = InnerLoadable.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true; // retrieve loading promise from a global cache\n\n var cachedPromise = this.getCache(); // if promise exists, but rejected - clear cache\n\n if (cachedPromise && cachedPromise.status === STATUS_REJECTED) {\n this.setCache();\n } // component might be resolved synchronously in the constructor\n\n if (this.state.loading) {\n this.loadAsync();\n }\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Component has to be reloaded on cacheKey change\n if (prevState.cacheKey !== this.state.cacheKey) {\n this.loadAsync();\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n _proto.safeSetState = function safeSetState(nextState, callback) {\n if (this.mounted) {\n this.setState(nextState, callback);\n }\n }\n /**\n * returns a cache key for the current props\n * @returns {Component|string}\n */;\n _proto.getCacheKey = function getCacheKey() {\n return _getCacheKey(this.props);\n }\n /**\n * access the persistent cache\n */;\n _proto.getCache = function getCache() {\n return cache[this.getCacheKey()];\n }\n /**\n * sets the cache value. If called without value sets it as undefined\n */;\n _proto.setCache = function setCache(value) {\n if (value === void 0) {\n value = undefined;\n }\n cache[this.getCacheKey()] = value;\n };\n _proto.triggerOnLoad = function triggerOnLoad() {\n var _this2 = this;\n if (onLoad) {\n setTimeout(function () {\n onLoad(_this2.state.result, _this2.props);\n });\n }\n }\n /**\n * Synchronously loads component\n * target module is expected to already exists in the module cache\n * or be capable to resolve synchronously (webpack target=node)\n */;\n _proto.loadSync = function loadSync() {\n // load sync is expecting component to be in the \"loading\" state already\n // sounds weird, but loading=true is the initial state of InnerLoadable\n if (!this.state.loading) return;\n try {\n var loadedModule = ctor.requireSync(this.props);\n var result = resolve(loadedModule, this.props, Loadable);\n this.state.result = result;\n this.state.loading = false;\n } catch (error) {\n console.error('loadable-components: failed to synchronously load component, which expected to be available', {\n fileName: ctor.resolve(this.props),\n chunkName: ctor.chunkName(this.props),\n error: error ? error.message : error\n });\n this.state.error = error;\n }\n }\n /**\n * Asynchronously loads a component.\n */;\n _proto.loadAsync = function loadAsync() {\n var _this3 = this;\n var promise = this.resolveAsync();\n promise.then(function (loadedModule) {\n var result = resolve(loadedModule, _this3.props, Loadable);\n _this3.safeSetState({\n result: result,\n loading: false\n }, function () {\n return _this3.triggerOnLoad();\n });\n })[\"catch\"](function (error) {\n return _this3.safeSetState({\n error: error,\n loading: false\n });\n });\n return promise;\n }\n /**\n * Asynchronously resolves(not loads) a component.\n * Note - this function does not change the state\n */;\n _proto.resolveAsync = function resolveAsync() {\n var _this$props = this.props,\n __chunkExtractor = _this$props.__chunkExtractor,\n forwardedRef = _this$props.forwardedRef,\n props = _objectWithoutPropertiesLoose(_this$props, [\"__chunkExtractor\", \"forwardedRef\"]);\n return cachedLoad(props);\n };\n _proto.render = function render() {\n var _this$props2 = this.props,\n forwardedRef = _this$props2.forwardedRef,\n propFallback = _this$props2.fallback,\n __chunkExtractor = _this$props2.__chunkExtractor,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"forwardedRef\", \"fallback\", \"__chunkExtractor\"]);\n var _this$state = this.state,\n error = _this$state.error,\n loading = _this$state.loading,\n result = _this$state.result;\n if (options.suspense) {\n var cachedPromise = this.getCache() || this.loadAsync();\n if (cachedPromise.status === STATUS_PENDING) {\n throw this.loadAsync();\n }\n }\n if (error) {\n throw error;\n }\n var fallback = propFallback || options.fallback || null;\n if (loading) {\n return fallback;\n }\n return _render({\n fallback: fallback,\n result: result,\n options: options,\n props: _extends({}, props, {\n ref: forwardedRef\n })\n });\n };\n return InnerLoadable;\n }(React.Component);\n var EnhancedInnerLoadable = withChunkExtractor(InnerLoadable);\n var Loadable = React.forwardRef(function (props, ref) {\n return React.createElement(EnhancedInnerLoadable, Object.assign({\n forwardedRef: ref\n }, props));\n });\n Loadable.displayName = 'Loadable'; // In future, preload could use ``\n\n Loadable.preload = function (props) {\n Loadable.load(props);\n };\n Loadable.load = function (props) {\n return cachedLoad(props);\n };\n return Loadable;\n }\n function lazy(ctor, options) {\n return loadable(ctor, _extends({}, options, {\n suspense: true\n }));\n }\n return {\n loadable: loadable,\n lazy: lazy\n };\n}\nfunction defaultResolveComponent(loadedModule) {\n // eslint-disable-next-line no-underscore-dangle\n return loadedModule.__esModule ? loadedModule[\"default\"] : loadedModule[\"default\"] || loadedModule;\n}\n\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\nvar _createLoadable = /*#__PURE__*/\n createLoadable({\n defaultResolveComponent: defaultResolveComponent,\n render: function render(_ref) {\n var Component = _ref.result,\n props = _ref.props;\n return React.createElement(Component, props);\n }\n }),\n loadable = _createLoadable.loadable,\n lazy = _createLoadable.lazy;\n\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\nvar _createLoadable$1 = /*#__PURE__*/\n createLoadable({\n onLoad: function onLoad(result, props) {\n if (result && props.forwardedRef) {\n if (typeof props.forwardedRef === 'function') {\n props.forwardedRef(result);\n } else {\n props.forwardedRef.current = result;\n }\n }\n },\n render: function render(_ref) {\n var result = _ref.result,\n props = _ref.props;\n if (props.children) {\n return props.children(result);\n }\n return null;\n }\n }),\n loadable$1 = _createLoadable$1.loadable,\n lazy$1 = _createLoadable$1.lazy;\n\n/* eslint-disable no-underscore-dangle, camelcase */\nvar BROWSER = typeof window !== 'undefined';\nfunction loadableReady(done, _temp) {\n if (done === void 0) {\n done = function done() {};\n }\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$namespace = _ref.namespace,\n namespace = _ref$namespace === void 0 ? '' : _ref$namespace,\n _ref$chunkLoadingGlob = _ref.chunkLoadingGlobal,\n chunkLoadingGlobal = _ref$chunkLoadingGlob === void 0 ? '__LOADABLE_LOADED_CHUNKS__' : _ref$chunkLoadingGlob;\n if (!BROWSER) {\n warn('`loadableReady()` must be called in browser only');\n done();\n return Promise.resolve();\n }\n var requiredChunks = null;\n if (BROWSER) {\n var id = getRequiredChunkKey(namespace);\n var dataElement = document.getElementById(id);\n if (dataElement) {\n requiredChunks = JSON.parse(dataElement.textContent);\n var extElement = document.getElementById(id + \"_ext\");\n if (extElement) {\n var _JSON$parse = JSON.parse(extElement.textContent),\n namedChunks = _JSON$parse.namedChunks;\n namedChunks.forEach(function (chunkName) {\n LOADABLE_SHARED.initialChunks[chunkName] = true;\n });\n } else {\n // version mismatch\n throw new Error('loadable-component: @loadable/server does not match @loadable/component');\n }\n }\n }\n if (!requiredChunks) {\n warn('`loadableReady()` requires state, please use `getScriptTags` or `getScriptElements` server-side');\n done();\n return Promise.resolve();\n }\n var resolved = false;\n return new Promise(function (resolve) {\n window[chunkLoadingGlobal] = window[chunkLoadingGlobal] || [];\n var loadedChunks = window[chunkLoadingGlobal];\n var originalPush = loadedChunks.push.bind(loadedChunks);\n function checkReadyState() {\n if (requiredChunks.every(function (chunk) {\n return loadedChunks.some(function (_ref2) {\n var chunks = _ref2[0];\n return chunks.indexOf(chunk) > -1;\n });\n })) {\n if (!resolved) {\n resolved = true;\n resolve();\n }\n }\n }\n loadedChunks.push = function () {\n originalPush.apply(void 0, arguments);\n checkReadyState();\n };\n checkReadyState();\n }).then(done);\n}\n\n/* eslint-disable no-underscore-dangle */\nvar loadable$2 = loadable;\nloadable$2.lib = loadable$1;\nvar lazy$2 = lazy;\nlazy$2.lib = lazy$1;\nvar __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = sharedInternals;\nexport default loadable$2;\nexport { __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, lazy$2 as lazy, loadableReady };","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBind = require('./');\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n var intrinsic = GetIntrinsic(name, !!allowMissing);\n if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n return callBind(intrinsic);\n }\n return intrinsic;\n};","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\nmodule.exports = function callBind(originalFunction) {\n if (typeof originalFunction !== 'function') {\n throw new $TypeError('a function is required');\n }\n var func = $reflectApply(bind, $call, arguments);\n return setFunctionLength(func, 1 + $max(0, originalFunction.length - (arguments.length - 1)), true);\n};\nvar applyBind = function applyBind() {\n return $reflectApply(bind, $apply, arguments);\n};\nif ($defineProperty) {\n $defineProperty(module.exports, 'apply', {\n value: applyBind\n });\n} else {\n module.exports.apply = applyBind;\n}","'use strict';\n\nvar _defineProperty = require(\"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/defineProperty.js\");\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nvar UPPERCASE = /(?:[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C89\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2F\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uA7BA\\uA7BC\\uA7BE\\uA7C0\\uA7C2\\uA7C4-\\uA7C7\\uA7C9\\uA7CB\\uA7CC\\uA7D0\\uA7D6\\uA7D8\\uA7DA\\uA7DC\\uA7F5\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95]|\\uD803[\\uDC80-\\uDCB2\\uDD50-\\uDD65]|\\uD806[\\uDCA0-\\uDCBF]|\\uD81B[\\uDE40-\\uDE5F]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21])/;\nvar LOWERCASE = /(?:[a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0560-\\u0588\\u10D0-\\u10FA\\u10FD-\\u10FF\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1C8A\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5F\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7AF\\uA7B5\\uA7B7\\uA7B9\\uA7BB\\uA7BD\\uA7BF\\uA7C1\\uA7C3\\uA7C8\\uA7CA\\uA7CD\\uA7D1\\uA7D3\\uA7D5\\uA7D7\\uA7D9\\uA7DB\\uA7F6\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB68\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A]|\\uD801[\\uDC28-\\uDC4F\\uDCD8-\\uDCFB\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC]|\\uD803[\\uDCC0-\\uDCF2\\uDD70-\\uDD85]|\\uD806[\\uDCC0-\\uDCDF]|\\uD81B[\\uDE60-\\uDE7F]|\\uD835[\\uDC1A-\\uDC33\\uDC4E-\\uDC54\\uDC56-\\uDC67\\uDC82-\\uDC9B\\uDCB6-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDCEA-\\uDD03\\uDD1E-\\uDD37\\uDD52-\\uDD6B\\uDD86-\\uDD9F\\uDDBA-\\uDDD3\\uDDEE-\\uDE07\\uDE22-\\uDE3B\\uDE56-\\uDE6F\\uDE8A-\\uDEA5\\uDEC2-\\uDEDA\\uDEDC-\\uDEE1\\uDEFC-\\uDF14\\uDF16-\\uDF1B\\uDF36-\\uDF4E\\uDF50-\\uDF55\\uDF70-\\uDF88\\uDF8A-\\uDF8F\\uDFAA-\\uDFC2\\uDFC4-\\uDFC9\\uDFCB]|\\uD837[\\uDF00-\\uDF09\\uDF0B-\\uDF1E\\uDF25-\\uDF2A]|\\uD83A[\\uDD22-\\uDD43])/;\nvar LEADING_CAPITAL = /^(?:[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C89\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2F\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uA7BA\\uA7BC\\uA7BE\\uA7C0\\uA7C2\\uA7C4-\\uA7C7\\uA7C9\\uA7CB\\uA7CC\\uA7D0\\uA7D6\\uA7D8\\uA7DA\\uA7DC\\uA7F5\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95]|\\uD803[\\uDC80-\\uDCB2\\uDD50-\\uDD65]|\\uD806[\\uDCA0-\\uDCBF]|\\uD81B[\\uDE40-\\uDE5F]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21])(?!(?:[A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C89\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2F\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uA7BA\\uA7BC\\uA7BE\\uA7C0\\uA7C2\\uA7C4-\\uA7C7\\uA7C9\\uA7CB\\uA7CC\\uA7D0\\uA7D6\\uA7D8\\uA7DA\\uA7DC\\uA7F5\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27\\uDCB0-\\uDCD3\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95]|\\uD803[\\uDC80-\\uDCB2\\uDD50-\\uDD65]|\\uD806[\\uDCA0-\\uDCBF]|\\uD81B[\\uDE40-\\uDE5F]|\\uD835[\\uDC00-\\uDC19\\uDC34-\\uDC4D\\uDC68-\\uDC81\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB5\\uDCD0-\\uDCE9\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD38\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD6C-\\uDD85\\uDDA0-\\uDDB9\\uDDD4-\\uDDED\\uDE08-\\uDE21\\uDE3C-\\uDE55\\uDE70-\\uDE89\\uDEA8-\\uDEC0\\uDEE2-\\uDEFA\\uDF1C-\\uDF34\\uDF56-\\uDF6E\\uDF90-\\uDFA8\\uDFCA]|\\uD83A[\\uDD00-\\uDD21]))/g;\nvar IDENTIFIER = /((?:[0-9A-Z_a-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xBC-\\xBE\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0345\\u0363-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05B0-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0610-\\u061A\\u0620-\\u0657\\u0659-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06E1-\\u06E8\\u06ED-\\u06FC\\u06FF\\u0710-\\u073F\\u074D-\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0817\\u081A-\\u082C\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u0897\\u08A0-\\u08C9\\u08D4-\\u08DF\\u08E3-\\u08E9\\u08F0-\\u093B\\u093D-\\u094C\\u094E-\\u0950\\u0955-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD-\\u09C4\\u09C7\\u09C8\\u09CB\\u09CC\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u09F4-\\u09F9\\u09FC\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B\\u0A4C\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB\\u0ACC\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9-\\u0AFC\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D-\\u0B44\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71-\\u0B77\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\\u0BE6-\\u0BF2\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4C\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C5D\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0C80-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCC\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D54-\\u0D63\\u0D66-\\u0D78\\u0D7A-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E46\\u0E4D\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F20-\\u0F33\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F83\\u0F88-\\u0F97\\u0F99-\\u0FBC\\u1000-\\u1036\\u1038\\u103B-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1713\\u171F-\\u1733\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17B3\\u17B6-\\u17C8\\u17D7\\u17DC\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u1938\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A61-\\u1A74\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1ABF\\u1AC0\\u1ACC-\\u1ACE\\u1B00-\\u1B33\\u1B35-\\u1B43\\u1B45-\\u1B4C\\u1B50-\\u1B59\\u1B80-\\u1BA9\\u1BAC-\\u1BE5\\u1BE7-\\u1BF1\\u1C00-\\u1C36\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1DD3-\\u1DF4\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2189\\u2150-\\u2182\\u2460-\\u249B\\u24B6-\\u24FF\\u2776-\\u2793\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2CFD\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3192-\\u3195\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA674-\\uA67B\\uA67F-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA805\\uA807-\\uA827\\uA830-\\uA835\\uA840-\\uA873\\uA880-\\uA8C3\\uA8C5\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8FB\\uA8FD-\\uA92A\\uA930-\\uA952\\uA960-\\uA97C\\uA980-\\uA9B2\\uA9B4-\\uA9BF\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAABE\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF5\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABEA\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD07-\\uDD33\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE1-\\uDEFB\\uDF00-\\uDF23\\uDF2D-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDDC0-\\uDDF3\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC58-\\uDC76\\uDC79-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE40-\\uDE48\\uDE60-\\uDE7E\\uDE80-\\uDE9F\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDEEB-\\uDEEF\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD27\\uDD30-\\uDD39\\uDD40-\\uDD65\\uDD69\\uDD6F-\\uDD85\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEAB\\uDEAC\\uDEB0\\uDEB1\\uDEC2-\\uDEC4\\uDEFC\\uDF00-\\uDF27\\uDF30-\\uDF45\\uDF51-\\uDF54\\uDF70-\\uDF81\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD804[\\uDC00-\\uDC45\\uDC52-\\uDC6F\\uDC71-\\uDC75\\uDC80-\\uDCB8\\uDCC2\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD32\\uDD36-\\uDD3F\\uDD44-\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD80-\\uDDBF\\uDDC1-\\uDDC4\\uDDCE-\\uDDDA\\uDDDC\\uDDE1-\\uDDF4\\uDE00-\\uDE11\\uDE13-\\uDE34\\uDE37\\uDE3E-\\uDE41\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEE8\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D-\\uDF44\\uDF47\\uDF48\\uDF4B\\uDF4C\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF80-\\uDF89\\uDF8B\\uDF8E\\uDF90-\\uDFB5\\uDFB7-\\uDFC0\\uDFC2\\uDFC5\\uDFC7-\\uDFCA\\uDFCC\\uDFCD\\uDFD1\\uDFD3]|\\uD805[\\uDC00-\\uDC41\\uDC43-\\uDC45\\uDC47-\\uDC4A\\uDC50-\\uDC59\\uDC5F-\\uDC61\\uDC80-\\uDCC1\\uDCC4\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDBE\\uDDD8-\\uDDDD\\uDE00-\\uDE3E\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB5\\uDEB8\\uDEC0-\\uDEC9\\uDED0-\\uDEE3\\uDF00-\\uDF1A\\uDF1D-\\uDF2A\\uDF30-\\uDF3B\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC38\\uDCA0-\\uDCF2\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD35\\uDD37\\uDD38\\uDD3B\\uDD3C\\uDD3F-\\uDD42\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD7\\uDDDA-\\uDDDF\\uDDE1\\uDDE3\\uDDE4\\uDE00-\\uDE32\\uDE35-\\uDE3E\\uDE50-\\uDE97\\uDE9D\\uDEB0-\\uDEF8\\uDFC0-\\uDFE0\\uDFF0-\\uDFF9]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC36\\uDC38-\\uDC3E\\uDC40\\uDC50-\\uDC6C\\uDC72-\\uDC8F\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD41\\uDD43\\uDD46\\uDD47\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD96\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF6\\uDF00-\\uDF10\\uDF12-\\uDF3A\\uDF3E-\\uDF40\\uDF50-\\uDF59\\uDFB0\\uDFC0-\\uDFD4]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD80E\\uD80F\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883\\uD885-\\uD887][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2F\\uDC41-\\uDC46\\uDC60-\\uDFFF]|\\uD810[\\uDC00-\\uDFFA]|\\uD811[\\uDC00-\\uDE46]|\\uD818[\\uDD00-\\uDD2E\\uDD30-\\uDD39]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDE70-\\uDEBE\\uDEC0-\\uDEC9\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF5B-\\uDF61\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDD40-\\uDD6C\\uDD70-\\uDD79\\uDE40-\\uDE96\\uDF00-\\uDF4A\\uDF4F-\\uDF87\\uDF8F-\\uDF9F\\uDFE0\\uDFE1\\uDFE3\\uDFF0\\uDFF1]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDCFF-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD32\\uDD50-\\uDD52\\uDD55\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9E]|\\uD833[\\uDCF0-\\uDCF9]|\\uD834[\\uDEC0-\\uDED3\\uDEE0-\\uDEF3\\uDF60-\\uDF78]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD837[\\uDF00-\\uDF1E\\uDF25-\\uDF2A]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A\\uDC30-\\uDC6D\\uDC8F\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB\\uDEF0-\\uDEF9]|\\uD839[\\uDCD0-\\uDCEB\\uDCF0-\\uDCF9\\uDDD0-\\uDDED\\uDDF0-\\uDDFA\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCCF\\uDD00-\\uDD43\\uDD47\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDC71-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDCB4\\uDD01-\\uDD2D\\uDD2F-\\uDD3D\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83C[\\uDD00-\\uDD0C\\uDD30-\\uDD49\\uDD50-\\uDD69\\uDD70-\\uDD89]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF39\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0\\uDFF0-\\uDFFF]|\\uD87B[\\uDC00-\\uDE5D]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A\\uDF50-\\uDFFF]|\\uD888[\\uDC00-\\uDFAF])|$)/;\nvar SEPARATORS = /[_.\\- ]+/;\nvar LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nvar SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nvar NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\nvar preserveCamelCase = function preserveCamelCase(string, toLowerCase, toUpperCase) {\n var isLastCharLower = false;\n var isLastCharUpper = false;\n var isLastLastCharUpper = false;\n for (var i = 0; i < string.length; i++) {\n var character = string[i];\n if (isLastCharLower && UPPERCASE.test(character)) {\n string = string.slice(0, i) + '-' + string.slice(i);\n isLastCharLower = false;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = true;\n i++;\n } else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n string = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = false;\n isLastCharLower = true;\n } else {\n isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n }\n }\n return string;\n};\nvar preserveConsecutiveUppercase = function preserveConsecutiveUppercase(input, toLowerCase) {\n LEADING_CAPITAL.lastIndex = 0;\n return input.replace(LEADING_CAPITAL, function (m1) {\n return toLowerCase(m1);\n });\n};\nvar postProcess = function postProcess(input, toUpperCase) {\n SEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n NUMBERS_AND_IDENTIFIER.lastIndex = 0;\n return input.replace(SEPARATORS_AND_IDENTIFIER, function (_, identifier) {\n return toUpperCase(identifier);\n }).replace(NUMBERS_AND_IDENTIFIER, function (m) {\n return toUpperCase(m);\n });\n};\nvar camelCase = function camelCase(input, options) {\n if (!(typeof input === 'string' || Array.isArray(input))) {\n throw new TypeError('Expected the input to be `string | string[]`');\n }\n options = _objectSpread({\n pascalCase: false,\n preserveConsecutiveUppercase: false\n }, options);\n if (Array.isArray(input)) {\n input = input.map(function (x) {\n return x.trim();\n }).filter(function (x) {\n return x.length;\n }).join('-');\n } else {\n input = input.trim();\n }\n if (input.length === 0) {\n return '';\n }\n var toLowerCase = options.locale === false ? function (string) {\n return string.toLowerCase();\n } : function (string) {\n return string.toLocaleLowerCase(options.locale);\n };\n var toUpperCase = options.locale === false ? function (string) {\n return string.toUpperCase();\n } : function (string) {\n return string.toLocaleUpperCase(options.locale);\n };\n if (input.length === 1) {\n return options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n }\n var hasUpperCase = input !== toLowerCase(input);\n if (hasUpperCase) {\n input = preserveCamelCase(input, toLowerCase, toUpperCase);\n }\n input = input.replace(LEADING_SEPARATORS, '');\n if (options.preserveConsecutiveUppercase) {\n input = preserveConsecutiveUppercase(input, toLowerCase);\n } else {\n input = toLowerCase(input);\n }\n if (options.pascalCase) {\n input = toUpperCase(input.charAt(0)) + input.slice(1);\n }\n return postProcess(input, toUpperCase);\n};\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;","'use strict';\n\nvar $defineProperty = require('es-define-property');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(obj, property, value) {\n if (!obj || typeof obj !== 'object' && typeof obj !== 'function') {\n throw new $TypeError('`obj` must be an object or a function`');\n }\n if (typeof property !== 'string' && typeof property !== 'symbol') {\n throw new $TypeError('`property` must be a string or a symbol`');\n }\n if (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n throw new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n }\n if (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n throw new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n }\n if (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n throw new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n }\n if (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n throw new $TypeError('`loose`, if provided, must be a boolean');\n }\n var nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n var nonWritable = arguments.length > 4 ? arguments[4] : null;\n var nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n var loose = arguments.length > 6 ? arguments[6] : false;\n\n /* @type {false | TypedPropertyDescriptor} */\n var desc = !!gopd && gopd(obj, property);\n if ($defineProperty) {\n $defineProperty(obj, property, {\n configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n value: value,\n writable: nonWritable === null && desc ? desc.writable : !nonWritable\n });\n } else if (loose || !nonEnumerable && !nonWritable && !nonConfigurable) {\n // must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n obj[property] = value; // eslint-disable-line no-param-reassign\n } else {\n throw new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n }\n};","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n try {\n $defineProperty({}, 'a', {\n value: 1\n });\n } catch (e) {\n // IE 8 has a broken defineProperty\n $defineProperty = false;\n }\n}\nmodule.exports = $defineProperty;","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;","'use strict';\n\n/* eslint no-invalid-this: 1 */\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\nvar concatty = function concatty(a, b) {\n var arr = [];\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n return arr;\n};\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\nvar joiny = function joiny(arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n var bound;\n var binder = function binder() {\n if (this instanceof bound) {\n var result = target.apply(this, concatty(args, arguments));\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(that, concatty(args, arguments));\n };\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n return bound;\n};","'use strict';\n\nvar implementation = require('./implementation');\nmodule.exports = Function.prototype.bind || implementation;","\"use strict\";\n\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nvar endsWithSuffixes = function endsWithSuffixes(suffixes, input) {\n var _iterator = _createForOfIteratorHelper(suffixes),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var suffix = _step.value;\n if (input.endsWith(suffix)) return true;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return false;\n};\nvar suffixes = [\".html\", \".json\", \".js\", \".map\", \".txt\", \".xml\", \".pdf\"];\nvar applyTrailingSlashOption = function applyTrailingSlashOption(input) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"always\";\n if (input === \"/\") return input;\n var hasTrailingSlash = input.endsWith(\"/\");\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === \"always\") {\n return hasTrailingSlash ? input : \"\".concat(input, \"/\");\n }\n if (option === \"never\") {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nvar onInitialClientRender = function onInitialClientRender() {\n if (process.env.NODE_ENV !== \"development\") {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\n// Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\nexports.onInitialClientRender = onInitialClientRender;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.flat-map.js\");\nrequire(\"core-js/modules/es.array.unscopables.flat-map.js\");\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(function (script) {\n return (script === null || script === void 0 ? void 0 : script.forward) || [];\n });\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n var existingSnippet = document.querySelector(\"script[data-partytown]\");\n var existingSandbox = document.querySelector(\"iframe[src*=\\\"~partytown/partytown-sandbox-sw\\\"]\");\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n var forwards = (0, _getForwards.getForwards)(collectedScripts);\n var snippet = document.createElement(\"script\");\n snippet.dataset.partytown = \"\";\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}","'use strict';\n\nrequire(\"core-js/modules/es.typed-array.set.js\");\nrequire(\"core-js/modules/es.typed-array.sort.js\");\nrequire(\"core-js/modules/esnext.aggregate-error.js\");\nvar undefined;\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function getEvalledConstructor(expressionSyntax) {\n try {\n return $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n } catch (e) {}\n};\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n try {\n $gOPD({}, '');\n } catch (e) {\n $gOPD = null; // this is IE 8, which has a broken gOPD\n }\n}\nvar throwTypeError = function throwTypeError() {\n throw new $TypeError();\n};\nvar ThrowTypeError = $gOPD ? function () {\n try {\n // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n arguments.callee; // IE 8 does not throw here\n return throwTypeError;\n } catch (calleeThrows) {\n try {\n // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n return $gOPD(arguments, 'callee').get;\n } catch (gOPDthrows) {\n return throwTypeError;\n }\n }\n}() : throwTypeError;\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\nvar getProto = Object.getPrototypeOf || (hasProto ? function (x) {\n return x.__proto__;\n} // eslint-disable-line no-proto\n: null);\nvar needsEval = {};\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\nvar INTRINSICS = {\n __proto__: null,\n '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n '%Array%': Array,\n '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n '%AsyncFromSyncIteratorPrototype%': undefined,\n '%AsyncFunction%': needsEval,\n '%AsyncGenerator%': needsEval,\n '%AsyncGeneratorFunction%': needsEval,\n '%AsyncIteratorPrototype%': needsEval,\n '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n '%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n '%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n '%Boolean%': Boolean,\n '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n '%Date%': Date,\n '%decodeURI%': decodeURI,\n '%decodeURIComponent%': decodeURIComponent,\n '%encodeURI%': encodeURI,\n '%encodeURIComponent%': encodeURIComponent,\n '%Error%': $Error,\n '%eval%': eval,\n // eslint-disable-line no-eval\n '%EvalError%': $EvalError,\n '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n '%Function%': $Function,\n '%GeneratorFunction%': needsEval,\n '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n '%isFinite%': isFinite,\n '%isNaN%': isNaN,\n '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n '%JSON%': typeof JSON === 'object' ? JSON : undefined,\n '%Map%': typeof Map === 'undefined' ? undefined : Map,\n '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n '%Math%': Math,\n '%Number%': Number,\n '%Object%': Object,\n '%parseFloat%': parseFloat,\n '%parseInt%': parseInt,\n '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n '%RangeError%': $RangeError,\n '%ReferenceError%': $ReferenceError,\n '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n '%RegExp%': RegExp,\n '%Set%': typeof Set === 'undefined' ? undefined : Set,\n '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n '%String%': String,\n '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n '%Symbol%': hasSymbols ? Symbol : undefined,\n '%SyntaxError%': $SyntaxError,\n '%ThrowTypeError%': ThrowTypeError,\n '%TypedArray%': TypedArray,\n '%TypeError%': $TypeError,\n '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n '%URIError%': $URIError,\n '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\nif (getProto) {\n try {\n null.error; // eslint-disable-line no-unused-expressions\n } catch (e) {\n // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n var errorProto = getProto(getProto(e));\n INTRINSICS['%Error.prototype%'] = errorProto;\n }\n}\nvar doEval = function doEval(name) {\n var value;\n if (name === '%AsyncFunction%') {\n value = getEvalledConstructor('async function () {}');\n } else if (name === '%GeneratorFunction%') {\n value = getEvalledConstructor('function* () {}');\n } else if (name === '%AsyncGeneratorFunction%') {\n value = getEvalledConstructor('async function* () {}');\n } else if (name === '%AsyncGenerator%') {\n var fn = doEval('%AsyncGeneratorFunction%');\n if (fn) {\n value = fn.prototype;\n }\n } else if (name === '%AsyncIteratorPrototype%') {\n var gen = doEval('%AsyncGenerator%');\n if (gen && getProto) {\n value = getProto(gen.prototype);\n }\n }\n INTRINSICS[name] = value;\n return value;\n};\nvar LEGACY_ALIASES = {\n __proto__: null,\n '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n '%ArrayPrototype%': ['Array', 'prototype'],\n '%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n '%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n '%ArrayProto_values%': ['Array', 'prototype', 'values'],\n '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n '%BooleanPrototype%': ['Boolean', 'prototype'],\n '%DataViewPrototype%': ['DataView', 'prototype'],\n '%DatePrototype%': ['Date', 'prototype'],\n '%ErrorPrototype%': ['Error', 'prototype'],\n '%EvalErrorPrototype%': ['EvalError', 'prototype'],\n '%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n '%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n '%FunctionPrototype%': ['Function', 'prototype'],\n '%Generator%': ['GeneratorFunction', 'prototype'],\n '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n '%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n '%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n '%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n '%JSONParse%': ['JSON', 'parse'],\n '%JSONStringify%': ['JSON', 'stringify'],\n '%MapPrototype%': ['Map', 'prototype'],\n '%NumberPrototype%': ['Number', 'prototype'],\n '%ObjectPrototype%': ['Object', 'prototype'],\n '%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n '%PromisePrototype%': ['Promise', 'prototype'],\n '%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n '%Promise_all%': ['Promise', 'all'],\n '%Promise_reject%': ['Promise', 'reject'],\n '%Promise_resolve%': ['Promise', 'resolve'],\n '%RangeErrorPrototype%': ['RangeError', 'prototype'],\n '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n '%RegExpPrototype%': ['RegExp', 'prototype'],\n '%SetPrototype%': ['Set', 'prototype'],\n '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n '%StringPrototype%': ['String', 'prototype'],\n '%SymbolPrototype%': ['Symbol', 'prototype'],\n '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n '%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n '%TypeErrorPrototype%': ['TypeError', 'prototype'],\n '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n '%URIErrorPrototype%': ['URIError', 'prototype'],\n '%WeakMapPrototype%': ['WeakMap', 'prototype'],\n '%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n var first = $strSlice(string, 0, 1);\n var last = $strSlice(string, -1);\n if (first === '%' && last !== '%') {\n throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n } else if (last === '%' && first !== '%') {\n throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n }\n var result = [];\n $replace(string, rePropName, function (match, number, quote, subString) {\n result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n });\n return result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n var intrinsicName = name;\n var alias;\n if (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n alias = LEGACY_ALIASES[intrinsicName];\n intrinsicName = '%' + alias[0] + '%';\n }\n if (hasOwn(INTRINSICS, intrinsicName)) {\n var value = INTRINSICS[intrinsicName];\n if (value === needsEval) {\n value = doEval(intrinsicName);\n }\n if (typeof value === 'undefined' && !allowMissing) {\n throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n }\n return {\n alias: alias,\n name: intrinsicName,\n value: value\n };\n }\n throw new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n if (typeof name !== 'string' || name.length === 0) {\n throw new $TypeError('intrinsic name must be a non-empty string');\n }\n if (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n throw new $TypeError('\"allowMissing\" argument must be a boolean');\n }\n if ($exec(/^%?[^%]*%?$/, name) === null) {\n throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n }\n var parts = stringToPath(name);\n var intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n var intrinsicRealName = intrinsic.name;\n var value = intrinsic.value;\n var skipFurtherCaching = false;\n var alias = intrinsic.alias;\n if (alias) {\n intrinsicBaseName = alias[0];\n $spliceApply(parts, $concat([0, 1], alias));\n }\n for (var i = 1, isOwn = true; i < parts.length; i += 1) {\n var part = parts[i];\n var first = $strSlice(part, 0, 1);\n var last = $strSlice(part, -1);\n if ((first === '\"' || first === \"'\" || first === '`' || last === '\"' || last === \"'\" || last === '`') && first !== last) {\n throw new $SyntaxError('property names with quotes must have matching quotes');\n }\n if (part === 'constructor' || !isOwn) {\n skipFurtherCaching = true;\n }\n intrinsicBaseName += '.' + part;\n intrinsicRealName = '%' + intrinsicBaseName + '%';\n if (hasOwn(INTRINSICS, intrinsicRealName)) {\n value = INTRINSICS[intrinsicRealName];\n } else if (value != null) {\n if (!(part in value)) {\n if (!allowMissing) {\n throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n }\n return void undefined;\n }\n if ($gOPD && i + 1 >= parts.length) {\n var desc = $gOPD(value, part);\n isOwn = !!desc;\n\n // By convention, when a data property is converted to an accessor\n // property to emulate a data property that does not suffer from\n // the override mistake, that accessor's getter is marked with\n // an `originalValue` property. Here, when we detect this, we\n // uphold the illusion by pretending to see that original data\n // property, i.e., returning the value rather than the getter\n // itself.\n if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n value = desc.get;\n } else {\n value = value[part];\n }\n } else {\n isOwn = hasOwn(value, part);\n value = value[part];\n }\n if (isOwn && !skipFurtherCaching) {\n INTRINSICS[intrinsicRealName] = value;\n }\n }\n }\n return value;\n};","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nif ($gOPD) {\n try {\n $gOPD([], 'length');\n } catch (e) {\n // IE 8 has a broken gOPD\n $gOPD = null;\n }\n}\nmodule.exports = $gOPD;","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = global || self, factory(global.window = global.window || {}));\n})(this, function (exports) {\n 'use strict';\n\n /*!\n * ScrollToPlugin 3.12.5\n * https://gsap.com\n *\n * @license Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n */\n var gsap,\n _coreInitted,\n _window,\n _docEl,\n _body,\n _toArray,\n _config,\n ScrollTrigger,\n _windowExists = function _windowExists() {\n return typeof window !== \"undefined\";\n },\n _getGSAP = function _getGSAP() {\n return gsap || _windowExists() && (gsap = window.gsap) && gsap.registerPlugin && gsap;\n },\n _isString = function _isString(value) {\n return typeof value === \"string\";\n },\n _isFunction = function _isFunction(value) {\n return typeof value === \"function\";\n },\n _max = function _max(element, axis) {\n var dim = axis === \"x\" ? \"Width\" : \"Height\",\n scroll = \"scroll\" + dim,\n client = \"client\" + dim;\n return element === _window || element === _docEl || element === _body ? Math.max(_docEl[scroll], _body[scroll]) - (_window[\"inner\" + dim] || _docEl[client] || _body[client]) : element[scroll] - element[\"offset\" + dim];\n },\n _buildGetter = function _buildGetter(e, axis) {\n var p = \"scroll\" + (axis === \"x\" ? \"Left\" : \"Top\");\n if (e === _window) {\n if (e.pageXOffset != null) {\n p = \"page\" + axis.toUpperCase() + \"Offset\";\n } else {\n e = _docEl[p] != null ? _docEl : _body;\n }\n }\n return function () {\n return e[p];\n };\n },\n _clean = function _clean(value, index, target, targets) {\n _isFunction(value) && (value = value(index, target, targets));\n if (typeof value !== \"object\") {\n return _isString(value) && value !== \"max\" && value.charAt(1) !== \"=\" ? {\n x: value,\n y: value\n } : {\n y: value\n };\n } else if (value.nodeType) {\n return {\n y: value,\n x: value\n };\n } else {\n var result = {},\n p;\n for (p in value) {\n result[p] = p !== \"onAutoKill\" && _isFunction(value[p]) ? value[p](index, target, targets) : value[p];\n }\n return result;\n }\n },\n _getOffset = function _getOffset(element, container) {\n element = _toArray(element)[0];\n if (!element || !element.getBoundingClientRect) {\n return console.warn(\"scrollTo target doesn't exist. Using 0\") || {\n x: 0,\n y: 0\n };\n }\n var rect = element.getBoundingClientRect(),\n isRoot = !container || container === _window || container === _body,\n cRect = isRoot ? {\n top: _docEl.clientTop - (_window.pageYOffset || _docEl.scrollTop || _body.scrollTop || 0),\n left: _docEl.clientLeft - (_window.pageXOffset || _docEl.scrollLeft || _body.scrollLeft || 0)\n } : container.getBoundingClientRect(),\n offsets = {\n x: rect.left - cRect.left,\n y: rect.top - cRect.top\n };\n if (!isRoot && container) {\n offsets.x += _buildGetter(container, \"x\")();\n offsets.y += _buildGetter(container, \"y\")();\n }\n return offsets;\n },\n _parseVal = function _parseVal(value, target, axis, currentVal, offset) {\n return !isNaN(value) && typeof value !== \"object\" ? parseFloat(value) - offset : _isString(value) && value.charAt(1) === \"=\" ? parseFloat(value.substr(2)) * (value.charAt(0) === \"-\" ? -1 : 1) + currentVal - offset : value === \"max\" ? _max(target, axis) - offset : Math.min(_max(target, axis), _getOffset(value, target)[axis] - offset);\n },\n _initCore = function _initCore() {\n gsap = _getGSAP();\n if (_windowExists() && gsap && typeof document !== \"undefined\" && document.body) {\n _window = window;\n _body = document.body;\n _docEl = document.documentElement;\n _toArray = gsap.utils.toArray;\n gsap.config({\n autoKillThreshold: 7\n });\n _config = gsap.config();\n _coreInitted = 1;\n }\n };\n var ScrollToPlugin = {\n version: \"3.12.5\",\n name: \"scrollTo\",\n rawVars: 1,\n register: function register(core) {\n gsap = core;\n _initCore();\n },\n init: function init(target, value, tween, index, targets) {\n _coreInitted || _initCore();\n var data = this,\n snapType = gsap.getProperty(target, \"scrollSnapType\");\n data.isWin = target === _window;\n data.target = target;\n data.tween = tween;\n value = _clean(value, index, target, targets);\n data.vars = value;\n data.autoKill = !!value.autoKill;\n data.getX = _buildGetter(target, \"x\");\n data.getY = _buildGetter(target, \"y\");\n data.x = data.xPrev = data.getX();\n data.y = data.yPrev = data.getY();\n ScrollTrigger || (ScrollTrigger = gsap.core.globals().ScrollTrigger);\n gsap.getProperty(target, \"scrollBehavior\") === \"smooth\" && gsap.set(target, {\n scrollBehavior: \"auto\"\n });\n if (snapType && snapType !== \"none\") {\n data.snap = 1;\n data.snapInline = target.style.scrollSnapType;\n target.style.scrollSnapType = \"none\";\n }\n if (value.x != null) {\n data.add(data, \"x\", data.x, _parseVal(value.x, target, \"x\", data.x, value.offsetX || 0), index, targets);\n data._props.push(\"scrollTo_x\");\n } else {\n data.skipX = 1;\n }\n if (value.y != null) {\n data.add(data, \"y\", data.y, _parseVal(value.y, target, \"y\", data.y, value.offsetY || 0), index, targets);\n data._props.push(\"scrollTo_y\");\n } else {\n data.skipY = 1;\n }\n },\n render: function render(ratio, data) {\n var pt = data._pt,\n target = data.target,\n tween = data.tween,\n autoKill = data.autoKill,\n xPrev = data.xPrev,\n yPrev = data.yPrev,\n isWin = data.isWin,\n snap = data.snap,\n snapInline = data.snapInline,\n x,\n y,\n yDif,\n xDif,\n threshold;\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n x = isWin || !data.skipX ? data.getX() : xPrev;\n y = isWin || !data.skipY ? data.getY() : yPrev;\n yDif = y - yPrev;\n xDif = x - xPrev;\n threshold = _config.autoKillThreshold;\n if (data.x < 0) {\n data.x = 0;\n }\n if (data.y < 0) {\n data.y = 0;\n }\n if (autoKill) {\n if (!data.skipX && (xDif > threshold || xDif < -threshold) && x < _max(target, \"x\")) {\n data.skipX = 1;\n }\n if (!data.skipY && (yDif > threshold || yDif < -threshold) && y < _max(target, \"y\")) {\n data.skipY = 1;\n }\n if (data.skipX && data.skipY) {\n tween.kill();\n data.vars.onAutoKill && data.vars.onAutoKill.apply(tween, data.vars.onAutoKillParams || []);\n }\n }\n if (isWin) {\n _window.scrollTo(!data.skipX ? data.x : x, !data.skipY ? data.y : y);\n } else {\n data.skipY || (target.scrollTop = data.y);\n data.skipX || (target.scrollLeft = data.x);\n }\n if (snap && (ratio === 1 || ratio === 0)) {\n y = target.scrollTop;\n x = target.scrollLeft;\n snapInline ? target.style.scrollSnapType = snapInline : target.style.removeProperty(\"scroll-snap-type\");\n target.scrollTop = y + 1;\n target.scrollLeft = x + 1;\n target.scrollTop = y;\n target.scrollLeft = x;\n }\n data.xPrev = data.x;\n data.yPrev = data.y;\n ScrollTrigger && ScrollTrigger.update();\n },\n kill: function kill(property) {\n var both = property === \"scrollTo\",\n i = this._props.indexOf(property);\n if (both || property === \"scrollTo_x\") {\n this.skipX = 1;\n }\n if (both || property === \"scrollTo_y\") {\n this.skipY = 1;\n }\n i > -1 && this._props.splice(i, 1);\n return !this._props.length;\n }\n };\n ScrollToPlugin.max = _max;\n ScrollToPlugin.getOffset = _getOffset;\n ScrollToPlugin.buildGetter = _buildGetter;\n _getGSAP() && gsap.registerPlugin(ScrollToPlugin);\n exports.ScrollToPlugin = ScrollToPlugin;\n exports.default = ScrollToPlugin;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n});","require(\"core-js/modules/es.array.sort.js\");\n/*!\n * GSAP 3.12.5\n * https://gsap.com\n * \n * @license Copyright 2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n */\n\n!function (t, e) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? e(exports) : \"function\" == typeof define && define.amd ? define([\"exports\"], e) : e((t = t || self).window = t.window || {});\n}(this, function (e) {\n \"use strict\";\n\n function _inheritsLoose(t, e) {\n t.prototype = Object.create(e.prototype), (t.prototype.constructor = t).__proto__ = e;\n }\n function _assertThisInitialized(t) {\n if (void 0 === t) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return t;\n }\n function r(t) {\n return \"string\" == typeof t;\n }\n function s(t) {\n return \"function\" == typeof t;\n }\n function t(t) {\n return \"number\" == typeof t;\n }\n function u(t) {\n return void 0 === t;\n }\n function v(t) {\n return \"object\" == typeof t;\n }\n function w(t) {\n return !1 !== t;\n }\n function x() {\n return \"undefined\" != typeof window;\n }\n function y(t) {\n return s(t) || r(t);\n }\n function P(t) {\n return (i = yt(t, ot)) && ze;\n }\n function Q(t, e) {\n return console.warn(\"Invalid property\", t, \"set to\", e, \"Missing plugin? gsap.registerPlugin()\");\n }\n function R(t, e) {\n return !e && console.warn(t);\n }\n function S(t, e) {\n return t && (ot[t] = e) && i && (i[t] = e) || ot;\n }\n function T() {\n return 0;\n }\n function ea(t) {\n var e,\n r,\n i = t[0];\n if (v(i) || s(i) || (t = [t]), !(e = (i._gsap || {}).harness)) {\n for (r = gt.length; r-- && !gt[r].targetTest(i););\n e = gt[r];\n }\n for (r = t.length; r--;) t[r] && (t[r]._gsap || (t[r]._gsap = new Vt(t[r], e))) || t.splice(r, 1);\n return t;\n }\n function fa(t) {\n return t._gsap || ea(Mt(t))[0]._gsap;\n }\n function ga(t, e, r) {\n return (r = t[e]) && s(r) ? t[e]() : u(r) && t.getAttribute && t.getAttribute(e) || r;\n }\n function ha(t, e) {\n return (t = t.split(\",\")).forEach(e) || t;\n }\n function ia(t) {\n return Math.round(1e5 * t) / 1e5 || 0;\n }\n function ja(t) {\n return Math.round(1e7 * t) / 1e7 || 0;\n }\n function ka(t, e) {\n var r = e.charAt(0),\n i = parseFloat(e.substr(2));\n return t = parseFloat(t), \"+\" === r ? t + i : \"-\" === r ? t - i : \"*\" === r ? t * i : t / i;\n }\n function la(t, e) {\n for (var r = e.length, i = 0; t.indexOf(e[i]) < 0 && ++i < r;);\n return i < r;\n }\n function ma() {\n var t,\n e,\n r = dt.length,\n i = dt.slice(0);\n for (ct = {}, t = dt.length = 0; t < r; t++) (e = i[t]) && e._lazy && (e.render(e._lazy[0], e._lazy[1], !0)._lazy = 0);\n }\n function na(t, e, r, i) {\n dt.length && !L && ma(), t.render(e, r, i || L && e < 0 && (t._initted || t._startAt)), dt.length && !L && ma();\n }\n function oa(t) {\n var e = parseFloat(t);\n return (e || 0 === e) && (t + \"\").match(at).length < 2 ? e : r(t) ? t.trim() : t;\n }\n function pa(t) {\n return t;\n }\n function qa(t, e) {\n for (var r in e) r in t || (t[r] = e[r]);\n return t;\n }\n function ta(t, e) {\n for (var r in e) \"__proto__\" !== r && \"constructor\" !== r && \"prototype\" !== r && (t[r] = v(e[r]) ? ta(t[r] || (t[r] = {}), e[r]) : e[r]);\n return t;\n }\n function ua(t, e) {\n var r,\n i = {};\n for (r in t) r in e || (i[r] = t[r]);\n return i;\n }\n function va(t) {\n var e = t.parent || I,\n r = t.keyframes ? function _setKeyframeDefaults(i) {\n return function (t, e) {\n for (var r in e) r in t || \"duration\" === r && i || \"ease\" === r || (t[r] = e[r]);\n };\n }(Z(t.keyframes)) : qa;\n if (w(t.inherit)) for (; e;) r(t, e.vars.defaults), e = e.parent || e._dp;\n return t;\n }\n function xa(t, e, r, i, n) {\n void 0 === r && (r = \"_first\"), void 0 === i && (i = \"_last\");\n var a,\n s = t[i];\n if (n) for (a = e[n]; s && s[n] > a;) s = s._prev;\n return s ? (e._next = s._next, s._next = e) : (e._next = t[r], t[r] = e), e._next ? e._next._prev = e : t[i] = e, e._prev = s, e.parent = e._dp = t, e;\n }\n function ya(t, e, r, i) {\n void 0 === r && (r = \"_first\"), void 0 === i && (i = \"_last\");\n var n = e._prev,\n a = e._next;\n n ? n._next = a : t[r] === e && (t[r] = a), a ? a._prev = n : t[i] === e && (t[i] = n), e._next = e._prev = e.parent = null;\n }\n function za(t, e) {\n t.parent && (!e || t.parent.autoRemoveChildren) && t.parent.remove && t.parent.remove(t), t._act = 0;\n }\n function Aa(t, e) {\n if (t && (!e || e._end > t._dur || e._start < 0)) for (var r = t; r;) r._dirty = 1, r = r.parent;\n return t;\n }\n function Ca(t, e, r, i) {\n return t._startAt && (L ? t._startAt.revert(ht) : t.vars.immediateRender && !t.vars.autoRevert || t._startAt.render(e, !0, i));\n }\n function Ea(t) {\n return t._repeat ? Tt(t._tTime, t = t.duration() + t._rDelay) * t : 0;\n }\n function Ga(t, e) {\n return (t - e._start) * e._ts + (0 <= e._ts ? 0 : e._dirty ? e.totalDuration() : e._tDur);\n }\n function Ha(t) {\n return t._end = ja(t._start + (t._tDur / Math.abs(t._ts || t._rts || X) || 0));\n }\n function Ia(t, e) {\n var r = t._dp;\n return r && r.smoothChildTiming && t._ts && (t._start = ja(r._time - (0 < t._ts ? e / t._ts : ((t._dirty ? t.totalDuration() : t._tDur) - e) / -t._ts)), Ha(t), r._dirty || Aa(r, t)), t;\n }\n function Ja(t, e) {\n var r;\n if ((e._time || !e._dur && e._initted || e._start < t._time && (e._dur || !e.add)) && (r = Ga(t.rawTime(), e), (!e._dur || Ot(0, e.totalDuration(), r) - e._tTime > X) && e.render(r, !0)), Aa(t, e)._dp && t._initted && t._time >= t._dur && t._ts) {\n if (t._dur < t.duration()) for (r = t; r._dp;) 0 <= r.rawTime() && r.totalTime(r._tTime), r = r._dp;\n t._zTime = -X;\n }\n }\n function Ka(e, r, i, n) {\n return r.parent && za(r), r._start = ja((t(i) ? i : i || e !== I ? xt(e, i, r) : e._time) + r._delay), r._end = ja(r._start + (r.totalDuration() / Math.abs(r.timeScale()) || 0)), xa(e, r, \"_first\", \"_last\", e._sort ? \"_start\" : 0), bt(r) || (e._recent = r), n || Ja(e, r), e._ts < 0 && Ia(e, e._tTime), e;\n }\n function La(t, e) {\n return (ot.ScrollTrigger || Q(\"scrollTrigger\", e)) && ot.ScrollTrigger.create(e, t);\n }\n function Ma(t, e, r, i, n) {\n return Qt(t, e, n), t._initted ? !r && t._pt && !L && (t._dur && !1 !== t.vars.lazy || !t._dur && t.vars.lazy) && f !== Rt.frame ? (dt.push(t), t._lazy = [n, i], 1) : void 0 : 1;\n }\n function Ra(t, e, r, i) {\n var n = t._repeat,\n a = ja(e) || 0,\n s = t._tTime / t._tDur;\n return s && !i && (t._time *= a / t._dur), t._dur = a, t._tDur = n ? n < 0 ? 1e10 : ja(a * (n + 1) + t._rDelay * n) : a, 0 < s && !i && Ia(t, t._tTime = t._tDur * s), t.parent && Ha(t), r || Aa(t.parent, t), t;\n }\n function Sa(t) {\n return t instanceof Xt ? Aa(t) : Ra(t, t._dur);\n }\n function Va(e, r, i) {\n var n,\n a,\n s = t(r[1]),\n o = (s ? 2 : 1) + (e < 2 ? 0 : 1),\n u = r[o];\n if (s && (u.duration = r[1]), u.parent = i, e) {\n for (n = u, a = i; a && !(\"immediateRender\" in n);) n = a.vars.defaults || {}, a = w(a.vars.inherit) && a.parent;\n u.immediateRender = w(n.immediateRender), e < 2 ? u.runBackwards = 1 : u.startAt = r[o - 1];\n }\n return new $t(r[0], u, r[1 + o]);\n }\n function Wa(t, e) {\n return t || 0 === t ? e(t) : e;\n }\n function Ya(t, e) {\n return r(t) && (e = st.exec(t)) ? e[1] : \"\";\n }\n function _a(t, e) {\n return t && v(t) && \"length\" in t && (!e && !t.length || t.length - 1 in t && v(t[0])) && !t.nodeType && t !== h;\n }\n function cb(r) {\n return r = Mt(r)[0] || R(\"Invalid scope\") || {}, function (t) {\n var e = r.current || r.nativeElement || r;\n return Mt(t, e.querySelectorAll ? e : e === r ? R(\"Invalid scope\") || a.createElement(\"div\") : r);\n };\n }\n function db(t) {\n return t.sort(function () {\n return .5 - Math.random();\n });\n }\n function eb(t) {\n if (s(t)) return t;\n var p = v(t) ? t : {\n each: t\n },\n _ = jt(p.ease),\n m = p.from || 0,\n g = parseFloat(p.base) || 0,\n y = {},\n e = 0 < m && m < 1,\n T = isNaN(m) || e,\n b = p.axis,\n w = m,\n x = m;\n return r(m) ? w = x = {\n center: .5,\n edges: .5,\n end: 1\n }[m] || 0 : !e && T && (w = m[0], x = m[1]), function (t, e, r) {\n var i,\n n,\n a,\n s,\n o,\n u,\n h,\n l,\n f,\n d = (r || p).length,\n c = y[d];\n if (!c) {\n if (!(f = \"auto\" === p.grid ? 0 : (p.grid || [1, U])[1])) {\n for (h = -U; h < (h = r[f++].getBoundingClientRect().left) && f < d;);\n f < d && f--;\n }\n for (c = y[d] = [], i = T ? Math.min(f, d) * w - .5 : m % f, n = f === U ? 0 : T ? d * x / f - .5 : m / f | 0, l = U, u = h = 0; u < d; u++) a = u % f - i, s = n - (u / f | 0), c[u] = o = b ? Math.abs(\"y\" === b ? s : a) : K(a * a + s * s), h < o && (h = o), o < l && (l = o);\n \"random\" === m && db(c), c.max = h - l, c.min = l, c.v = d = (parseFloat(p.amount) || parseFloat(p.each) * (d < f ? d - 1 : b ? \"y\" === b ? d / f : f : Math.max(f, d / f)) || 0) * (\"edges\" === m ? -1 : 1), c.b = d < 0 ? g - d : g, c.u = Ya(p.amount || p.each) || 0, _ = _ && d < 0 ? Yt(_) : _;\n }\n return d = (c[t] - c.min) / c.max || 0, ja(c.b + (_ ? _(d) : d) * c.v) + c.u;\n };\n }\n function fb(i) {\n var n = Math.pow(10, ((i + \"\").split(\".\")[1] || \"\").length);\n return function (e) {\n var r = ja(Math.round(parseFloat(e) / i) * i * n);\n return (r - r % 1) / n + (t(e) ? 0 : Ya(e));\n };\n }\n function gb(h, e) {\n var l,\n f,\n r = Z(h);\n return !r && v(h) && (l = r = h.radius || U, h.values ? (h = Mt(h.values), (f = !t(h[0])) && (l *= l)) : h = fb(h.increment)), Wa(e, r ? s(h) ? function (t) {\n return f = h(t), Math.abs(f - t) <= l ? f : t;\n } : function (e) {\n for (var r, i, n = parseFloat(f ? e.x : e), a = parseFloat(f ? e.y : 0), s = U, o = 0, u = h.length; u--;) (r = f ? (r = h[u].x - n) * r + (i = h[u].y - a) * i : Math.abs(h[u] - n)) < s && (s = r, o = u);\n return o = !l || s <= l ? h[o] : e, f || o === e || t(e) ? o : o + Ya(e);\n } : fb(h));\n }\n function hb(t, e, r, i) {\n return Wa(Z(t) ? !e : !0 === r ? !!(r = 0) : !i, function () {\n return Z(t) ? t[~~(Math.random() * t.length)] : (r = r || 1e-5) && (i = r < 1 ? Math.pow(10, (r + \"\").length - 2) : 1) && Math.floor(Math.round((t - r / 2 + Math.random() * (e - t + .99 * r)) / r) * r * i) / i;\n });\n }\n function lb(e, r, t) {\n return Wa(t, function (t) {\n return e[~~r(t)];\n });\n }\n function ob(t) {\n for (var e, r, i, n, a = 0, s = \"\"; ~(e = t.indexOf(\"random(\", a));) i = t.indexOf(\")\", e), n = \"[\" === t.charAt(e + 7), r = t.substr(e + 7, i - e - 7).match(n ? at : tt), s += t.substr(a, e - a) + hb(n ? r : +r[0], n ? 0 : +r[1], +r[2] || 1e-5), a = i + 1;\n return s + t.substr(a, t.length - a);\n }\n function rb(t, e, r) {\n var i,\n n,\n a,\n s = t.labels,\n o = U;\n for (i in s) (n = s[i] - e) < 0 == !!r && n && o > (n = Math.abs(n)) && (a = i, o = n);\n return a;\n }\n function tb(t) {\n return za(t), t.scrollTrigger && t.scrollTrigger.kill(!!L), t.progress() < 1 && Ct(t, \"onInterrupt\"), t;\n }\n function wb(t) {\n if (t) if (t = !t.name && t.default || t, x() || t.headless) {\n var e = t.name,\n r = s(t),\n i = e && !r && t.init ? function () {\n this._props = [];\n } : t,\n n = {\n init: T,\n render: he,\n add: Wt,\n kill: ce,\n modifier: fe,\n rawVars: 0\n },\n a = {\n targetTest: 0,\n get: 0,\n getSetter: ne,\n aliases: {},\n register: 0\n };\n if (Ft(), t !== i) {\n if (pt[e]) return;\n qa(i, qa(ua(t, n), a)), yt(i.prototype, yt(n, ua(t, a))), pt[i.prop = e] = i, t.targetTest && (gt.push(i), ft[e] = 1), e = (\"css\" === e ? \"CSS\" : e.charAt(0).toUpperCase() + e.substr(1)) + \"Plugin\";\n }\n S(e, i), t.register && t.register(ze, i, _e);\n } else At.push(t);\n }\n function zb(t, e, r) {\n return (6 * (t += t < 0 ? 1 : 1 < t ? -1 : 0) < 1 ? e + (r - e) * t * 6 : t < .5 ? r : 3 * t < 2 ? e + (r - e) * (2 / 3 - t) * 6 : e) * St + .5 | 0;\n }\n function Ab(e, r, i) {\n var n,\n a,\n s,\n o,\n u,\n h,\n l,\n f,\n d,\n c,\n p = e ? t(e) ? [e >> 16, e >> 8 & St, e & St] : 0 : zt.black;\n if (!p) {\n if (\",\" === e.substr(-1) && (e = e.substr(0, e.length - 1)), zt[e]) p = zt[e];else if (\"#\" === e.charAt(0)) {\n if (e.length < 6 && (e = \"#\" + (n = e.charAt(1)) + n + (a = e.charAt(2)) + a + (s = e.charAt(3)) + s + (5 === e.length ? e.charAt(4) + e.charAt(4) : \"\")), 9 === e.length) return [(p = parseInt(e.substr(1, 6), 16)) >> 16, p >> 8 & St, p & St, parseInt(e.substr(7), 16) / 255];\n p = [(e = parseInt(e.substr(1), 16)) >> 16, e >> 8 & St, e & St];\n } else if (\"hsl\" === e.substr(0, 3)) {\n if (p = c = e.match(tt), r) {\n if (~e.indexOf(\"=\")) return p = e.match(et), i && p.length < 4 && (p[3] = 1), p;\n } else o = +p[0] % 360 / 360, u = p[1] / 100, n = 2 * (h = p[2] / 100) - (a = h <= .5 ? h * (u + 1) : h + u - h * u), 3 < p.length && (p[3] *= 1), p[0] = zb(o + 1 / 3, n, a), p[1] = zb(o, n, a), p[2] = zb(o - 1 / 3, n, a);\n } else p = e.match(tt) || zt.transparent;\n p = p.map(Number);\n }\n return r && !c && (n = p[0] / St, a = p[1] / St, s = p[2] / St, h = ((l = Math.max(n, a, s)) + (f = Math.min(n, a, s))) / 2, l === f ? o = u = 0 : (d = l - f, u = .5 < h ? d / (2 - l - f) : d / (l + f), o = l === n ? (a - s) / d + (a < s ? 6 : 0) : l === a ? (s - n) / d + 2 : (n - a) / d + 4, o *= 60), p[0] = ~~(o + .5), p[1] = ~~(100 * u + .5), p[2] = ~~(100 * h + .5)), i && p.length < 4 && (p[3] = 1), p;\n }\n function Bb(t) {\n var r = [],\n i = [],\n n = -1;\n return t.split(Et).forEach(function (t) {\n var e = t.match(rt) || [];\n r.push.apply(r, e), i.push(n += e.length + 1);\n }), r.c = i, r;\n }\n function Cb(t, e, r) {\n var i,\n n,\n a,\n s,\n o = \"\",\n u = (t + o).match(Et),\n h = e ? \"hsla(\" : \"rgba(\",\n l = 0;\n if (!u) return t;\n if (u = u.map(function (t) {\n return (t = Ab(t, e, 1)) && h + (e ? t[0] + \",\" + t[1] + \"%,\" + t[2] + \"%,\" + t[3] : t.join(\",\")) + \")\";\n }), r && (a = Bb(t), (i = r.c).join(o) !== a.c.join(o))) for (s = (n = t.replace(Et, \"1\").split(rt)).length - 1; l < s; l++) o += n[l] + (~i.indexOf(l) ? u.shift() || h + \"0,0,0,0)\" : (a.length ? a : u.length ? u : r).shift());\n if (!n) for (s = (n = t.split(Et)).length - 1; l < s; l++) o += n[l] + u[l];\n return o + n[s];\n }\n function Fb(t) {\n var e,\n r = t.join(\" \");\n if (Et.lastIndex = 0, Et.test(r)) return e = Dt.test(r), t[1] = Cb(t[1], e), t[0] = Cb(t[0], e, Bb(t[1])), !0;\n }\n function Ob(t) {\n var e = (t + \"\").split(\"(\"),\n r = Lt[e[0]];\n return r && 1 < e.length && r.config ? r.config.apply(null, ~t.indexOf(\"{\") ? [function _parseObjectInString(t) {\n for (var e, r, i, n = {}, a = t.substr(1, t.length - 3).split(\":\"), s = a[0], o = 1, u = a.length; o < u; o++) r = a[o], e = o !== u - 1 ? r.lastIndexOf(\",\") : r.length, i = r.substr(0, e), n[s] = isNaN(i) ? i.replace(Bt, \"\").trim() : +i, s = r.substr(e + 1).trim();\n return n;\n }(e[1])] : function _valueInParentheses(t) {\n var e = t.indexOf(\"(\") + 1,\n r = t.indexOf(\")\"),\n i = t.indexOf(\"(\", e);\n return t.substring(e, ~i && i < r ? t.indexOf(\")\", r + 1) : r);\n }(t).split(\",\").map(oa)) : Lt._CE && It.test(t) ? Lt._CE(\"\", t) : r;\n }\n function Qb(t, e) {\n for (var r, i = t._first; i;) i instanceof Xt ? Qb(i, e) : !i.vars.yoyoEase || i._yoyo && i._repeat || i._yoyo === e || (i.timeline ? Qb(i.timeline, e) : (r = i._ease, i._ease = i._yEase, i._yEase = r, i._yoyo = e)), i = i._next;\n }\n function Sb(t, e, r, i) {\n void 0 === r && (r = function easeOut(t) {\n return 1 - e(1 - t);\n }), void 0 === i && (i = function easeInOut(t) {\n return t < .5 ? e(2 * t) / 2 : 1 - e(2 * (1 - t)) / 2;\n });\n var n,\n a = {\n easeIn: e,\n easeOut: r,\n easeInOut: i\n };\n return ha(t, function (t) {\n for (var e in Lt[t] = ot[t] = a, Lt[n = t.toLowerCase()] = r, a) Lt[n + (\"easeIn\" === e ? \".in\" : \"easeOut\" === e ? \".out\" : \".inOut\")] = Lt[t + \".\" + e] = a[e];\n }), a;\n }\n function Tb(e) {\n return function (t) {\n return t < .5 ? (1 - e(1 - 2 * t)) / 2 : .5 + e(2 * (t - .5)) / 2;\n };\n }\n function Ub(r, t, e) {\n function Jm(t) {\n return 1 === t ? 1 : i * Math.pow(2, -10 * t) * H((t - a) * n) + 1;\n }\n var i = 1 <= t ? t : 1,\n n = (e || (r ? .3 : .45)) / (t < 1 ? t : 1),\n a = n / N * (Math.asin(1 / i) || 0),\n s = \"out\" === r ? Jm : \"in\" === r ? function (t) {\n return 1 - Jm(1 - t);\n } : Tb(Jm);\n return n = N / n, s.config = function (t, e) {\n return Ub(r, t, e);\n }, s;\n }\n function Vb(e, r) {\n function Rm(t) {\n return t ? --t * t * ((r + 1) * t + r) + 1 : 0;\n }\n void 0 === r && (r = 1.70158);\n var t = \"out\" === e ? Rm : \"in\" === e ? function (t) {\n return 1 - Rm(1 - t);\n } : Tb(Rm);\n return t.config = function (t) {\n return Vb(e, t);\n }, t;\n }\n var F,\n L,\n l,\n I,\n h,\n n,\n a,\n i,\n o,\n f,\n d,\n c,\n p,\n _,\n m,\n g,\n b,\n O,\n k,\n M,\n C,\n A,\n z,\n E,\n D,\n B,\n Y,\n j,\n q = {\n autoSleep: 120,\n force3D: \"auto\",\n nullTargetWarn: 1,\n units: {\n lineHeight: \"\"\n }\n },\n V = {\n duration: .5,\n overwrite: !1,\n delay: 0\n },\n U = 1e8,\n X = 1 / U,\n N = 2 * Math.PI,\n G = N / 4,\n W = 0,\n K = Math.sqrt,\n J = Math.cos,\n H = Math.sin,\n $ = \"function\" == typeof ArrayBuffer && ArrayBuffer.isView || function () {},\n Z = Array.isArray,\n tt = /(?:-?\\.?\\d|\\.)+/gi,\n et = /[-+=.]*\\d+[.e\\-+]*\\d*[e\\-+]*\\d*/g,\n rt = /[-+=.]*\\d+[.e-]*\\d*[a-z%]*/g,\n it = /[-+=.]*\\d+\\.?\\d*(?:e-|e\\+)?\\d*/gi,\n nt = /[+-]=-?[.\\d]+/,\n at = /[^,'\"\\[\\]\\s]+/gi,\n st = /^[+\\-=e\\s\\d]*\\d+[.\\d]*([a-z]*|%)\\s*$/i,\n ot = {},\n ut = {\n suppressEvents: !0,\n isStart: !0,\n kill: !1\n },\n ht = {\n suppressEvents: !0,\n kill: !1\n },\n lt = {\n suppressEvents: !0\n },\n ft = {},\n dt = [],\n ct = {},\n pt = {},\n _t = {},\n mt = 30,\n gt = [],\n vt = \"\",\n yt = function _merge(t, e) {\n for (var r in e) t[r] = e[r];\n return t;\n },\n Tt = function _animationCycle(t, e) {\n var r = Math.floor(t /= e);\n return t && r === t ? r - 1 : r;\n },\n bt = function _isFromOrFromStart(t) {\n var e = t.data;\n return \"isFromStart\" === e || \"isStart\" === e;\n },\n wt = {\n _start: 0,\n endTime: T,\n totalDuration: T\n },\n xt = function _parsePosition(t, e, i) {\n var n,\n a,\n s,\n o = t.labels,\n u = t._recent || wt,\n h = t.duration() >= U ? u.endTime(!1) : t._dur;\n return r(e) && (isNaN(e) || e in o) ? (a = e.charAt(0), s = \"%\" === e.substr(-1), n = e.indexOf(\"=\"), \"<\" === a || \">\" === a ? (0 <= n && (e = e.replace(/=/, \"\")), (\"<\" === a ? u._start : u.endTime(0 <= u._repeat)) + (parseFloat(e.substr(1)) || 0) * (s ? (n < 0 ? u : i).totalDuration() / 100 : 1)) : n < 0 ? (e in o || (o[e] = h), o[e]) : (a = parseFloat(e.charAt(n - 1) + e.substr(n + 1)), s && i && (a = a / 100 * (Z(i) ? i[0] : i).totalDuration()), 1 < n ? _parsePosition(t, e.substr(0, n - 1), i) + a : h + a)) : null == e ? h : +e;\n },\n Ot = function _clamp(t, e, r) {\n return r < t ? t : e < r ? e : r;\n },\n kt = [].slice,\n Mt = function toArray(t, e, i) {\n return l && !e && l.selector ? l.selector(t) : !r(t) || i || !n && Ft() ? Z(t) ? function _flatten(t, e, i) {\n return void 0 === i && (i = []), t.forEach(function (t) {\n return r(t) && !e || _a(t, 1) ? i.push.apply(i, Mt(t)) : i.push(t);\n }) || i;\n }(t, i) : _a(t) ? kt.call(t, 0) : t ? [t] : [] : kt.call((e || a).querySelectorAll(t), 0);\n },\n Pt = function mapRange(e, t, r, i, n) {\n var a = t - e,\n s = i - r;\n return Wa(n, function (t) {\n return r + ((t - e) / a * s || 0);\n });\n },\n Ct = function _callback(t, e, r) {\n var i,\n n,\n a,\n s = t.vars,\n o = s[e],\n u = l,\n h = t._ctx;\n if (o) return i = s[e + \"Params\"], n = s.callbackScope || t, r && dt.length && ma(), h && (l = h), a = i ? o.apply(n, i) : o.call(n), l = u, a;\n },\n At = [],\n St = 255,\n zt = {\n aqua: [0, St, St],\n lime: [0, St, 0],\n silver: [192, 192, 192],\n black: [0, 0, 0],\n maroon: [128, 0, 0],\n teal: [0, 128, 128],\n blue: [0, 0, St],\n navy: [0, 0, 128],\n white: [St, St, St],\n olive: [128, 128, 0],\n yellow: [St, St, 0],\n orange: [St, 165, 0],\n gray: [128, 128, 128],\n purple: [128, 0, 128],\n green: [0, 128, 0],\n red: [St, 0, 0],\n pink: [St, 192, 203],\n cyan: [0, St, St],\n transparent: [St, St, St, 0]\n },\n Et = function () {\n var t,\n e = \"(?:\\\\b(?:(?:rgb|rgba|hsl|hsla)\\\\(.+?\\\\))|\\\\B#(?:[0-9a-f]{3,4}){1,2}\\\\b\";\n for (t in zt) e += \"|\" + t + \"\\\\b\";\n return new RegExp(e + \")\", \"gi\");\n }(),\n Dt = /hsl[a]?\\(/,\n Rt = (k = Date.now, M = 500, C = 33, A = k(), z = A, D = E = 1e3 / 240, g = {\n time: 0,\n frame: 0,\n tick: function tick() {\n yl(!0);\n },\n deltaRatio: function deltaRatio(t) {\n return b / (1e3 / (t || 60));\n },\n wake: function wake() {\n o && (!n && x() && (h = n = window, a = h.document || {}, ot.gsap = ze, (h.gsapVersions || (h.gsapVersions = [])).push(ze.version), P(i || h.GreenSockGlobals || !h.gsap && h || {}), At.forEach(wb)), m = \"undefined\" != typeof requestAnimationFrame && requestAnimationFrame, p && g.sleep(), _ = m || function (t) {\n return setTimeout(t, D - 1e3 * g.time + 1 | 0);\n }, c = 1, yl(2));\n },\n sleep: function sleep() {\n (m ? cancelAnimationFrame : clearTimeout)(p), c = 0, _ = T;\n },\n lagSmoothing: function lagSmoothing(t, e) {\n M = t || 1 / 0, C = Math.min(e || 33, M);\n },\n fps: function fps(t) {\n E = 1e3 / (t || 240), D = 1e3 * g.time + E;\n },\n add: function add(n, t, e) {\n var a = t ? function (t, e, r, i) {\n n(t, e, r, i), g.remove(a);\n } : n;\n return g.remove(n), B[e ? \"unshift\" : \"push\"](a), Ft(), a;\n },\n remove: function remove(t, e) {\n ~(e = B.indexOf(t)) && B.splice(e, 1) && e <= O && O--;\n },\n _listeners: B = []\n }),\n Ft = function _wake() {\n return !c && Rt.wake();\n },\n Lt = {},\n It = /^[\\d.\\-M][\\d.\\-,\\s]/,\n Bt = /[\"']/g,\n Yt = function _invertEase(e) {\n return function (t) {\n return 1 - e(1 - t);\n };\n },\n jt = function _parseEase(t, e) {\n return t && (s(t) ? t : Lt[t] || Ob(t)) || e;\n };\n function yl(t) {\n var e,\n r,\n i,\n n,\n a = k() - z,\n s = !0 === t;\n if ((M < a || a < 0) && (A += a - C), (0 < (e = (i = (z += a) - A) - D) || s) && (n = ++g.frame, b = i - 1e3 * g.time, g.time = i /= 1e3, D += e + (E <= e ? 4 : E - e), r = 1), s || (p = _(yl)), r) for (O = 0; O < B.length; O++) B[O](i, b, n, t);\n }\n function gn(t) {\n return t < j ? Y * t * t : t < .7272727272727273 ? Y * Math.pow(t - 1.5 / 2.75, 2) + .75 : t < .9090909090909092 ? Y * (t -= 2.25 / 2.75) * t + .9375 : Y * Math.pow(t - 2.625 / 2.75, 2) + .984375;\n }\n ha(\"Linear,Quad,Cubic,Quart,Quint,Strong\", function (t, e) {\n var r = e < 5 ? e + 1 : e;\n Sb(t + \",Power\" + (r - 1), e ? function (t) {\n return Math.pow(t, r);\n } : function (t) {\n return t;\n }, function (t) {\n return 1 - Math.pow(1 - t, r);\n }, function (t) {\n return t < .5 ? Math.pow(2 * t, r) / 2 : 1 - Math.pow(2 * (1 - t), r) / 2;\n });\n }), Lt.Linear.easeNone = Lt.none = Lt.Linear.easeIn, Sb(\"Elastic\", Ub(\"in\"), Ub(\"out\"), Ub()), Y = 7.5625, j = 1 / 2.75, Sb(\"Bounce\", function (t) {\n return 1 - gn(1 - t);\n }, gn), Sb(\"Expo\", function (t) {\n return t ? Math.pow(2, 10 * (t - 1)) : 0;\n }), Sb(\"Circ\", function (t) {\n return -(K(1 - t * t) - 1);\n }), Sb(\"Sine\", function (t) {\n return 1 === t ? 1 : 1 - J(t * G);\n }), Sb(\"Back\", Vb(\"in\"), Vb(\"out\"), Vb()), Lt.SteppedEase = Lt.steps = ot.SteppedEase = {\n config: function config(t, e) {\n void 0 === t && (t = 1);\n var r = 1 / t,\n i = t + (e ? 0 : 1),\n n = e ? 1 : 0;\n return function (t) {\n return ((i * Ot(0, .99999999, t) | 0) + n) * r;\n };\n }\n }, V.ease = Lt[\"quad.out\"], ha(\"onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt\", function (t) {\n return vt += t + \",\" + t + \"Params,\";\n });\n var qt,\n Vt = function GSCache(t, e) {\n this.id = W++, (t._gsap = this).target = t, this.harness = e, this.get = e ? e.get : ga, this.set = e ? e.getSetter : ne;\n },\n Ut = ((qt = Animation.prototype).delay = function delay(t) {\n return t || 0 === t ? (this.parent && this.parent.smoothChildTiming && this.startTime(this._start + t - this._delay), this._delay = t, this) : this._delay;\n }, qt.duration = function duration(t) {\n return arguments.length ? this.totalDuration(0 < this._repeat ? t + (t + this._rDelay) * this._repeat : t) : this.totalDuration() && this._dur;\n }, qt.totalDuration = function totalDuration(t) {\n return arguments.length ? (this._dirty = 0, Ra(this, this._repeat < 0 ? t : (t - this._repeat * this._rDelay) / (this._repeat + 1))) : this._tDur;\n }, qt.totalTime = function totalTime(t, e) {\n if (Ft(), !arguments.length) return this._tTime;\n var r = this._dp;\n if (r && r.smoothChildTiming && this._ts) {\n for (Ia(this, t), !r._dp || r.parent || Ja(r, this); r && r.parent;) r.parent._time !== r._start + (0 <= r._ts ? r._tTime / r._ts : (r.totalDuration() - r._tTime) / -r._ts) && r.totalTime(r._tTime, !0), r = r.parent;\n !this.parent && this._dp.autoRemoveChildren && (0 < this._ts && t < this._tDur || this._ts < 0 && 0 < t || !this._tDur && !t) && Ka(this._dp, this, this._start - this._delay);\n }\n return (this._tTime !== t || !this._dur && !e || this._initted && Math.abs(this._zTime) === X || !t && !this._initted && (this.add || this._ptLookup)) && (this._ts || (this._pTime = t), na(this, t, e)), this;\n }, qt.time = function time(t, e) {\n return arguments.length ? this.totalTime(Math.min(this.totalDuration(), t + Ea(this)) % (this._dur + this._rDelay) || (t ? this._dur : 0), e) : this._time;\n }, qt.totalProgress = function totalProgress(t, e) {\n return arguments.length ? this.totalTime(this.totalDuration() * t, e) : this.totalDuration() ? Math.min(1, this._tTime / this._tDur) : 0 < this.rawTime() ? 1 : 0;\n }, qt.progress = function progress(t, e) {\n return arguments.length ? this.totalTime(this.duration() * (!this._yoyo || 1 & this.iteration() ? t : 1 - t) + Ea(this), e) : this.duration() ? Math.min(1, this._time / this._dur) : 0 < this.rawTime() ? 1 : 0;\n }, qt.iteration = function iteration(t, e) {\n var r = this.duration() + this._rDelay;\n return arguments.length ? this.totalTime(this._time + (t - 1) * r, e) : this._repeat ? Tt(this._tTime, r) + 1 : 1;\n }, qt.timeScale = function timeScale(t, e) {\n if (!arguments.length) return this._rts === -X ? 0 : this._rts;\n if (this._rts === t) return this;\n var r = this.parent && this._ts ? Ga(this.parent._time, this) : this._tTime;\n return this._rts = +t || 0, this._ts = this._ps || t === -X ? 0 : this._rts, this.totalTime(Ot(-Math.abs(this._delay), this._tDur, r), !1 !== e), Ha(this), function _recacheAncestors(t) {\n for (var e = t.parent; e && e.parent;) e._dirty = 1, e.totalDuration(), e = e.parent;\n return t;\n }(this);\n }, qt.paused = function paused(t) {\n return arguments.length ? (this._ps !== t && ((this._ps = t) ? (this._pTime = this._tTime || Math.max(-this._delay, this.rawTime()), this._ts = this._act = 0) : (Ft(), this._ts = this._rts, this.totalTime(this.parent && !this.parent.smoothChildTiming ? this.rawTime() : this._tTime || this._pTime, 1 === this.progress() && Math.abs(this._zTime) !== X && (this._tTime -= X)))), this) : this._ps;\n }, qt.startTime = function startTime(t) {\n if (arguments.length) {\n this._start = t;\n var e = this.parent || this._dp;\n return !e || !e._sort && this.parent || Ka(e, this, t - this._delay), this;\n }\n return this._start;\n }, qt.endTime = function endTime(t) {\n return this._start + (w(t) ? this.totalDuration() : this.duration()) / Math.abs(this._ts || 1);\n }, qt.rawTime = function rawTime(t) {\n var e = this.parent || this._dp;\n return e ? t && (!this._ts || this._repeat && this._time && this.totalProgress() < 1) ? this._tTime % (this._dur + this._rDelay) : this._ts ? Ga(e.rawTime(t), this) : this._tTime : this._tTime;\n }, qt.revert = function revert(t) {\n void 0 === t && (t = lt);\n var e = L;\n return L = t, (this._initted || this._startAt) && (this.timeline && this.timeline.revert(t), this.totalTime(-.01, t.suppressEvents)), \"nested\" !== this.data && !1 !== t.kill && this.kill(), L = e, this;\n }, qt.globalTime = function globalTime(t) {\n for (var e = this, r = arguments.length ? t : e.rawTime(); e;) r = e._start + r / (Math.abs(e._ts) || 1), e = e._dp;\n return !this.parent && this._sat ? this._sat.globalTime(t) : r;\n }, qt.repeat = function repeat(t) {\n return arguments.length ? (this._repeat = t === 1 / 0 ? -2 : t, Sa(this)) : -2 === this._repeat ? 1 / 0 : this._repeat;\n }, qt.repeatDelay = function repeatDelay(t) {\n if (arguments.length) {\n var e = this._time;\n return this._rDelay = t, Sa(this), e ? this.time(e) : this;\n }\n return this._rDelay;\n }, qt.yoyo = function yoyo(t) {\n return arguments.length ? (this._yoyo = t, this) : this._yoyo;\n }, qt.seek = function seek(t, e) {\n return this.totalTime(xt(this, t), w(e));\n }, qt.restart = function restart(t, e) {\n return this.play().totalTime(t ? -this._delay : 0, w(e));\n }, qt.play = function play(t, e) {\n return null != t && this.seek(t, e), this.reversed(!1).paused(!1);\n }, qt.reverse = function reverse(t, e) {\n return null != t && this.seek(t || this.totalDuration(), e), this.reversed(!0).paused(!1);\n }, qt.pause = function pause(t, e) {\n return null != t && this.seek(t, e), this.paused(!0);\n }, qt.resume = function resume() {\n return this.paused(!1);\n }, qt.reversed = function reversed(t) {\n return arguments.length ? (!!t !== this.reversed() && this.timeScale(-this._rts || (t ? -X : 0)), this) : this._rts < 0;\n }, qt.invalidate = function invalidate() {\n return this._initted = this._act = 0, this._zTime = -X, this;\n }, qt.isActive = function isActive() {\n var t,\n e = this.parent || this._dp,\n r = this._start;\n return !(e && !(this._ts && this._initted && e.isActive() && (t = e.rawTime(!0)) >= r && t < this.endTime(!0) - X));\n }, qt.eventCallback = function eventCallback(t, e, r) {\n var i = this.vars;\n return 1 < arguments.length ? (e ? (i[t] = e, r && (i[t + \"Params\"] = r), \"onUpdate\" === t && (this._onUpdate = e)) : delete i[t], this) : i[t];\n }, qt.then = function then(t) {\n var i = this;\n return new Promise(function (e) {\n function Co() {\n var t = i.then;\n i.then = null, s(r) && (r = r(i)) && (r.then || r === i) && (i.then = t), e(r), i.then = t;\n }\n var r = s(t) ? t : pa;\n i._initted && 1 === i.totalProgress() && 0 <= i._ts || !i._tTime && i._ts < 0 ? Co() : i._prom = Co;\n });\n }, qt.kill = function kill() {\n tb(this);\n }, Animation);\n function Animation(t) {\n this.vars = t, this._delay = +t.delay || 0, (this._repeat = t.repeat === 1 / 0 ? -2 : t.repeat || 0) && (this._rDelay = t.repeatDelay || 0, this._yoyo = !!t.yoyo || !!t.yoyoEase), this._ts = 1, Ra(this, +t.duration, 1, 1), this.data = t.data, l && (this._ctx = l).data.push(this), c || Rt.wake();\n }\n qa(Ut.prototype, {\n _time: 0,\n _start: 0,\n _end: 0,\n _tTime: 0,\n _tDur: 0,\n _dirty: 0,\n _repeat: 0,\n _yoyo: !1,\n parent: null,\n _initted: !1,\n _rDelay: 0,\n _ts: 1,\n _dp: 0,\n ratio: 0,\n _zTime: -X,\n _prom: 0,\n _ps: !1,\n _rts: 1\n });\n var Xt = function (i) {\n function Timeline(t, e) {\n var r;\n return void 0 === t && (t = {}), (r = i.call(this, t) || this).labels = {}, r.smoothChildTiming = !!t.smoothChildTiming, r.autoRemoveChildren = !!t.autoRemoveChildren, r._sort = w(t.sortChildren), I && Ka(t.parent || I, _assertThisInitialized(r), e), t.reversed && r.reverse(), t.paused && r.paused(!0), t.scrollTrigger && La(_assertThisInitialized(r), t.scrollTrigger), r;\n }\n _inheritsLoose(Timeline, i);\n var e = Timeline.prototype;\n return e.to = function to(t, e, r) {\n return Va(0, arguments, this), this;\n }, e.from = function from(t, e, r) {\n return Va(1, arguments, this), this;\n }, e.fromTo = function fromTo(t, e, r, i) {\n return Va(2, arguments, this), this;\n }, e.set = function set(t, e, r) {\n return e.duration = 0, e.parent = this, va(e).repeatDelay || (e.repeat = 0), e.immediateRender = !!e.immediateRender, new $t(t, e, xt(this, r), 1), this;\n }, e.call = function call(t, e, r) {\n return Ka(this, $t.delayedCall(0, t, e), r);\n }, e.staggerTo = function staggerTo(t, e, r, i, n, a, s) {\n return r.duration = e, r.stagger = r.stagger || i, r.onComplete = a, r.onCompleteParams = s, r.parent = this, new $t(t, r, xt(this, n)), this;\n }, e.staggerFrom = function staggerFrom(t, e, r, i, n, a, s) {\n return r.runBackwards = 1, va(r).immediateRender = w(r.immediateRender), this.staggerTo(t, e, r, i, n, a, s);\n }, e.staggerFromTo = function staggerFromTo(t, e, r, i, n, a, s, o) {\n return i.startAt = r, va(i).immediateRender = w(i.immediateRender), this.staggerTo(t, e, i, n, a, s, o);\n }, e.render = function render(t, e, r) {\n var i,\n n,\n a,\n s,\n o,\n u,\n h,\n l,\n f,\n d,\n c,\n p,\n _ = this._time,\n m = this._dirty ? this.totalDuration() : this._tDur,\n g = this._dur,\n v = t <= 0 ? 0 : ja(t),\n y = this._zTime < 0 != t < 0 && (this._initted || !g);\n if (this !== I && m < v && 0 <= t && (v = m), v !== this._tTime || r || y) {\n if (_ !== this._time && g && (v += this._time - _, t += this._time - _), i = v, f = this._start, u = !(l = this._ts), y && (g || (_ = this._zTime), !t && e || (this._zTime = t)), this._repeat) {\n if (c = this._yoyo, o = g + this._rDelay, this._repeat < -1 && t < 0) return this.totalTime(100 * o + t, e, r);\n if (i = ja(v % o), v === m ? (s = this._repeat, i = g) : ((s = ~~(v / o)) && s === v / o && (i = g, s--), g < i && (i = g)), d = Tt(this._tTime, o), !_ && this._tTime && d !== s && this._tTime - d * o - this._dur <= 0 && (d = s), c && 1 & s && (i = g - i, p = 1), s !== d && !this._lock) {\n var T = c && 1 & d,\n b = T === (c && 1 & s);\n if (s < d && (T = !T), _ = T ? 0 : v % g ? g : v, this._lock = 1, this.render(_ || (p ? 0 : ja(s * o)), e, !g)._lock = 0, this._tTime = v, !e && this.parent && Ct(this, \"onRepeat\"), this.vars.repeatRefresh && !p && (this.invalidate()._lock = 1), _ && _ !== this._time || u != !this._ts || this.vars.onRepeat && !this.parent && !this._act) return this;\n if (g = this._dur, m = this._tDur, b && (this._lock = 2, _ = T ? g : -1e-4, this.render(_, !0), this.vars.repeatRefresh && !p && this.invalidate()), this._lock = 0, !this._ts && !u) return this;\n Qb(this, p);\n }\n }\n if (this._hasPause && !this._forcing && this._lock < 2 && (h = function _findNextPauseTween(t, e, r) {\n var i;\n if (e < r) for (i = t._first; i && i._start <= r;) {\n if (\"isPause\" === i.data && i._start > e) return i;\n i = i._next;\n } else for (i = t._last; i && i._start >= r;) {\n if (\"isPause\" === i.data && i._start < e) return i;\n i = i._prev;\n }\n }(this, ja(_), ja(i))) && (v -= i - (i = h._start)), this._tTime = v, this._time = i, this._act = !l, this._initted || (this._onUpdate = this.vars.onUpdate, this._initted = 1, this._zTime = t, _ = 0), !_ && i && !e && !s && (Ct(this, \"onStart\"), this._tTime !== v)) return this;\n if (_ <= i && 0 <= t) for (n = this._first; n;) {\n if (a = n._next, (n._act || i >= n._start) && n._ts && h !== n) {\n if (n.parent !== this) return this.render(t, e, r);\n if (n.render(0 < n._ts ? (i - n._start) * n._ts : (n._dirty ? n.totalDuration() : n._tDur) + (i - n._start) * n._ts, e, r), i !== this._time || !this._ts && !u) {\n h = 0, a && (v += this._zTime = -X);\n break;\n }\n }\n n = a;\n } else {\n n = this._last;\n for (var w = t < 0 ? t : i; n;) {\n if (a = n._prev, (n._act || w <= n._end) && n._ts && h !== n) {\n if (n.parent !== this) return this.render(t, e, r);\n if (n.render(0 < n._ts ? (w - n._start) * n._ts : (n._dirty ? n.totalDuration() : n._tDur) + (w - n._start) * n._ts, e, r || L && (n._initted || n._startAt)), i !== this._time || !this._ts && !u) {\n h = 0, a && (v += this._zTime = w ? -X : X);\n break;\n }\n }\n n = a;\n }\n }\n if (h && !e && (this.pause(), h.render(_ <= i ? 0 : -X)._zTime = _ <= i ? 1 : -1, this._ts)) return this._start = f, Ha(this), this.render(t, e, r);\n this._onUpdate && !e && Ct(this, \"onUpdate\", !0), (v === m && this._tTime >= this.totalDuration() || !v && _) && (f !== this._start && Math.abs(l) === Math.abs(this._ts) || this._lock || (!t && g || !(v === m && 0 < this._ts || !v && this._ts < 0) || za(this, 1), e || t < 0 && !_ || !v && !_ && m || (Ct(this, v === m && 0 <= t ? \"onComplete\" : \"onReverseComplete\", !0), !this._prom || v < m && 0 < this.timeScale() || this._prom())));\n }\n return this;\n }, e.add = function add(e, i) {\n var n = this;\n if (t(i) || (i = xt(this, i, e)), !(e instanceof Ut)) {\n if (Z(e)) return e.forEach(function (t) {\n return n.add(t, i);\n }), this;\n if (r(e)) return this.addLabel(e, i);\n if (!s(e)) return this;\n e = $t.delayedCall(0, e);\n }\n return this !== e ? Ka(this, e, i) : this;\n }, e.getChildren = function getChildren(t, e, r, i) {\n void 0 === t && (t = !0), void 0 === e && (e = !0), void 0 === r && (r = !0), void 0 === i && (i = -U);\n for (var n = [], a = this._first; a;) a._start >= i && (a instanceof $t ? e && n.push(a) : (r && n.push(a), t && n.push.apply(n, a.getChildren(!0, e, r)))), a = a._next;\n return n;\n }, e.getById = function getById(t) {\n for (var e = this.getChildren(1, 1, 1), r = e.length; r--;) if (e[r].vars.id === t) return e[r];\n }, e.remove = function remove(t) {\n return r(t) ? this.removeLabel(t) : s(t) ? this.killTweensOf(t) : (ya(this, t), t === this._recent && (this._recent = this._last), Aa(this));\n }, e.totalTime = function totalTime(t, e) {\n return arguments.length ? (this._forcing = 1, !this._dp && this._ts && (this._start = ja(Rt.time - (0 < this._ts ? t / this._ts : (this.totalDuration() - t) / -this._ts))), i.prototype.totalTime.call(this, t, e), this._forcing = 0, this) : this._tTime;\n }, e.addLabel = function addLabel(t, e) {\n return this.labels[t] = xt(this, e), this;\n }, e.removeLabel = function removeLabel(t) {\n return delete this.labels[t], this;\n }, e.addPause = function addPause(t, e, r) {\n var i = $t.delayedCall(0, e || T, r);\n return i.data = \"isPause\", this._hasPause = 1, Ka(this, i, xt(this, t));\n }, e.removePause = function removePause(t) {\n var e = this._first;\n for (t = xt(this, t); e;) e._start === t && \"isPause\" === e.data && za(e), e = e._next;\n }, e.killTweensOf = function killTweensOf(t, e, r) {\n for (var i = this.getTweensOf(t, r), n = i.length; n--;) Nt !== i[n] && i[n].kill(t, e);\n return this;\n }, e.getTweensOf = function getTweensOf(e, r) {\n for (var i, n = [], a = Mt(e), s = this._first, o = t(r); s;) s instanceof $t ? la(s._targets, a) && (o ? (!Nt || s._initted && s._ts) && s.globalTime(0) <= r && s.globalTime(s.totalDuration()) > r : !r || s.isActive()) && n.push(s) : (i = s.getTweensOf(a, r)).length && n.push.apply(n, i), s = s._next;\n return n;\n }, e.tweenTo = function tweenTo(t, e) {\n e = e || {};\n var r,\n i = this,\n n = xt(i, t),\n a = e.startAt,\n s = e.onStart,\n o = e.onStartParams,\n u = e.immediateRender,\n h = $t.to(i, qa({\n ease: e.ease || \"none\",\n lazy: !1,\n immediateRender: !1,\n time: n,\n overwrite: \"auto\",\n duration: e.duration || Math.abs((n - (a && \"time\" in a ? a.time : i._time)) / i.timeScale()) || X,\n onStart: function onStart() {\n if (i.pause(), !r) {\n var t = e.duration || Math.abs((n - (a && \"time\" in a ? a.time : i._time)) / i.timeScale());\n h._dur !== t && Ra(h, t, 0, 1).render(h._time, !0, !0), r = 1;\n }\n s && s.apply(h, o || []);\n }\n }, e));\n return u ? h.render(0) : h;\n }, e.tweenFromTo = function tweenFromTo(t, e, r) {\n return this.tweenTo(e, qa({\n startAt: {\n time: xt(this, t)\n }\n }, r));\n }, e.recent = function recent() {\n return this._recent;\n }, e.nextLabel = function nextLabel(t) {\n return void 0 === t && (t = this._time), rb(this, xt(this, t));\n }, e.previousLabel = function previousLabel(t) {\n return void 0 === t && (t = this._time), rb(this, xt(this, t), 1);\n }, e.currentLabel = function currentLabel(t) {\n return arguments.length ? this.seek(t, !0) : this.previousLabel(this._time + X);\n }, e.shiftChildren = function shiftChildren(t, e, r) {\n void 0 === r && (r = 0);\n for (var i, n = this._first, a = this.labels; n;) n._start >= r && (n._start += t, n._end += t), n = n._next;\n if (e) for (i in a) a[i] >= r && (a[i] += t);\n return Aa(this);\n }, e.invalidate = function invalidate(t) {\n var e = this._first;\n for (this._lock = 0; e;) e.invalidate(t), e = e._next;\n return i.prototype.invalidate.call(this, t);\n }, e.clear = function clear(t) {\n void 0 === t && (t = !0);\n for (var e, r = this._first; r;) e = r._next, this.remove(r), r = e;\n return this._dp && (this._time = this._tTime = this._pTime = 0), t && (this.labels = {}), Aa(this);\n }, e.totalDuration = function totalDuration(t) {\n var e,\n r,\n i,\n n = 0,\n a = this,\n s = a._last,\n o = U;\n if (arguments.length) return a.timeScale((a._repeat < 0 ? a.duration() : a.totalDuration()) / (a.reversed() ? -t : t));\n if (a._dirty) {\n for (i = a.parent; s;) e = s._prev, s._dirty && s.totalDuration(), o < (r = s._start) && a._sort && s._ts && !a._lock ? (a._lock = 1, Ka(a, s, r - s._delay, 1)._lock = 0) : o = r, r < 0 && s._ts && (n -= r, (!i && !a._dp || i && i.smoothChildTiming) && (a._start += r / a._ts, a._time -= r, a._tTime -= r), a.shiftChildren(-r, !1, -Infinity), o = 0), s._end > n && s._ts && (n = s._end), s = e;\n Ra(a, a === I && a._time > n ? a._time : n, 1, 1), a._dirty = 0;\n }\n return a._tDur;\n }, Timeline.updateRoot = function updateRoot(t) {\n if (I._ts && (na(I, Ga(t, I)), f = Rt.frame), Rt.frame >= mt) {\n mt += q.autoSleep || 120;\n var e = I._first;\n if ((!e || !e._ts) && q.autoSleep && Rt._listeners.length < 2) {\n for (; e && !e._ts;) e = e._next;\n e || Rt.sleep();\n }\n }\n }, Timeline;\n }(Ut);\n qa(Xt.prototype, {\n _lock: 0,\n _hasPause: 0,\n _forcing: 0\n });\n function ac(t, e, i, n, a, o) {\n var u, h, l, f;\n if (pt[t] && !1 !== (u = new pt[t]()).init(a, u.rawVars ? e[t] : function _processVars(t, e, i, n, a) {\n if (s(t) && (t = Kt(t, a, e, i, n)), !v(t) || t.style && t.nodeType || Z(t) || $(t)) return r(t) ? Kt(t, a, e, i, n) : t;\n var o,\n u = {};\n for (o in t) u[o] = Kt(t[o], a, e, i, n);\n return u;\n }(e[t], n, a, o, i), i, n, o) && (i._pt = h = new _e(i._pt, a, t, 0, 1, u.render, u, 0, u.priority), i !== d)) for (l = i._ptLookup[i._targets.indexOf(a)], f = u._props.length; f--;) l[u._props[f]] = h;\n return u;\n }\n function gc(t, r, e, i) {\n var n,\n a,\n s = r.ease || i || \"power1.inOut\";\n if (Z(r)) a = e[t] || (e[t] = []), r.forEach(function (t, e) {\n return a.push({\n t: e / (r.length - 1) * 100,\n v: t,\n e: s\n });\n });else for (n in r) a = e[n] || (e[n] = []), \"ease\" === n || a.push({\n t: parseFloat(t),\n v: r[n],\n e: s\n });\n }\n var Nt,\n Gt,\n Wt = function _addPropTween(t, e, i, n, a, o, u, h, l, f) {\n s(n) && (n = n(a || 0, t, o));\n var d,\n c = t[e],\n p = \"get\" !== i ? i : s(c) ? l ? t[e.indexOf(\"set\") || !s(t[\"get\" + e.substr(3)]) ? e : \"get\" + e.substr(3)](l) : t[e]() : c,\n _ = s(c) ? l ? re : te : Zt;\n if (r(n) && (~n.indexOf(\"random(\") && (n = ob(n)), \"=\" === n.charAt(1) && (!(d = ka(p, n) + (Ya(p) || 0)) && 0 !== d || (n = d))), !f || p !== n || Gt) return isNaN(p * n) || \"\" === n ? (c || e in t || Q(e, n), function _addComplexStringPropTween(t, e, r, i, n, a, s) {\n var o,\n u,\n h,\n l,\n f,\n d,\n c,\n p,\n _ = new _e(this._pt, t, e, 0, 1, ue, null, n),\n m = 0,\n g = 0;\n for (_.b = r, _.e = i, r += \"\", (c = ~(i += \"\").indexOf(\"random(\")) && (i = ob(i)), a && (a(p = [r, i], t, e), r = p[0], i = p[1]), u = r.match(it) || []; o = it.exec(i);) l = o[0], f = i.substring(m, o.index), h ? h = (h + 1) % 5 : \"rgba(\" === f.substr(-5) && (h = 1), l !== u[g++] && (d = parseFloat(u[g - 1]) || 0, _._pt = {\n _next: _._pt,\n p: f || 1 === g ? f : \",\",\n s: d,\n c: \"=\" === l.charAt(1) ? ka(d, l) - d : parseFloat(l) - d,\n m: h && h < 4 ? Math.round : 0\n }, m = it.lastIndex);\n return _.c = m < i.length ? i.substring(m, i.length) : \"\", _.fp = s, (nt.test(i) || c) && (_.e = 0), this._pt = _;\n }.call(this, t, e, p, n, _, h || q.stringFilter, l)) : (d = new _e(this._pt, t, e, +p || 0, n - (p || 0), \"boolean\" == typeof c ? se : ae, 0, _), l && (d.fp = l), u && d.modifier(u, this, t), this._pt = d);\n },\n Qt = function _initTween(t, e, r) {\n var i,\n n,\n a,\n s,\n o,\n u,\n h,\n l,\n f,\n d,\n c,\n p,\n _,\n m = t.vars,\n g = m.ease,\n v = m.startAt,\n y = m.immediateRender,\n T = m.lazy,\n b = m.onUpdate,\n x = m.runBackwards,\n O = m.yoyoEase,\n k = m.keyframes,\n M = m.autoRevert,\n P = t._dur,\n C = t._startAt,\n A = t._targets,\n S = t.parent,\n z = S && \"nested\" === S.data ? S.vars.targets : A,\n E = \"auto\" === t._overwrite && !F,\n D = t.timeline;\n if (!D || k && g || (g = \"none\"), t._ease = jt(g, V.ease), t._yEase = O ? Yt(jt(!0 === O ? g : O, V.ease)) : 0, O && t._yoyo && !t._repeat && (O = t._yEase, t._yEase = t._ease, t._ease = O), t._from = !D && !!m.runBackwards, !D || k && !m.stagger) {\n if (p = (l = A[0] ? fa(A[0]).harness : 0) && m[l.prop], i = ua(m, ft), C && (C._zTime < 0 && C.progress(1), e < 0 && x && y && !M ? C.render(-1, !0) : C.revert(x && P ? ht : ut), C._lazy = 0), v) {\n if (za(t._startAt = $t.set(A, qa({\n data: \"isStart\",\n overwrite: !1,\n parent: S,\n immediateRender: !0,\n lazy: !C && w(T),\n startAt: null,\n delay: 0,\n onUpdate: b && function () {\n return Ct(t, \"onUpdate\");\n },\n stagger: 0\n }, v))), t._startAt._dp = 0, t._startAt._sat = t, e < 0 && (L || !y && !M) && t._startAt.revert(ht), y && P && e <= 0 && r <= 0) return void (e && (t._zTime = e));\n } else if (x && P && !C) if (e && (y = !1), a = qa({\n overwrite: !1,\n data: \"isFromStart\",\n lazy: y && !C && w(T),\n immediateRender: y,\n stagger: 0,\n parent: S\n }, i), p && (a[l.prop] = p), za(t._startAt = $t.set(A, a)), t._startAt._dp = 0, t._startAt._sat = t, e < 0 && (L ? t._startAt.revert(ht) : t._startAt.render(-1, !0)), t._zTime = e, y) {\n if (!e) return;\n } else _initTween(t._startAt, X, X);\n for (t._pt = t._ptCache = 0, T = P && w(T) || T && !P, n = 0; n < A.length; n++) {\n if (h = (o = A[n])._gsap || ea(A)[n]._gsap, t._ptLookup[n] = d = {}, ct[h.id] && dt.length && ma(), c = z === A ? n : z.indexOf(o), l && !1 !== (f = new l()).init(o, p || i, t, c, z) && (t._pt = s = new _e(t._pt, o, f.name, 0, 1, f.render, f, 0, f.priority), f._props.forEach(function (t) {\n d[t] = s;\n }), f.priority && (u = 1)), !l || p) for (a in i) pt[a] && (f = ac(a, i, t, c, o, z)) ? f.priority && (u = 1) : d[a] = s = Wt.call(t, o, a, \"get\", i[a], c, z, 0, m.stringFilter);\n t._op && t._op[n] && t.kill(o, t._op[n]), E && t._pt && (Nt = t, I.killTweensOf(o, d, t.globalTime(e)), _ = !t.parent, Nt = 0), t._pt && T && (ct[h.id] = 1);\n }\n u && pe(t), t._onInit && t._onInit(t);\n }\n t._onUpdate = b, t._initted = (!t._op || t._pt) && !_, k && e <= 0 && D.render(U, !0, !0);\n },\n Kt = function _parseFuncOrString(t, e, i, n, a) {\n return s(t) ? t.call(e, i, n, a) : r(t) && ~t.indexOf(\"random(\") ? ob(t) : t;\n },\n Jt = vt + \"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert\",\n Ht = {};\n ha(Jt + \",id,stagger,delay,duration,paused,scrollTrigger\", function (t) {\n return Ht[t] = 1;\n });\n var $t = function (D) {\n function Tween(e, r, i, n) {\n var a;\n \"number\" == typeof r && (i.duration = r, r = i, i = null);\n var s,\n o,\n u,\n h,\n l,\n f,\n d,\n c,\n p = (a = D.call(this, n ? r : va(r)) || this).vars,\n _ = p.duration,\n m = p.delay,\n g = p.immediateRender,\n T = p.stagger,\n b = p.overwrite,\n x = p.keyframes,\n O = p.defaults,\n k = p.scrollTrigger,\n M = p.yoyoEase,\n P = r.parent || I,\n C = (Z(e) || $(e) ? t(e[0]) : \"length\" in r) ? [e] : Mt(e);\n if (a._targets = C.length ? ea(C) : R(\"GSAP target \" + e + \" not found. https://gsap.com\", !q.nullTargetWarn) || [], a._ptLookup = [], a._overwrite = b, x || T || y(_) || y(m)) {\n if (r = a.vars, (s = a.timeline = new Xt({\n data: \"nested\",\n defaults: O || {},\n targets: P && \"nested\" === P.data ? P.vars.targets : C\n })).kill(), s.parent = s._dp = _assertThisInitialized(a), s._start = 0, T || y(_) || y(m)) {\n if (h = C.length, d = T && eb(T), v(T)) for (l in T) ~Jt.indexOf(l) && ((c = c || {})[l] = T[l]);\n for (o = 0; o < h; o++) (u = ua(r, Ht)).stagger = 0, M && (u.yoyoEase = M), c && yt(u, c), f = C[o], u.duration = +Kt(_, _assertThisInitialized(a), o, f, C), u.delay = (+Kt(m, _assertThisInitialized(a), o, f, C) || 0) - a._delay, !T && 1 === h && u.delay && (a._delay = m = u.delay, a._start += m, u.delay = 0), s.to(f, u, d ? d(o, f, C) : 0), s._ease = Lt.none;\n s.duration() ? _ = m = 0 : a.timeline = 0;\n } else if (x) {\n va(qa(s.vars.defaults, {\n ease: \"none\"\n })), s._ease = jt(x.ease || r.ease || \"none\");\n var A,\n S,\n z,\n E = 0;\n if (Z(x)) x.forEach(function (t) {\n return s.to(C, t, \">\");\n }), s.duration();else {\n for (l in u = {}, x) \"ease\" === l || \"easeEach\" === l || gc(l, x[l], u, x.easeEach);\n for (l in u) for (A = u[l].sort(function (t, e) {\n return t.t - e.t;\n }), o = E = 0; o < A.length; o++) (z = {\n ease: (S = A[o]).e,\n duration: (S.t - (o ? A[o - 1].t : 0)) / 100 * _\n })[l] = S.v, s.to(C, z, E), E += z.duration;\n s.duration() < _ && s.to({}, {\n duration: _ - s.duration()\n });\n }\n }\n _ || a.duration(_ = s.duration());\n } else a.timeline = 0;\n return !0 !== b || F || (Nt = _assertThisInitialized(a), I.killTweensOf(C), Nt = 0), Ka(P, _assertThisInitialized(a), i), r.reversed && a.reverse(), r.paused && a.paused(!0), (g || !_ && !x && a._start === ja(P._time) && w(g) && function _hasNoPausedAncestors(t) {\n return !t || t._ts && _hasNoPausedAncestors(t.parent);\n }(_assertThisInitialized(a)) && \"nested\" !== P.data) && (a._tTime = -X, a.render(Math.max(0, -m) || 0)), k && La(_assertThisInitialized(a), k), a;\n }\n _inheritsLoose(Tween, D);\n var e = Tween.prototype;\n return e.render = function render(t, e, r) {\n var i,\n n,\n a,\n s,\n o,\n u,\n h,\n l,\n f,\n d = this._time,\n c = this._tDur,\n p = this._dur,\n _ = t < 0,\n m = c - X < t && !_ ? c : t < X ? 0 : t;\n if (p) {\n if (m !== this._tTime || !t || r || !this._initted && this._tTime || this._startAt && this._zTime < 0 != _) {\n if (i = m, l = this.timeline, this._repeat) {\n if (s = p + this._rDelay, this._repeat < -1 && _) return this.totalTime(100 * s + t, e, r);\n if (i = ja(m % s), m === c ? (a = this._repeat, i = p) : ((a = ~~(m / s)) && a === ja(m / s) && (i = p, a--), p < i && (i = p)), (u = this._yoyo && 1 & a) && (f = this._yEase, i = p - i), o = Tt(this._tTime, s), i === d && !r && this._initted && a === o) return this._tTime = m, this;\n a !== o && (l && this._yEase && Qb(l, u), this.vars.repeatRefresh && !u && !this._lock && this._time !== s && this._initted && (this._lock = r = 1, this.render(ja(s * a), !0).invalidate()._lock = 0));\n }\n if (!this._initted) {\n if (Ma(this, _ ? t : i, r, e, m)) return this._tTime = 0, this;\n if (!(d === this._time || r && this.vars.repeatRefresh && a !== o)) return this;\n if (p !== this._dur) return this.render(t, e, r);\n }\n if (this._tTime = m, this._time = i, !this._act && this._ts && (this._act = 1, this._lazy = 0), this.ratio = h = (f || this._ease)(i / p), this._from && (this.ratio = h = 1 - h), i && !d && !e && !a && (Ct(this, \"onStart\"), this._tTime !== m)) return this;\n for (n = this._pt; n;) n.r(h, n.d), n = n._next;\n l && l.render(t < 0 ? t : l._dur * l._ease(i / this._dur), e, r) || this._startAt && (this._zTime = t), this._onUpdate && !e && (_ && Ca(this, t, 0, r), Ct(this, \"onUpdate\")), this._repeat && a !== o && this.vars.onRepeat && !e && this.parent && Ct(this, \"onRepeat\"), m !== this._tDur && m || this._tTime !== m || (_ && !this._onUpdate && Ca(this, t, 0, !0), !t && p || !(m === this._tDur && 0 < this._ts || !m && this._ts < 0) || za(this, 1), e || _ && !d || !(m || d || u) || (Ct(this, m === c ? \"onComplete\" : \"onReverseComplete\", !0), !this._prom || m < c && 0 < this.timeScale() || this._prom()));\n }\n } else !function _renderZeroDurationTween(t, e, r, i) {\n var n,\n a,\n s,\n o = t.ratio,\n u = e < 0 || !e && (!t._start && function _parentPlayheadIsBeforeStart(t) {\n var e = t.parent;\n return e && e._ts && e._initted && !e._lock && (e.rawTime() < 0 || _parentPlayheadIsBeforeStart(e));\n }(t) && (t._initted || !bt(t)) || (t._ts < 0 || t._dp._ts < 0) && !bt(t)) ? 0 : 1,\n h = t._rDelay,\n l = 0;\n if (h && t._repeat && (l = Ot(0, t._tDur, e), a = Tt(l, h), t._yoyo && 1 & a && (u = 1 - u), a !== Tt(t._tTime, h) && (o = 1 - u, t.vars.repeatRefresh && t._initted && t.invalidate())), u !== o || L || i || t._zTime === X || !e && t._zTime) {\n if (!t._initted && Ma(t, e, i, r, l)) return;\n for (s = t._zTime, t._zTime = e || (r ? X : 0), r = r || e && !s, t.ratio = u, t._from && (u = 1 - u), t._time = 0, t._tTime = l, n = t._pt; n;) n.r(u, n.d), n = n._next;\n e < 0 && Ca(t, e, 0, !0), t._onUpdate && !r && Ct(t, \"onUpdate\"), l && t._repeat && !r && t.parent && Ct(t, \"onRepeat\"), (e >= t._tDur || e < 0) && t.ratio === u && (u && za(t, 1), r || L || (Ct(t, u ? \"onComplete\" : \"onReverseComplete\", !0), t._prom && t._prom()));\n } else t._zTime || (t._zTime = e);\n }(this, t, e, r);\n return this;\n }, e.targets = function targets() {\n return this._targets;\n }, e.invalidate = function invalidate(t) {\n return t && this.vars.runBackwards || (this._startAt = 0), this._pt = this._op = this._onUpdate = this._lazy = this.ratio = 0, this._ptLookup = [], this.timeline && this.timeline.invalidate(t), D.prototype.invalidate.call(this, t);\n }, e.resetTo = function resetTo(t, e, r, i, n) {\n c || Rt.wake(), this._ts || this.play();\n var a,\n s = Math.min(this._dur, (this._dp._time - this._start) * this._ts);\n return this._initted || Qt(this, s), a = this._ease(s / this._dur), function _updatePropTweens(t, e, r, i, n, a, s, o) {\n var u,\n h,\n l,\n f,\n d = (t._pt && t._ptCache || (t._ptCache = {}))[e];\n if (!d) for (d = t._ptCache[e] = [], l = t._ptLookup, f = t._targets.length; f--;) {\n if ((u = l[f][e]) && u.d && u.d._pt) for (u = u.d._pt; u && u.p !== e && u.fp !== e;) u = u._next;\n if (!u) return Gt = 1, t.vars[e] = \"+=0\", Qt(t, s), Gt = 0, o ? R(e + \" not eligible for reset\") : 1;\n d.push(u);\n }\n for (f = d.length; f--;) (u = (h = d[f])._pt || h).s = !i && 0 !== i || n ? u.s + (i || 0) + a * u.c : i, u.c = r - u.s, h.e && (h.e = ia(r) + Ya(h.e)), h.b && (h.b = u.s + Ya(h.b));\n }(this, t, e, r, i, a, s, n) ? this.resetTo(t, e, r, i, 1) : (Ia(this, 0), this.parent || xa(this._dp, this, \"_first\", \"_last\", this._dp._sort ? \"_start\" : 0), this.render(0));\n }, e.kill = function kill(t, e) {\n if (void 0 === e && (e = \"all\"), !(t || e && \"all\" !== e)) return this._lazy = this._pt = 0, this.parent ? tb(this) : this;\n if (this.timeline) {\n var i = this.timeline.totalDuration();\n return this.timeline.killTweensOf(t, e, Nt && !0 !== Nt.vars.overwrite)._first || tb(this), this.parent && i !== this.timeline.totalDuration() && Ra(this, this._dur * this.timeline._tDur / i, 0, 1), this;\n }\n var n,\n a,\n s,\n o,\n u,\n h,\n l,\n f = this._targets,\n d = t ? Mt(t) : f,\n c = this._ptLookup,\n p = this._pt;\n if ((!e || \"all\" === e) && function _arraysMatch(t, e) {\n for (var r = t.length, i = r === e.length; i && r-- && t[r] === e[r];);\n return r < 0;\n }(f, d)) return \"all\" === e && (this._pt = 0), tb(this);\n for (n = this._op = this._op || [], \"all\" !== e && (r(e) && (u = {}, ha(e, function (t) {\n return u[t] = 1;\n }), e = u), e = function _addAliasesToVars(t, e) {\n var r,\n i,\n n,\n a,\n s = t[0] ? fa(t[0]).harness : 0,\n o = s && s.aliases;\n if (!o) return e;\n for (i in r = yt({}, e), o) if (i in r) for (n = (a = o[i].split(\",\")).length; n--;) r[a[n]] = r[i];\n return r;\n }(f, e)), l = f.length; l--;) if (~d.indexOf(f[l])) for (u in a = c[l], \"all\" === e ? (n[l] = e, o = a, s = {}) : (s = n[l] = n[l] || {}, o = e), o) (h = a && a[u]) && (\"kill\" in h.d && !0 !== h.d.kill(u) || ya(this, h, \"_pt\"), delete a[u]), \"all\" !== s && (s[u] = 1);\n return this._initted && !this._pt && p && tb(this), this;\n }, Tween.to = function to(t, e, r) {\n return new Tween(t, e, r);\n }, Tween.from = function from(t, e) {\n return Va(1, arguments);\n }, Tween.delayedCall = function delayedCall(t, e, r, i) {\n return new Tween(e, 0, {\n immediateRender: !1,\n lazy: !1,\n overwrite: !1,\n delay: t,\n onComplete: e,\n onReverseComplete: e,\n onCompleteParams: r,\n onReverseCompleteParams: r,\n callbackScope: i\n });\n }, Tween.fromTo = function fromTo(t, e, r) {\n return Va(2, arguments);\n }, Tween.set = function set(t, e) {\n return e.duration = 0, e.repeatDelay || (e.repeat = 0), new Tween(t, e);\n }, Tween.killTweensOf = function killTweensOf(t, e, r) {\n return I.killTweensOf(t, e, r);\n }, Tween;\n }(Ut);\n qa($t.prototype, {\n _targets: [],\n _lazy: 0,\n _startAt: 0,\n _op: 0,\n _onInit: 0\n }), ha(\"staggerTo,staggerFrom,staggerFromTo\", function (r) {\n $t[r] = function () {\n var t = new Xt(),\n e = kt.call(arguments, 0);\n return e.splice(\"staggerFromTo\" === r ? 5 : 4, 0, 0), t[r].apply(t, e);\n };\n });\n function oc(t, e, r) {\n return t.setAttribute(e, r);\n }\n function wc(t, e, r, i) {\n i.mSet(t, e, i.m.call(i.tween, r, i.mt), i);\n }\n var Zt = function _setterPlain(t, e, r) {\n return t[e] = r;\n },\n te = function _setterFunc(t, e, r) {\n return t[e](r);\n },\n re = function _setterFuncWithParam(t, e, r, i) {\n return t[e](i.fp, r);\n },\n ne = function _getSetter(t, e) {\n return s(t[e]) ? te : u(t[e]) && t.setAttribute ? oc : Zt;\n },\n ae = function _renderPlain(t, e) {\n return e.set(e.t, e.p, Math.round(1e6 * (e.s + e.c * t)) / 1e6, e);\n },\n se = function _renderBoolean(t, e) {\n return e.set(e.t, e.p, !!(e.s + e.c * t), e);\n },\n ue = function _renderComplexString(t, e) {\n var r = e._pt,\n i = \"\";\n if (!t && e.b) i = e.b;else if (1 === t && e.e) i = e.e;else {\n for (; r;) i = r.p + (r.m ? r.m(r.s + r.c * t) : Math.round(1e4 * (r.s + r.c * t)) / 1e4) + i, r = r._next;\n i += e.c;\n }\n e.set(e.t, e.p, i, e);\n },\n he = function _renderPropTweens(t, e) {\n for (var r = e._pt; r;) r.r(t, r.d), r = r._next;\n },\n fe = function _addPluginModifier(t, e, r, i) {\n for (var n, a = this._pt; a;) n = a._next, a.p === i && a.modifier(t, e, r), a = n;\n },\n ce = function _killPropTweensOf(t) {\n for (var e, r, i = this._pt; i;) r = i._next, i.p === t && !i.op || i.op === t ? ya(this, i, \"_pt\") : i.dep || (e = 1), i = r;\n return !e;\n },\n pe = function _sortPropTweensByPriority(t) {\n for (var e, r, i, n, a = t._pt; a;) {\n for (e = a._next, r = i; r && r.pr > a.pr;) r = r._next;\n (a._prev = r ? r._prev : n) ? a._prev._next = a : i = a, (a._next = r) ? r._prev = a : n = a, a = e;\n }\n t._pt = i;\n },\n _e = (PropTween.prototype.modifier = function modifier(t, e, r) {\n this.mSet = this.mSet || this.set, this.set = wc, this.m = t, this.mt = r, this.tween = e;\n }, PropTween);\n function PropTween(t, e, r, i, n, a, s, o, u) {\n this.t = e, this.s = i, this.c = n, this.p = r, this.r = a || ae, this.d = s || this, this.set = o || Zt, this.pr = u || 0, (this._next = t) && (t._prev = this);\n }\n ha(vt + \"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger\", function (t) {\n return ft[t] = 1;\n }), ot.TweenMax = ot.TweenLite = $t, ot.TimelineLite = ot.TimelineMax = Xt, I = new Xt({\n sortChildren: !1,\n defaults: V,\n autoRemoveChildren: !0,\n id: \"root\",\n smoothChildTiming: !0\n }), q.stringFilter = Fb;\n function Ec(t) {\n return (ye[t] || Te).map(function (t) {\n return t();\n });\n }\n function Fc() {\n var t = Date.now(),\n o = [];\n 2 < t - Oe && (Ec(\"matchMediaInit\"), ge.forEach(function (t) {\n var e,\n r,\n i,\n n,\n a = t.queries,\n s = t.conditions;\n for (r in a) (e = h.matchMedia(a[r]).matches) && (i = 1), e !== s[r] && (s[r] = e, n = 1);\n n && (t.revert(), i && o.push(t));\n }), Ec(\"matchMediaRevert\"), o.forEach(function (e) {\n return e.onMatch(e, function (t) {\n return e.add(null, t);\n });\n }), Oe = t, Ec(\"matchMedia\"));\n }\n var me,\n ge = [],\n ye = {},\n Te = [],\n Oe = 0,\n Me = 0,\n Pe = ((me = Context.prototype).add = function add(t, i, n) {\n function Gw() {\n var t,\n e = l,\n r = a.selector;\n return e && e !== a && e.data.push(a), n && (a.selector = cb(n)), l = a, t = i.apply(a, arguments), s(t) && a._r.push(t), l = e, a.selector = r, a.isReverted = !1, t;\n }\n s(t) && (n = i, i = t, t = s);\n var a = this;\n return a.last = Gw, t === s ? Gw(a, function (t) {\n return a.add(null, t);\n }) : t ? a[t] = Gw : Gw;\n }, me.ignore = function ignore(t) {\n var e = l;\n l = null, t(this), l = e;\n }, me.getTweens = function getTweens() {\n var e = [];\n return this.data.forEach(function (t) {\n return t instanceof Context ? e.push.apply(e, t.getTweens()) : t instanceof $t && !(t.parent && \"nested\" === t.parent.data) && e.push(t);\n }), e;\n }, me.clear = function clear() {\n this._r.length = this.data.length = 0;\n }, me.kill = function kill(i, t) {\n var n = this;\n if (i ? function () {\n for (var t, e = n.getTweens(), r = n.data.length; r--;) \"isFlip\" === (t = n.data[r]).data && (t.revert(), t.getChildren(!0, !0, !1).forEach(function (t) {\n return e.splice(e.indexOf(t), 1);\n }));\n for (e.map(function (t) {\n return {\n g: t._dur || t._delay || t._sat && !t._sat.vars.immediateRender ? t.globalTime(0) : -1 / 0,\n t: t\n };\n }).sort(function (t, e) {\n return e.g - t.g || -1 / 0;\n }).forEach(function (t) {\n return t.t.revert(i);\n }), r = n.data.length; r--;) (t = n.data[r]) instanceof Xt ? \"nested\" !== t.data && (t.scrollTrigger && t.scrollTrigger.revert(), t.kill()) : t instanceof $t || !t.revert || t.revert(i);\n n._r.forEach(function (t) {\n return t(i, n);\n }), n.isReverted = !0;\n }() : this.data.forEach(function (t) {\n return t.kill && t.kill();\n }), this.clear(), t) for (var e = ge.length; e--;) ge[e].id === this.id && ge.splice(e, 1);\n }, me.revert = function revert(t) {\n this.kill(t || {});\n }, Context);\n function Context(t, e) {\n this.selector = e && cb(e), this.data = [], this._r = [], this.isReverted = !1, this.id = Me++, t && this.add(t);\n }\n var Ce,\n Ae = ((Ce = MatchMedia.prototype).add = function add(t, e, r) {\n v(t) || (t = {\n matches: t\n });\n var i,\n n,\n a,\n s = new Pe(0, r || this.scope),\n o = s.conditions = {};\n for (n in l && !s.selector && (s.selector = l.selector), this.contexts.push(s), e = s.add(\"onMatch\", e), s.queries = t) \"all\" === n ? a = 1 : (i = h.matchMedia(t[n])) && (ge.indexOf(s) < 0 && ge.push(s), (o[n] = i.matches) && (a = 1), i.addListener ? i.addListener(Fc) : i.addEventListener(\"change\", Fc));\n return a && e(s, function (t) {\n return s.add(null, t);\n }), this;\n }, Ce.revert = function revert(t) {\n this.kill(t || {});\n }, Ce.kill = function kill(e) {\n this.contexts.forEach(function (t) {\n return t.kill(e, !0);\n });\n }, MatchMedia);\n function MatchMedia(t) {\n this.contexts = [], this.scope = t, l && l.data.push(this);\n }\n var Se = {\n registerPlugin: function registerPlugin() {\n for (var t = arguments.length, e = new Array(t), r = 0; r < t; r++) e[r] = arguments[r];\n e.forEach(function (t) {\n return wb(t);\n });\n },\n timeline: function timeline(t) {\n return new Xt(t);\n },\n getTweensOf: function getTweensOf(t, e) {\n return I.getTweensOf(t, e);\n },\n getProperty: function getProperty(i, t, e, n) {\n r(i) && (i = Mt(i)[0]);\n var a = fa(i || {}).get,\n s = e ? pa : oa;\n return \"native\" === e && (e = \"\"), i ? t ? s((pt[t] && pt[t].get || a)(i, t, e, n)) : function (t, e, r) {\n return s((pt[t] && pt[t].get || a)(i, t, e, r));\n } : i;\n },\n quickSetter: function quickSetter(r, e, i) {\n if (1 < (r = Mt(r)).length) {\n var n = r.map(function (t) {\n return ze.quickSetter(t, e, i);\n }),\n a = n.length;\n return function (t) {\n for (var e = a; e--;) n[e](t);\n };\n }\n r = r[0] || {};\n var s = pt[e],\n o = fa(r),\n u = o.harness && (o.harness.aliases || {})[e] || e,\n h = s ? function (t) {\n var e = new s();\n d._pt = 0, e.init(r, i ? t + i : t, d, 0, [r]), e.render(1, e), d._pt && he(1, d);\n } : o.set(r, u);\n return s ? h : function (t) {\n return h(r, u, i ? t + i : t, o, 1);\n };\n },\n quickTo: function quickTo(t, i, e) {\n function $x(t, e, r) {\n return n.resetTo(i, t, e, r);\n }\n var r,\n n = ze.to(t, yt(((r = {})[i] = \"+=0.1\", r.paused = !0, r), e || {}));\n return $x.tween = n, $x;\n },\n isTweening: function isTweening(t) {\n return 0 < I.getTweensOf(t, !0).length;\n },\n defaults: function defaults(t) {\n return t && t.ease && (t.ease = jt(t.ease, V.ease)), ta(V, t || {});\n },\n config: function config(t) {\n return ta(q, t || {});\n },\n registerEffect: function registerEffect(t) {\n var i = t.name,\n n = t.effect,\n e = t.plugins,\n a = t.defaults,\n r = t.extendTimeline;\n (e || \"\").split(\",\").forEach(function (t) {\n return t && !pt[t] && !ot[t] && R(i + \" effect requires \" + t + \" plugin.\");\n }), _t[i] = function (t, e, r) {\n return n(Mt(t), qa(e || {}, a), r);\n }, r && (Xt.prototype[i] = function (t, e, r) {\n return this.add(_t[i](t, v(e) ? e : (r = e) && {}, this), r);\n });\n },\n registerEase: function registerEase(t, e) {\n Lt[t] = jt(e);\n },\n parseEase: function parseEase(t, e) {\n return arguments.length ? jt(t, e) : Lt;\n },\n getById: function getById(t) {\n return I.getById(t);\n },\n exportRoot: function exportRoot(t, e) {\n void 0 === t && (t = {});\n var r,\n i,\n n = new Xt(t);\n for (n.smoothChildTiming = w(t.smoothChildTiming), I.remove(n), n._dp = 0, n._time = n._tTime = I._time, r = I._first; r;) i = r._next, !e && !r._dur && r instanceof $t && r.vars.onComplete === r._targets[0] || Ka(n, r, r._start - r._delay), r = i;\n return Ka(I, n, 0), n;\n },\n context: function context(t, e) {\n return t ? new Pe(t, e) : l;\n },\n matchMedia: function matchMedia(t) {\n return new Ae(t);\n },\n matchMediaRefresh: function matchMediaRefresh() {\n return ge.forEach(function (t) {\n var e,\n r,\n i = t.conditions;\n for (r in i) i[r] && (i[r] = !1, e = 1);\n e && t.revert();\n }) || Fc();\n },\n addEventListener: function addEventListener(t, e) {\n var r = ye[t] || (ye[t] = []);\n ~r.indexOf(e) || r.push(e);\n },\n removeEventListener: function removeEventListener(t, e) {\n var r = ye[t],\n i = r && r.indexOf(e);\n 0 <= i && r.splice(i, 1);\n },\n utils: {\n wrap: function wrap(e, t, r) {\n var i = t - e;\n return Z(e) ? lb(e, wrap(0, e.length), t) : Wa(r, function (t) {\n return (i + (t - e) % i) % i + e;\n });\n },\n wrapYoyo: function wrapYoyo(e, t, r) {\n var i = t - e,\n n = 2 * i;\n return Z(e) ? lb(e, wrapYoyo(0, e.length - 1), t) : Wa(r, function (t) {\n return e + (i < (t = (n + (t - e) % n) % n || 0) ? n - t : t);\n });\n },\n distribute: eb,\n random: hb,\n snap: gb,\n normalize: function normalize(t, e, r) {\n return Pt(t, e, 0, 1, r);\n },\n getUnit: Ya,\n clamp: function clamp(e, r, t) {\n return Wa(t, function (t) {\n return Ot(e, r, t);\n });\n },\n splitColor: Ab,\n toArray: Mt,\n selector: cb,\n mapRange: Pt,\n pipe: function pipe() {\n for (var t = arguments.length, e = new Array(t), r = 0; r < t; r++) e[r] = arguments[r];\n return function (t) {\n return e.reduce(function (t, e) {\n return e(t);\n }, t);\n };\n },\n unitize: function unitize(e, r) {\n return function (t) {\n return e(parseFloat(t)) + (r || Ya(t));\n };\n },\n interpolate: function interpolate(e, i, t, n) {\n var a = isNaN(e + i) ? 0 : function (t) {\n return (1 - t) * e + t * i;\n };\n if (!a) {\n var s,\n o,\n u,\n h,\n l,\n f = r(e),\n d = {};\n if (!0 === t && (n = 1) && (t = null), f) e = {\n p: e\n }, i = {\n p: i\n };else if (Z(e) && !Z(i)) {\n for (u = [], h = e.length, l = h - 2, o = 1; o < h; o++) u.push(interpolate(e[o - 1], e[o]));\n h--, a = function func(t) {\n t *= h;\n var e = Math.min(l, ~~t);\n return u[e](t - e);\n }, t = i;\n } else n || (e = yt(Z(e) ? [] : {}, e));\n if (!u) {\n for (s in i) Wt.call(d, e, s, \"get\", i[s]);\n a = function func(t) {\n return he(t, d) || (f ? e.p : e);\n };\n }\n }\n return Wa(t, a);\n },\n shuffle: db\n },\n install: P,\n effects: _t,\n ticker: Rt,\n updateRoot: Xt.updateRoot,\n plugins: pt,\n globalTimeline: I,\n core: {\n PropTween: _e,\n globals: S,\n Tween: $t,\n Timeline: Xt,\n Animation: Ut,\n getCache: fa,\n _removeLinkedListItem: ya,\n reverting: function reverting() {\n return L;\n },\n context: function context(t) {\n return t && l && (l.data.push(t), t._ctx = l), l;\n },\n suppressOverwrites: function suppressOverwrites(t) {\n return F = t;\n }\n }\n };\n ha(\"to,from,fromTo,delayedCall,set,killTweensOf\", function (t) {\n return Se[t] = $t[t];\n }), Rt.add(Xt.updateRoot), d = Se.to({}, {\n duration: 0\n });\n function Jc(t, e) {\n for (var r = t._pt; r && r.p !== e && r.op !== e && r.fp !== e;) r = r._next;\n return r;\n }\n function Lc(t, a) {\n return {\n name: t,\n rawVars: 1,\n init: function init(t, n, e) {\n e._onInit = function (t) {\n var e, i;\n if (r(n) && (e = {}, ha(n, function (t) {\n return e[t] = 1;\n }), n = e), a) {\n for (i in e = {}, n) e[i] = a(n[i]);\n n = e;\n }\n !function _addModifiers(t, e) {\n var r,\n i,\n n,\n a = t._targets;\n for (r in e) for (i = a.length; i--;) (n = (n = t._ptLookup[i][r]) && n.d) && (n._pt && (n = Jc(n, r)), n && n.modifier && n.modifier(e[r], t, a[i], r));\n }(t, n);\n };\n }\n };\n }\n var ze = Se.registerPlugin({\n name: \"attr\",\n init: function init(t, e, r, i, n) {\n var a, s, o;\n for (a in this.tween = r, e) o = t.getAttribute(a) || \"\", (s = this.add(t, \"setAttribute\", (o || 0) + \"\", e[a], i, n, 0, 0, a)).op = a, s.b = o, this._props.push(a);\n },\n render: function render(t, e) {\n for (var r = e._pt; r;) L ? r.set(r.t, r.p, r.b, r) : r.r(t, r.d), r = r._next;\n }\n }, {\n name: \"endArray\",\n init: function init(t, e) {\n for (var r = e.length; r--;) this.add(t, r, t[r] || 0, e[r], 0, 0, 0, 0, 0, 1);\n }\n }, Lc(\"roundProps\", fb), Lc(\"modifiers\"), Lc(\"snap\", gb)) || Se;\n $t.version = Xt.version = ze.version = \"3.12.5\", o = 1, x() && Ft();\n function vd(t, e) {\n return e.set(e.t, e.p, Math.round(1e4 * (e.s + e.c * t)) / 1e4 + e.u, e);\n }\n function wd(t, e) {\n return e.set(e.t, e.p, 1 === t ? e.e : Math.round(1e4 * (e.s + e.c * t)) / 1e4 + e.u, e);\n }\n function xd(t, e) {\n return e.set(e.t, e.p, t ? Math.round(1e4 * (e.s + e.c * t)) / 1e4 + e.u : e.b, e);\n }\n function yd(t, e) {\n var r = e.s + e.c * t;\n e.set(e.t, e.p, ~~(r + (r < 0 ? -.5 : .5)) + e.u, e);\n }\n function zd(t, e) {\n return e.set(e.t, e.p, t ? e.e : e.b, e);\n }\n function Ad(t, e) {\n return e.set(e.t, e.p, 1 !== t ? e.b : e.e, e);\n }\n function Bd(t, e, r) {\n return t.style[e] = r;\n }\n function Cd(t, e, r) {\n return t.style.setProperty(e, r);\n }\n function Dd(t, e, r) {\n return t._gsap[e] = r;\n }\n function Ed(t, e, r) {\n return t._gsap.scaleX = t._gsap.scaleY = r;\n }\n function Fd(t, e, r, i, n) {\n var a = t._gsap;\n a.scaleX = a.scaleY = r, a.renderTransform(n, a);\n }\n function Gd(t, e, r, i, n) {\n var a = t._gsap;\n a[e] = r, a.renderTransform(n, a);\n }\n function Jd(t, e) {\n var r = this,\n i = this.target,\n n = i.style,\n a = i._gsap;\n if (t in ar && n) {\n if (this.tfm = this.tfm || {}, \"transform\" === t) return dr.transform.split(\",\").forEach(function (t) {\n return Jd.call(r, t, e);\n });\n if (~(t = dr[t] || t).indexOf(\",\") ? t.split(\",\").forEach(function (t) {\n return r.tfm[t] = yr(i, t);\n }) : this.tfm[t] = a.x ? a[t] : yr(i, t), t === pr && (this.tfm.zOrigin = a.zOrigin), 0 <= this.props.indexOf(cr)) return;\n a.svg && (this.svgo = i.getAttribute(\"data-svg-origin\"), this.props.push(pr, e, \"\")), t = cr;\n }\n (n || e) && this.props.push(t, e, n[t]);\n }\n function Kd(t) {\n t.translate && (t.removeProperty(\"translate\"), t.removeProperty(\"scale\"), t.removeProperty(\"rotate\"));\n }\n function Ld() {\n var t,\n e,\n r = this.props,\n i = this.target,\n n = i.style,\n a = i._gsap;\n for (t = 0; t < r.length; t += 3) r[t + 1] ? i[r[t]] = r[t + 2] : r[t + 2] ? n[r[t]] = r[t + 2] : n.removeProperty(\"--\" === r[t].substr(0, 2) ? r[t] : r[t].replace(hr, \"-$1\").toLowerCase());\n if (this.tfm) {\n for (e in this.tfm) a[e] = this.tfm[e];\n a.svg && (a.renderTransform(), i.setAttribute(\"data-svg-origin\", this.svgo || \"\")), (t = Be()) && t.isStart || n[cr] || (Kd(n), a.zOrigin && n[pr] && (n[pr] += \" \" + a.zOrigin + \"px\", a.zOrigin = 0, a.renderTransform()), a.uncache = 1);\n }\n }\n function Md(t, e) {\n var r = {\n target: t,\n props: [],\n revert: Ld,\n save: Jd\n };\n return t._gsap || ze.core.getCache(t), e && e.split(\",\").forEach(function (t) {\n return r.save(t);\n }), r;\n }\n function Od(t, e) {\n var r = De.createElementNS ? De.createElementNS((e || \"http://www.w3.org/1999/xhtml\").replace(/^https/, \"http\"), t) : De.createElement(t);\n return r && r.style ? r : De.createElement(t);\n }\n function Pd(t, e, r) {\n var i = getComputedStyle(t);\n return i[e] || i.getPropertyValue(e.replace(hr, \"-$1\").toLowerCase()) || i.getPropertyValue(e) || !r && Pd(t, mr(e) || e, 1) || \"\";\n }\n function Sd() {\n (function _windowExists() {\n return \"undefined\" != typeof window;\n })() && window.document && (Ee = window, De = Ee.document, Re = De.documentElement, Le = Od(\"div\") || {\n style: {}\n }, Od(\"div\"), cr = mr(cr), pr = cr + \"Origin\", Le.style.cssText = \"border-width:0;line-height:0;position:absolute;padding:0\", Ye = !!mr(\"perspective\"), Be = ze.core.reverting, Fe = 1);\n }\n function Td(t) {\n var e,\n r = Od(\"svg\", this.ownerSVGElement && this.ownerSVGElement.getAttribute(\"xmlns\") || \"http://www.w3.org/2000/svg\"),\n i = this.parentNode,\n n = this.nextSibling,\n a = this.style.cssText;\n if (Re.appendChild(r), r.appendChild(this), this.style.display = \"block\", t) try {\n e = this.getBBox(), this._gsapBBox = this.getBBox, this.getBBox = Td;\n } catch (t) {} else this._gsapBBox && (e = this._gsapBBox());\n return i && (n ? i.insertBefore(this, n) : i.appendChild(this)), Re.removeChild(r), this.style.cssText = a, e;\n }\n function Ud(t, e) {\n for (var r = e.length; r--;) if (t.hasAttribute(e[r])) return t.getAttribute(e[r]);\n }\n function Vd(e) {\n var r;\n try {\n r = e.getBBox();\n } catch (t) {\n r = Td.call(e, !0);\n }\n return r && (r.width || r.height) || e.getBBox === Td || (r = Td.call(e, !0)), !r || r.width || r.x || r.y ? r : {\n x: +Ud(e, [\"x\", \"cx\", \"x1\"]) || 0,\n y: +Ud(e, [\"y\", \"cy\", \"y1\"]) || 0,\n width: 0,\n height: 0\n };\n }\n function Wd(t) {\n return !(!t.getCTM || t.parentNode && !t.ownerSVGElement || !Vd(t));\n }\n function Xd(t, e) {\n if (e) {\n var r,\n i = t.style;\n e in ar && e !== pr && (e = cr), i.removeProperty ? (\"ms\" !== (r = e.substr(0, 2)) && \"webkit\" !== e.substr(0, 6) || (e = \"-\" + e), i.removeProperty(\"--\" === r ? e : e.replace(hr, \"-$1\").toLowerCase())) : i.removeAttribute(e);\n }\n }\n function Yd(t, e, r, i, n, a) {\n var s = new _e(t._pt, e, r, 0, 1, a ? Ad : zd);\n return (t._pt = s).b = i, s.e = n, t._props.push(r), s;\n }\n function _d(t, e, r, i) {\n var n,\n a,\n s,\n o,\n u = parseFloat(r) || 0,\n h = (r + \"\").trim().substr((u + \"\").length) || \"px\",\n l = Le.style,\n f = lr.test(e),\n d = \"svg\" === t.tagName.toLowerCase(),\n c = (d ? \"client\" : \"offset\") + (f ? \"Width\" : \"Height\"),\n p = \"px\" === i,\n _ = \"%\" === i;\n if (i === h || !u || gr[i] || gr[h]) return u;\n if (\"px\" === h || p || (u = _d(t, e, r, \"px\")), o = t.getCTM && Wd(t), (_ || \"%\" === h) && (ar[e] || ~e.indexOf(\"adius\"))) return n = o ? t.getBBox()[f ? \"width\" : \"height\"] : t[c], ia(_ ? u / n * 100 : u / 100 * n);\n if (l[f ? \"width\" : \"height\"] = 100 + (p ? h : i), a = ~e.indexOf(\"adius\") || \"em\" === i && t.appendChild && !d ? t : t.parentNode, o && (a = (t.ownerSVGElement || {}).parentNode), a && a !== De && a.appendChild || (a = De.body), (s = a._gsap) && _ && s.width && f && s.time === Rt.time && !s.uncache) return ia(u / s.width * 100);\n if (!_ || \"height\" !== e && \"width\" !== e) !_ && \"%\" !== h || vr[Pd(a, \"display\")] || (l.position = Pd(t, \"position\")), a === t && (l.position = \"static\"), a.appendChild(Le), n = Le[c], a.removeChild(Le), l.position = \"absolute\";else {\n var m = t.style[e];\n t.style[e] = 100 + i, n = t[c], m ? t.style[e] = m : Xd(t, e);\n }\n return f && _ && ((s = fa(a)).time = Rt.time, s.width = a[c]), ia(p ? n * u / 100 : n && u ? 100 / n * u : 0);\n }\n function be(t, e, r, i) {\n if (!r || \"none\" === r) {\n var n = mr(e, t, 1),\n a = n && Pd(t, n, 1);\n a && a !== r ? (e = n, r = a) : \"borderColor\" === e && (r = Pd(t, \"borderTopColor\"));\n }\n var s,\n o,\n u,\n h,\n l,\n f,\n d,\n c,\n p,\n _,\n m,\n g = new _e(this._pt, t.style, e, 0, 1, ue),\n v = 0,\n y = 0;\n if (g.b = r, g.e = i, r += \"\", \"auto\" === (i += \"\") && (f = t.style[e], t.style[e] = i, i = Pd(t, e) || i, f ? t.style[e] = f : Xd(t, e)), Fb(s = [r, i]), i = s[1], u = (r = s[0]).match(rt) || [], (i.match(rt) || []).length) {\n for (; o = rt.exec(i);) d = o[0], p = i.substring(v, o.index), l ? l = (l + 1) % 5 : \"rgba(\" !== p.substr(-5) && \"hsla(\" !== p.substr(-5) || (l = 1), d !== (f = u[y++] || \"\") && (h = parseFloat(f) || 0, m = f.substr((h + \"\").length), \"=\" === d.charAt(1) && (d = ka(h, d) + m), c = parseFloat(d), _ = d.substr((c + \"\").length), v = rt.lastIndex - _.length, _ || (_ = _ || q.units[e] || m, v === i.length && (i += _, g.e += _)), m !== _ && (h = _d(t, e, f, _) || 0), g._pt = {\n _next: g._pt,\n p: p || 1 === y ? p : \",\",\n s: h,\n c: c - h,\n m: l && l < 4 || \"zIndex\" === e ? Math.round : 0\n });\n g.c = v < i.length ? i.substring(v, i.length) : \"\";\n } else g.r = \"display\" === e && \"none\" === i ? Ad : zd;\n return nt.test(i) && (g.e = 0), this._pt = g;\n }\n function de(t) {\n var e = t.split(\" \"),\n r = e[0],\n i = e[1] || \"50%\";\n return \"top\" !== r && \"bottom\" !== r && \"left\" !== i && \"right\" !== i || (t = r, r = i, i = t), e[0] = Tr[r] || r, e[1] = Tr[i] || i, e.join(\" \");\n }\n function ee(t, e) {\n if (e.tween && e.tween._time === e.tween._dur) {\n var r,\n i,\n n,\n a = e.t,\n s = a.style,\n o = e.u,\n u = a._gsap;\n if (\"all\" === o || !0 === o) s.cssText = \"\", i = 1;else for (n = (o = o.split(\",\")).length; -1 < --n;) r = o[n], ar[r] && (i = 1, r = \"transformOrigin\" === r ? pr : cr), Xd(a, r);\n i && (Xd(a, cr), u && (u.svg && a.removeAttribute(\"transform\"), Or(a, 1), u.uncache = 1, Kd(s)));\n }\n }\n function ie(t) {\n return \"matrix(1, 0, 0, 1, 0, 0)\" === t || \"none\" === t || !t;\n }\n function je(t) {\n var e = Pd(t, cr);\n return ie(e) ? wr : e.substr(7).match(et).map(ia);\n }\n function ke(t, e) {\n var r,\n i,\n n,\n a,\n s = t._gsap || fa(t),\n o = t.style,\n u = je(t);\n return s.svg && t.getAttribute(\"transform\") ? \"1,0,0,1,0,0\" === (u = [(n = t.transform.baseVal.consolidate().matrix).a, n.b, n.c, n.d, n.e, n.f]).join(\",\") ? wr : u : (u !== wr || t.offsetParent || t === Re || s.svg || (n = o.display, o.display = \"block\", (r = t.parentNode) && t.offsetParent || (a = 1, i = t.nextElementSibling, Re.appendChild(t)), u = je(t), n ? o.display = n : Xd(t, \"display\"), a && (i ? r.insertBefore(t, i) : r ? r.appendChild(t) : Re.removeChild(t))), e && 6 < u.length ? [u[0], u[1], u[4], u[5], u[12], u[13]] : u);\n }\n function le(t, e, r, i, n, a) {\n var s,\n o,\n u,\n h = t._gsap,\n l = n || ke(t, !0),\n f = h.xOrigin || 0,\n d = h.yOrigin || 0,\n c = h.xOffset || 0,\n p = h.yOffset || 0,\n _ = l[0],\n m = l[1],\n g = l[2],\n v = l[3],\n y = l[4],\n T = l[5],\n b = e.split(\" \"),\n w = parseFloat(b[0]) || 0,\n x = parseFloat(b[1]) || 0;\n r ? l !== wr && (o = _ * v - m * g) && (u = w * (-m / o) + x * (_ / o) - (_ * T - m * y) / o, w = w * (v / o) + x * (-g / o) + (g * T - v * y) / o, x = u) : (w = (s = Vd(t)).x + (~b[0].indexOf(\"%\") ? w / 100 * s.width : w), x = s.y + (~(b[1] || b[0]).indexOf(\"%\") ? x / 100 * s.height : x)), i || !1 !== i && h.smooth ? (y = w - f, T = x - d, h.xOffset = c + (y * _ + T * g) - y, h.yOffset = p + (y * m + T * v) - T) : h.xOffset = h.yOffset = 0, h.xOrigin = w, h.yOrigin = x, h.smooth = !!i, h.origin = e, h.originIsAbsolute = !!r, t.style[pr] = \"0px 0px\", a && (Yd(a, h, \"xOrigin\", f, w), Yd(a, h, \"yOrigin\", d, x), Yd(a, h, \"xOffset\", c, h.xOffset), Yd(a, h, \"yOffset\", p, h.yOffset)), t.setAttribute(\"data-svg-origin\", w + \" \" + x);\n }\n function oe(t, e, r) {\n var i = Ya(e);\n return ia(parseFloat(e) + parseFloat(_d(t, \"x\", r + \"px\", i))) + i;\n }\n function ve(t, e, i, n, a) {\n var s,\n o,\n u = 360,\n h = r(a),\n l = parseFloat(a) * (h && ~a.indexOf(\"rad\") ? sr : 1) - n,\n f = n + l + \"deg\";\n return h && (\"short\" === (s = a.split(\"_\")[1]) && (l %= u) !== l % 180 && (l += l < 0 ? u : -u), \"cw\" === s && l < 0 ? l = (l + 36e9) % u - ~~(l / u) * u : \"ccw\" === s && 0 < l && (l = (l - 36e9) % u - ~~(l / u) * u)), t._pt = o = new _e(t._pt, e, i, n, l, wd), o.e = f, o.u = \"deg\", t._props.push(i), o;\n }\n function we(t, e) {\n for (var r in e) t[r] = e[r];\n return t;\n }\n function xe(t, e, r) {\n var i,\n n,\n a,\n s,\n o,\n u,\n h,\n l = we({}, r._gsap),\n f = r.style;\n for (n in l.svg ? (a = r.getAttribute(\"transform\"), r.setAttribute(\"transform\", \"\"), f[cr] = e, i = Or(r, 1), Xd(r, cr), r.setAttribute(\"transform\", a)) : (a = getComputedStyle(r)[cr], f[cr] = e, i = Or(r, 1), f[cr] = a), ar) (a = l[n]) !== (s = i[n]) && \"perspective,force3D,transformOrigin,svgOrigin\".indexOf(n) < 0 && (o = Ya(a) !== (h = Ya(s)) ? _d(r, n, a, h) : parseFloat(a), u = parseFloat(s), t._pt = new _e(t._pt, i, n, o, u - o, vd), t._pt.u = h || 0, t._props.push(n));\n we(i, l);\n }\n var Ee,\n De,\n Re,\n Fe,\n Le,\n Ie,\n Be,\n Ye,\n qe = Lt.Power0,\n Ve = Lt.Power1,\n Ue = Lt.Power2,\n Xe = Lt.Power3,\n Ne = Lt.Power4,\n Ge = Lt.Linear,\n We = Lt.Quad,\n Qe = Lt.Cubic,\n Ke = Lt.Quart,\n Je = Lt.Quint,\n He = Lt.Strong,\n $e = Lt.Elastic,\n Ze = Lt.Back,\n tr = Lt.SteppedEase,\n er = Lt.Bounce,\n rr = Lt.Sine,\n ir = Lt.Expo,\n nr = Lt.Circ,\n ar = {},\n sr = 180 / Math.PI,\n or = Math.PI / 180,\n ur = Math.atan2,\n hr = /([A-Z])/g,\n lr = /(left|right|width|margin|padding|x)/i,\n fr = /[\\s,\\(]\\S/,\n dr = {\n autoAlpha: \"opacity,visibility\",\n scale: \"scaleX,scaleY\",\n alpha: \"opacity\"\n },\n cr = \"transform\",\n pr = cr + \"Origin\",\n _r = \"O,Moz,ms,Ms,Webkit\".split(\",\"),\n mr = function _checkPropPrefix(t, e, r) {\n var i = (e || Le).style,\n n = 5;\n if (t in i && !r) return t;\n for (t = t.charAt(0).toUpperCase() + t.substr(1); n-- && !(_r[n] + t in i););\n return n < 0 ? null : (3 === n ? \"ms\" : 0 <= n ? _r[n] : \"\") + t;\n },\n gr = {\n deg: 1,\n rad: 1,\n turn: 1\n },\n vr = {\n grid: 1,\n flex: 1\n },\n yr = function _get(t, e, r, i) {\n var n;\n return Fe || Sd(), e in dr && \"transform\" !== e && ~(e = dr[e]).indexOf(\",\") && (e = e.split(\",\")[0]), ar[e] && \"transform\" !== e ? (n = Or(t, i), n = \"transformOrigin\" !== e ? n[e] : n.svg ? n.origin : kr(Pd(t, pr)) + \" \" + n.zOrigin + \"px\") : (n = t.style[e]) && \"auto\" !== n && !i && !~(n + \"\").indexOf(\"calc(\") || (n = br[e] && br[e](t, e, r) || Pd(t, e) || ga(t, e) || (\"opacity\" === e ? 1 : 0)), r && !~(n + \"\").trim().indexOf(\" \") ? _d(t, e, n, r) + r : n;\n },\n Tr = {\n top: \"0%\",\n bottom: \"100%\",\n left: \"0%\",\n right: \"100%\",\n center: \"50%\"\n },\n br = {\n clearProps: function clearProps(t, e, r, i, n) {\n if (\"isFromStart\" !== n.data) {\n var a = t._pt = new _e(t._pt, e, r, 0, 0, ee);\n return a.u = i, a.pr = -10, a.tween = n, t._props.push(r), 1;\n }\n }\n },\n wr = [1, 0, 0, 1, 0, 0],\n xr = {},\n Or = function _parseTransform(t, e) {\n var r = t._gsap || new Vt(t);\n if (\"x\" in r && !e && !r.uncache) return r;\n var i,\n n,\n a,\n s,\n o,\n u,\n h,\n l,\n f,\n d,\n c,\n p,\n _,\n m,\n g,\n v,\n y,\n T,\n b,\n w,\n x,\n O,\n k,\n M,\n P,\n C,\n A,\n S,\n z,\n E,\n D,\n R,\n F = t.style,\n L = r.scaleX < 0,\n I = \"deg\",\n B = getComputedStyle(t),\n Y = Pd(t, pr) || \"0\";\n return i = n = a = u = h = l = f = d = c = 0, s = o = 1, r.svg = !(!t.getCTM || !Wd(t)), B.translate && (\"none\" === B.translate && \"none\" === B.scale && \"none\" === B.rotate || (F[cr] = (\"none\" !== B.translate ? \"translate3d(\" + (B.translate + \" 0 0\").split(\" \").slice(0, 3).join(\", \") + \") \" : \"\") + (\"none\" !== B.rotate ? \"rotate(\" + B.rotate + \") \" : \"\") + (\"none\" !== B.scale ? \"scale(\" + B.scale.split(\" \").join(\",\") + \") \" : \"\") + (\"none\" !== B[cr] ? B[cr] : \"\")), F.scale = F.rotate = F.translate = \"none\"), m = ke(t, r.svg), r.svg && (M = r.uncache ? (P = t.getBBox(), Y = r.xOrigin - P.x + \"px \" + (r.yOrigin - P.y) + \"px\", \"\") : !e && t.getAttribute(\"data-svg-origin\"), le(t, M || Y, !!M || r.originIsAbsolute, !1 !== r.smooth, m)), p = r.xOrigin || 0, _ = r.yOrigin || 0, m !== wr && (T = m[0], b = m[1], w = m[2], x = m[3], i = O = m[4], n = k = m[5], 6 === m.length ? (s = Math.sqrt(T * T + b * b), o = Math.sqrt(x * x + w * w), u = T || b ? ur(b, T) * sr : 0, (f = w || x ? ur(w, x) * sr + u : 0) && (o *= Math.abs(Math.cos(f * or))), r.svg && (i -= p - (p * T + _ * w), n -= _ - (p * b + _ * x))) : (R = m[6], E = m[7], A = m[8], S = m[9], z = m[10], D = m[11], i = m[12], n = m[13], a = m[14], h = (g = ur(R, z)) * sr, g && (M = O * (v = Math.cos(-g)) + A * (y = Math.sin(-g)), P = k * v + S * y, C = R * v + z * y, A = O * -y + A * v, S = k * -y + S * v, z = R * -y + z * v, D = E * -y + D * v, O = M, k = P, R = C), l = (g = ur(-w, z)) * sr, g && (v = Math.cos(-g), D = x * (y = Math.sin(-g)) + D * v, T = M = T * v - A * y, b = P = b * v - S * y, w = C = w * v - z * y), u = (g = ur(b, T)) * sr, g && (M = T * (v = Math.cos(g)) + b * (y = Math.sin(g)), P = O * v + k * y, b = b * v - T * y, k = k * v - O * y, T = M, O = P), h && 359.9 < Math.abs(h) + Math.abs(u) && (h = u = 0, l = 180 - l), s = ia(Math.sqrt(T * T + b * b + w * w)), o = ia(Math.sqrt(k * k + R * R)), g = ur(O, k), f = 2e-4 < Math.abs(g) ? g * sr : 0, c = D ? 1 / (D < 0 ? -D : D) : 0), r.svg && (M = t.getAttribute(\"transform\"), r.forceCSS = t.setAttribute(\"transform\", \"\") || !ie(Pd(t, cr)), M && t.setAttribute(\"transform\", M))), 90 < Math.abs(f) && Math.abs(f) < 270 && (L ? (s *= -1, f += u <= 0 ? 180 : -180, u += u <= 0 ? 180 : -180) : (o *= -1, f += f <= 0 ? 180 : -180)), e = e || r.uncache, r.x = i - ((r.xPercent = i && (!e && r.xPercent || (Math.round(t.offsetWidth / 2) === Math.round(-i) ? -50 : 0))) ? t.offsetWidth * r.xPercent / 100 : 0) + \"px\", r.y = n - ((r.yPercent = n && (!e && r.yPercent || (Math.round(t.offsetHeight / 2) === Math.round(-n) ? -50 : 0))) ? t.offsetHeight * r.yPercent / 100 : 0) + \"px\", r.z = a + \"px\", r.scaleX = ia(s), r.scaleY = ia(o), r.rotation = ia(u) + I, r.rotationX = ia(h) + I, r.rotationY = ia(l) + I, r.skewX = f + I, r.skewY = d + I, r.transformPerspective = c + \"px\", (r.zOrigin = parseFloat(Y.split(\" \")[2]) || !e && r.zOrigin || 0) && (F[pr] = kr(Y)), r.xOffset = r.yOffset = 0, r.force3D = q.force3D, r.renderTransform = r.svg ? zr : Ye ? Sr : Mr, r.uncache = 0, r;\n },\n kr = function _firstTwoOnly(t) {\n return (t = t.split(\" \"))[0] + \" \" + t[1];\n },\n Mr = function _renderNon3DTransforms(t, e) {\n e.z = \"0px\", e.rotationY = e.rotationX = \"0deg\", e.force3D = 0, Sr(t, e);\n },\n Pr = \"0deg\",\n Cr = \"0px\",\n Ar = \") \",\n Sr = function _renderCSSTransforms(t, e) {\n var r = e || this,\n i = r.xPercent,\n n = r.yPercent,\n a = r.x,\n s = r.y,\n o = r.z,\n u = r.rotation,\n h = r.rotationY,\n l = r.rotationX,\n f = r.skewX,\n d = r.skewY,\n c = r.scaleX,\n p = r.scaleY,\n _ = r.transformPerspective,\n m = r.force3D,\n g = r.target,\n v = r.zOrigin,\n y = \"\",\n T = \"auto\" === m && t && 1 !== t || !0 === m;\n if (v && (l !== Pr || h !== Pr)) {\n var b,\n w = parseFloat(h) * or,\n x = Math.sin(w),\n O = Math.cos(w);\n w = parseFloat(l) * or, b = Math.cos(w), a = oe(g, a, x * b * -v), s = oe(g, s, -Math.sin(w) * -v), o = oe(g, o, O * b * -v + v);\n }\n _ !== Cr && (y += \"perspective(\" + _ + Ar), (i || n) && (y += \"translate(\" + i + \"%, \" + n + \"%) \"), !T && a === Cr && s === Cr && o === Cr || (y += o !== Cr || T ? \"translate3d(\" + a + \", \" + s + \", \" + o + \") \" : \"translate(\" + a + \", \" + s + Ar), u !== Pr && (y += \"rotate(\" + u + Ar), h !== Pr && (y += \"rotateY(\" + h + Ar), l !== Pr && (y += \"rotateX(\" + l + Ar), f === Pr && d === Pr || (y += \"skew(\" + f + \", \" + d + Ar), 1 === c && 1 === p || (y += \"scale(\" + c + \", \" + p + Ar), g.style[cr] = y || \"translate(0, 0)\";\n },\n zr = function _renderSVGTransforms(t, e) {\n var r,\n i,\n n,\n a,\n s,\n o = e || this,\n u = o.xPercent,\n h = o.yPercent,\n l = o.x,\n f = o.y,\n d = o.rotation,\n c = o.skewX,\n p = o.skewY,\n _ = o.scaleX,\n m = o.scaleY,\n g = o.target,\n v = o.xOrigin,\n y = o.yOrigin,\n T = o.xOffset,\n b = o.yOffset,\n w = o.forceCSS,\n x = parseFloat(l),\n O = parseFloat(f);\n d = parseFloat(d), c = parseFloat(c), (p = parseFloat(p)) && (c += p = parseFloat(p), d += p), d || c ? (d *= or, c *= or, r = Math.cos(d) * _, i = Math.sin(d) * _, n = Math.sin(d - c) * -m, a = Math.cos(d - c) * m, c && (p *= or, s = Math.tan(c - p), n *= s = Math.sqrt(1 + s * s), a *= s, p && (s = Math.tan(p), r *= s = Math.sqrt(1 + s * s), i *= s)), r = ia(r), i = ia(i), n = ia(n), a = ia(a)) : (r = _, a = m, i = n = 0), (x && !~(l + \"\").indexOf(\"px\") || O && !~(f + \"\").indexOf(\"px\")) && (x = _d(g, \"x\", l, \"px\"), O = _d(g, \"y\", f, \"px\")), (v || y || T || b) && (x = ia(x + v - (v * r + y * n) + T), O = ia(O + y - (v * i + y * a) + b)), (u || h) && (s = g.getBBox(), x = ia(x + u / 100 * s.width), O = ia(O + h / 100 * s.height)), s = \"matrix(\" + r + \",\" + i + \",\" + n + \",\" + a + \",\" + x + \",\" + O + \")\", g.setAttribute(\"transform\", s), w && (g.style[cr] = s);\n };\n ha(\"padding,margin,Width,Radius\", function (e, r) {\n var t = \"Right\",\n i = \"Bottom\",\n n = \"Left\",\n o = (r < 3 ? [\"Top\", t, i, n] : [\"Top\" + n, \"Top\" + t, i + t, i + n]).map(function (t) {\n return r < 2 ? e + t : \"border\" + t + e;\n });\n br[1 < r ? \"border\" + e : e] = function (e, t, r, i, n) {\n var a, s;\n if (arguments.length < 4) return a = o.map(function (t) {\n return yr(e, t, r);\n }), 5 === (s = a.join(\" \")).split(a[0]).length ? a[0] : s;\n a = (i + \"\").split(\" \"), s = {}, o.forEach(function (t, e) {\n return s[t] = a[e] = a[e] || a[(e - 1) / 2 | 0];\n }), e.init(t, s, n);\n };\n });\n var Er,\n Dr,\n Rr,\n Fr = {\n name: \"css\",\n register: Sd,\n targetTest: function targetTest(t) {\n return t.style && t.nodeType;\n },\n init: function init(t, e, i, n, a) {\n var s,\n o,\n u,\n h,\n l,\n f,\n d,\n c,\n p,\n _,\n m,\n g,\n v,\n y,\n T,\n b,\n w = this._props,\n x = t.style,\n O = i.vars.startAt;\n for (d in Fe || Sd(), this.styles = this.styles || Md(t), b = this.styles.props, this.tween = i, e) if (\"autoRound\" !== d && (o = e[d], !pt[d] || !ac(d, e, i, n, t, a))) if (l = typeof o, f = br[d], \"function\" === l && (l = typeof (o = o.call(i, n, t, a))), \"string\" === l && ~o.indexOf(\"random(\") && (o = ob(o)), f) f(this, t, d, o, i) && (T = 1);else if (\"--\" === d.substr(0, 2)) s = (getComputedStyle(t).getPropertyValue(d) + \"\").trim(), o += \"\", Et.lastIndex = 0, Et.test(s) || (c = Ya(s), p = Ya(o)), p ? c !== p && (s = _d(t, d, s, p) + p) : c && (o += c), this.add(x, \"setProperty\", s, o, n, a, 0, 0, d), w.push(d), b.push(d, 0, x[d]);else if (\"undefined\" !== l) {\n if (O && d in O ? (s = \"function\" == typeof O[d] ? O[d].call(i, n, t, a) : O[d], r(s) && ~s.indexOf(\"random(\") && (s = ob(s)), Ya(s + \"\") || \"auto\" === s || (s += q.units[d] || Ya(yr(t, d)) || \"\"), \"=\" === (s + \"\").charAt(1) && (s = yr(t, d))) : s = yr(t, d), h = parseFloat(s), (_ = \"string\" === l && \"=\" === o.charAt(1) && o.substr(0, 2)) && (o = o.substr(2)), u = parseFloat(o), d in dr && (\"autoAlpha\" === d && (1 === h && \"hidden\" === yr(t, \"visibility\") && u && (h = 0), b.push(\"visibility\", 0, x.visibility), Yd(this, x, \"visibility\", h ? \"inherit\" : \"hidden\", u ? \"inherit\" : \"hidden\", !u)), \"scale\" !== d && \"transform\" !== d && ~(d = dr[d]).indexOf(\",\") && (d = d.split(\",\")[0])), m = d in ar) {\n if (this.styles.save(d), g || ((v = t._gsap).renderTransform && !e.parseTransform || Or(t, e.parseTransform), y = !1 !== e.smoothOrigin && v.smooth, (g = this._pt = new _e(this._pt, x, cr, 0, 1, v.renderTransform, v, 0, -1)).dep = 1), \"scale\" === d) this._pt = new _e(this._pt, v, \"scaleY\", v.scaleY, (_ ? ka(v.scaleY, _ + u) : u) - v.scaleY || 0, vd), this._pt.u = 0, w.push(\"scaleY\", d), d += \"X\";else {\n if (\"transformOrigin\" === d) {\n b.push(pr, 0, x[pr]), o = de(o), v.svg ? le(t, o, 0, y, 0, this) : ((p = parseFloat(o.split(\" \")[2]) || 0) !== v.zOrigin && Yd(this, v, \"zOrigin\", v.zOrigin, p), Yd(this, x, d, kr(s), kr(o)));\n continue;\n }\n if (\"svgOrigin\" === d) {\n le(t, o, 1, y, 0, this);\n continue;\n }\n if (d in xr) {\n ve(this, v, d, h, _ ? ka(h, _ + o) : o);\n continue;\n }\n if (\"smoothOrigin\" === d) {\n Yd(this, v, \"smooth\", v.smooth, o);\n continue;\n }\n if (\"force3D\" === d) {\n v[d] = o;\n continue;\n }\n if (\"transform\" === d) {\n xe(this, o, t);\n continue;\n }\n }\n } else d in x || (d = mr(d) || d);\n if (m || (u || 0 === u) && (h || 0 === h) && !fr.test(o) && d in x) u = u || 0, (c = (s + \"\").substr((h + \"\").length)) !== (p = Ya(o) || (d in q.units ? q.units[d] : c)) && (h = _d(t, d, s, p)), this._pt = new _e(this._pt, m ? v : x, d, h, (_ ? ka(h, _ + u) : u) - h, m || \"px\" !== p && \"zIndex\" !== d || !1 === e.autoRound ? vd : yd), this._pt.u = p || 0, c !== p && \"%\" !== p && (this._pt.b = s, this._pt.r = xd);else if (d in x) be.call(this, t, d, s, _ ? _ + o : o);else if (d in t) this.add(t, d, s || t[d], _ ? _ + o : o, n, a);else if (\"parseTransform\" !== d) {\n Q(d, o);\n continue;\n }\n m || (d in x ? b.push(d, 0, x[d]) : b.push(d, 1, s || t[d])), w.push(d);\n }\n T && pe(this);\n },\n render: function render(t, e) {\n if (e.tween._time || !Be()) for (var r = e._pt; r;) r.r(t, r.d), r = r._next;else e.styles.revert();\n },\n get: yr,\n aliases: dr,\n getSetter: function getSetter(t, e, r) {\n var i = dr[e];\n return i && i.indexOf(\",\") < 0 && (e = i), e in ar && e !== pr && (t._gsap.x || yr(t, \"x\")) ? r && Ie === r ? \"scale\" === e ? Ed : Dd : (Ie = r || {}) && (\"scale\" === e ? Fd : Gd) : t.style && !u(t.style[e]) ? Bd : ~e.indexOf(\"-\") ? Cd : ne(t, e);\n },\n core: {\n _removeProperty: Xd,\n _getMatrix: ke\n }\n };\n ze.utils.checkPrefix = mr, ze.core.getStyleSaver = Md, Rr = ha((Er = \"x,y,z,scale,scaleX,scaleY,xPercent,yPercent\") + \",\" + (Dr = \"rotation,rotationX,rotationY,skewX,skewY\") + \",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective\", function (t) {\n ar[t] = 1;\n }), ha(Dr, function (t) {\n q.units[t] = \"deg\", xr[t] = 1;\n }), dr[Rr[13]] = Er + \",\" + Dr, ha(\"0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY\", function (t) {\n var e = t.split(\":\");\n dr[e[1]] = Rr[e[0]];\n }), ha(\"x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective\", function (t) {\n q.units[t] = \"px\";\n }), ze.registerPlugin(Fr);\n var Lr = ze.registerPlugin(Fr) || ze,\n Ir = Lr.core.Tween;\n e.Back = Ze, e.Bounce = er, e.CSSPlugin = Fr, e.Circ = nr, e.Cubic = Qe, e.Elastic = $e, e.Expo = ir, e.Linear = Ge, e.Power0 = qe, e.Power1 = Ve, e.Power2 = Ue, e.Power3 = Xe, e.Power4 = Ne, e.Quad = We, e.Quart = Ke, e.Quint = Je, e.Sine = rr, e.SteppedEase = tr, e.Strong = He, e.TimelineLite = Xt, e.TimelineMax = Xt, e.TweenLite = $t, e.TweenMax = Ir, e.default = Lr, e.gsap = Lr;\n if (typeof window === \"undefined\" || window !== e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n } else {\n delete e.default;\n }\n});","'use strict';\n\nvar $defineProperty = require('es-define-property');\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n return !!$defineProperty;\n};\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n // node v0.6 has a bug where array lengths can be Set but not Defined\n if (!$defineProperty) {\n return null;\n }\n try {\n return $defineProperty([], 'length', {\n value: 1\n }).length !== 1;\n } catch (e) {\n // In Firefox 4-22, defining length on an array throws an exception.\n return true;\n }\n};\nmodule.exports = hasPropertyDescriptors;","'use strict';\n\nvar test = {\n __proto__: null,\n foo: {}\n};\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n // @ts-expect-error: TS errors on an inherited property for some reason\n return {\n __proto__: test\n }.foo === test.foo && !(test instanceof $Object);\n};","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\nmodule.exports = function hasNativeSymbols() {\n if (typeof origSymbol !== 'function') {\n return false;\n }\n if (typeof Symbol !== 'function') {\n return false;\n }\n if (typeof origSymbol('foo') !== 'symbol') {\n return false;\n }\n if (typeof Symbol('bar') !== 'symbol') {\n return false;\n }\n return hasSymbolSham();\n};","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') {\n return false;\n }\n if (typeof Symbol.iterator === 'symbol') {\n return true;\n }\n var obj = {};\n var sym = Symbol('test');\n var symObj = Object(sym);\n if (typeof sym === 'string') {\n return false;\n }\n if (Object.prototype.toString.call(sym) !== '[object Symbol]') {\n return false;\n }\n if (Object.prototype.toString.call(symObj) !== '[object Symbol]') {\n return false;\n }\n\n // temp disabled per https://github.com/ljharb/object.assign/issues/17\n // if (sym instanceof Symbol) { return false; }\n // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n // if (!(symObj instanceof Symbol)) { return false; }\n\n // if (typeof Symbol.prototype.toString !== 'function') { return false; }\n // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n var symVal = 42;\n obj[sym] = symVal;\n for (sym in obj) {\n return false;\n } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) {\n return false;\n }\n if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) {\n return false;\n }\n var syms = Object.getOwnPropertySymbols(obj);\n if (syms.length !== 1 || syms[0] !== sym) {\n return false;\n }\n if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {\n return false;\n }\n if (typeof Object.getOwnPropertyDescriptor === 'function') {\n var descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n if (descriptor.value !== symVal || descriptor.enumerable !== true) {\n return false;\n }\n }\n return true;\n};","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n var keys = getOwnPropertyNames(sourceComponent);\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n return targetComponent;\n}\nmodule.exports = hoistNonReactStatics;","require(\"core-js/modules/es.array.sort.js\");\n/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\n *\n * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n */\n(function () {\n 'use strict';\n\n // Exit early if we're not running in a browser.\n if (typeof window !== 'object') {\n return;\n }\n\n // Exit early if all IntersectionObserver and IntersectionObserverEntry\n // features are natively supported.\n if ('IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', {\n get: function get() {\n return this.intersectionRatio > 0;\n }\n });\n }\n return;\n }\n\n /**\n * Returns the embedding frame element, if any.\n * @param {!Document} doc\n * @return {!Element}\n */\n function getFrameElement(doc) {\n try {\n return doc.defaultView && doc.defaultView.frameElement || null;\n } catch (e) {\n // Ignore the error.\n return null;\n }\n }\n\n /**\n * A local reference to the root document.\n */\n var document = function (startDoc) {\n var doc = startDoc;\n var frame = getFrameElement(doc);\n while (frame) {\n doc = frame.ownerDocument;\n frame = getFrameElement(doc);\n }\n return doc;\n }(window.document);\n\n /**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observing a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\n var registry = [];\n\n /**\n * The signal updater for cross-origin intersection. When not null, it means\n * that the polyfill is configured to work in a cross-origin mode.\n * @type {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\n var crossOriginUpdater = null;\n\n /**\n * The current cross-origin intersection. Only used in the cross-origin mode.\n * @type {DOMRect|ClientRect}\n */\n var crossOriginRect = null;\n\n /**\n * Creates the global IntersectionObserverEntry constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\n function IntersectionObserverEntry(entry) {\n this.time = entry.time;\n this.target = entry.target;\n this.rootBounds = ensureDOMRect(entry.rootBounds);\n this.boundingClientRect = ensureDOMRect(entry.boundingClientRect);\n this.intersectionRect = ensureDOMRect(entry.intersectionRect || getEmptyRect());\n this.isIntersecting = !!entry.intersectionRect;\n\n // Calculates the intersection ratio.\n var targetRect = this.boundingClientRect;\n var targetArea = targetRect.width * targetRect.height;\n var intersectionRect = this.intersectionRect;\n var intersectionArea = intersectionRect.width * intersectionRect.height;\n\n // Sets intersection ratio.\n if (targetArea) {\n // Round the intersection ratio to avoid floating point math issues:\n // https://github.com/w3c/IntersectionObserver/issues/324\n this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n } else {\n // If area is zero and is intersecting, sets to 1, otherwise to 0\n this.intersectionRatio = this.isIntersecting ? 1 : 0;\n }\n }\n\n /**\n * Creates the global IntersectionObserver constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n * changes have queued. The function is not invoked if the queue has\n * been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\n function IntersectionObserver(callback, opt_options) {\n var options = opt_options || {};\n if (typeof callback != 'function') {\n throw new Error('callback must be a function');\n }\n if (options.root && options.root.nodeType != 1 && options.root.nodeType != 9) {\n throw new Error('root must be a Document or Element');\n }\n\n // Binds and throttles `this._checkForIntersections`.\n this._checkForIntersections = throttle(this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n\n // Private properties.\n this._callback = callback;\n this._observationTargets = [];\n this._queuedEntries = [];\n this._rootMarginValues = this._parseRootMargin(options.rootMargin);\n\n // Public properties.\n this.thresholds = this._initThresholds(options.threshold);\n this.root = options.root || null;\n this.rootMargin = this._rootMarginValues.map(function (margin) {\n return margin.value + margin.unit;\n }).join(' ');\n\n /** @private @const {!Array} */\n this._monitoringDocuments = [];\n /** @private @const {!Array} */\n this._monitoringUnsubscribes = [];\n }\n\n /**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\n IntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n\n /**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\n IntersectionObserver.prototype.POLL_INTERVAL = null;\n\n /**\n * Use a mutation observer on the root element\n * to detect intersection changes.\n */\n IntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\n\n /**\n * Sets up the polyfill in the cross-origin mode. The result is the\n * updater function that accepts two arguments: `boundingClientRect` and\n * `intersectionRect` - just as these fields would be available to the\n * parent via `IntersectionObserverEntry`. This function should be called\n * each time the iframe receives intersection information from the parent\n * window, e.g. via messaging.\n * @return {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\n IntersectionObserver._setupCrossOriginUpdater = function () {\n if (!crossOriginUpdater) {\n /**\n * @param {DOMRect|ClientRect} boundingClientRect\n * @param {DOMRect|ClientRect} intersectionRect\n */\n crossOriginUpdater = function crossOriginUpdater(boundingClientRect, intersectionRect) {\n if (!boundingClientRect || !intersectionRect) {\n crossOriginRect = getEmptyRect();\n } else {\n crossOriginRect = convertFromParentRect(boundingClientRect, intersectionRect);\n }\n registry.forEach(function (observer) {\n observer._checkForIntersections();\n });\n };\n }\n return crossOriginUpdater;\n };\n\n /**\n * Resets the cross-origin mode.\n */\n IntersectionObserver._resetCrossOriginUpdater = function () {\n crossOriginUpdater = null;\n crossOriginRect = null;\n };\n\n /**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\n IntersectionObserver.prototype.observe = function (target) {\n var isTargetAlreadyObserved = this._observationTargets.some(function (item) {\n return item.element == target;\n });\n if (isTargetAlreadyObserved) {\n return;\n }\n if (!(target && target.nodeType == 1)) {\n throw new Error('target must be an Element');\n }\n this._registerInstance();\n this._observationTargets.push({\n element: target,\n entry: null\n });\n this._monitorIntersections(target.ownerDocument);\n this._checkForIntersections();\n };\n\n /**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\n IntersectionObserver.prototype.unobserve = function (target) {\n this._observationTargets = this._observationTargets.filter(function (item) {\n return item.element != target;\n });\n this._unmonitorIntersections(target.ownerDocument);\n if (this._observationTargets.length == 0) {\n this._unregisterInstance();\n }\n };\n\n /**\n * Stops observing all target elements for intersection changes.\n */\n IntersectionObserver.prototype.disconnect = function () {\n this._observationTargets = [];\n this._unmonitorAllIntersections();\n this._unregisterInstance();\n };\n\n /**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\n IntersectionObserver.prototype.takeRecords = function () {\n var records = this._queuedEntries.slice();\n this._queuedEntries = [];\n return records;\n };\n\n /**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n * a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\n IntersectionObserver.prototype._initThresholds = function (opt_threshold) {\n var threshold = opt_threshold || [0];\n if (!Array.isArray(threshold)) threshold = [threshold];\n return threshold.sort().filter(function (t, i, a) {\n if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n throw new Error('threshold must be a number between 0 and 1 inclusively');\n }\n return t !== a[i - 1];\n });\n };\n\n /**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n * defaulting to '0px'.\n * @return {Array} An array of margin objects with the keys\n * value and unit.\n */\n IntersectionObserver.prototype._parseRootMargin = function (opt_rootMargin) {\n var marginString = opt_rootMargin || '0px';\n var margins = marginString.split(/\\s+/).map(function (margin) {\n var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n if (!parts) {\n throw new Error('rootMargin must be specified in pixels or percent');\n }\n return {\n value: parseFloat(parts[1]),\n unit: parts[2]\n };\n });\n\n // Handles shorthand.\n margins[1] = margins[1] || margins[0];\n margins[2] = margins[2] || margins[0];\n margins[3] = margins[3] || margins[1];\n return margins;\n };\n\n /**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibility state is visible.\n * @param {!Document} doc\n * @private\n */\n IntersectionObserver.prototype._monitorIntersections = function (doc) {\n var win = doc.defaultView;\n if (!win) {\n // Already destroyed.\n return;\n }\n if (this._monitoringDocuments.indexOf(doc) != -1) {\n // Already monitoring.\n return;\n }\n\n // Private state for monitoring.\n var callback = this._checkForIntersections;\n var monitoringInterval = null;\n var domObserver = null;\n\n // If a poll interval is set, use polling instead of listening to\n // resize and scroll events or DOM mutations.\n if (this.POLL_INTERVAL) {\n monitoringInterval = win.setInterval(callback, this.POLL_INTERVAL);\n } else {\n addEvent(win, 'resize', callback, true);\n addEvent(doc, 'scroll', callback, true);\n if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in win) {\n domObserver = new win.MutationObserver(callback);\n domObserver.observe(doc, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n }\n this._monitoringDocuments.push(doc);\n this._monitoringUnsubscribes.push(function () {\n // Get the window object again. When a friendly iframe is destroyed, it\n // will be null.\n var win = doc.defaultView;\n if (win) {\n if (monitoringInterval) {\n win.clearInterval(monitoringInterval);\n }\n removeEvent(win, 'resize', callback, true);\n }\n removeEvent(doc, 'scroll', callback, true);\n if (domObserver) {\n domObserver.disconnect();\n }\n });\n\n // Also monitor the parent.\n var rootDoc = this.root && (this.root.ownerDocument || this.root) || document;\n if (doc != rootDoc) {\n var frame = getFrameElement(doc);\n if (frame) {\n this._monitorIntersections(frame.ownerDocument);\n }\n }\n };\n\n /**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\n IntersectionObserver.prototype._unmonitorIntersections = function (doc) {\n var index = this._monitoringDocuments.indexOf(doc);\n if (index == -1) {\n return;\n }\n var rootDoc = this.root && (this.root.ownerDocument || this.root) || document;\n\n // Check if any dependent targets are still remaining.\n var hasDependentTargets = this._observationTargets.some(function (item) {\n var itemDoc = item.element.ownerDocument;\n // Target is in this context.\n if (itemDoc == doc) {\n return true;\n }\n // Target is nested in this context.\n while (itemDoc && itemDoc != rootDoc) {\n var frame = getFrameElement(itemDoc);\n itemDoc = frame && frame.ownerDocument;\n if (itemDoc == doc) {\n return true;\n }\n }\n return false;\n });\n if (hasDependentTargets) {\n return;\n }\n\n // Unsubscribe.\n var unsubscribe = this._monitoringUnsubscribes[index];\n this._monitoringDocuments.splice(index, 1);\n this._monitoringUnsubscribes.splice(index, 1);\n unsubscribe();\n\n // Also unmonitor the parent.\n if (doc != rootDoc) {\n var frame = getFrameElement(doc);\n if (frame) {\n this._unmonitorIntersections(frame.ownerDocument);\n }\n }\n };\n\n /**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\n IntersectionObserver.prototype._unmonitorAllIntersections = function () {\n var unsubscribes = this._monitoringUnsubscribes.slice(0);\n this._monitoringDocuments.length = 0;\n this._monitoringUnsubscribes.length = 0;\n for (var i = 0; i < unsubscribes.length; i++) {\n unsubscribes[i]();\n }\n };\n\n /**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\n IntersectionObserver.prototype._checkForIntersections = function () {\n if (!this.root && crossOriginUpdater && !crossOriginRect) {\n // Cross origin monitoring, but no initial data available yet.\n return;\n }\n var rootIsInDom = this._rootIsInDom();\n var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n this._observationTargets.forEach(function (item) {\n var target = item.element;\n var targetRect = getBoundingClientRect(target);\n var rootContainsTarget = this._rootContainsTarget(target);\n var oldEntry = item.entry;\n var intersectionRect = rootIsInDom && rootContainsTarget && this._computeTargetAndRootIntersection(target, targetRect, rootRect);\n var rootBounds = null;\n if (!this._rootContainsTarget(target)) {\n rootBounds = getEmptyRect();\n } else if (!crossOriginUpdater || this.root) {\n rootBounds = rootRect;\n }\n var newEntry = item.entry = new IntersectionObserverEntry({\n time: now(),\n target: target,\n boundingClientRect: targetRect,\n rootBounds: rootBounds,\n intersectionRect: intersectionRect\n });\n if (!oldEntry) {\n this._queuedEntries.push(newEntry);\n } else if (rootIsInDom && rootContainsTarget) {\n // If the new entry intersection ratio has crossed any of the\n // thresholds, add a new entry.\n if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n this._queuedEntries.push(newEntry);\n }\n } else {\n // If the root is not in the DOM or target is not contained within\n // root but the previous entry for this target had an intersection,\n // add a new record indicating removal.\n if (oldEntry && oldEntry.isIntersecting) {\n this._queuedEntries.push(newEntry);\n }\n }\n }, this);\n if (this._queuedEntries.length) {\n this._callback(this.takeRecords(), this);\n }\n };\n\n /**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} targetRect The bounding rect of the target.\n * @param {Object} rootRect The bounding rect of the root after being\n * expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n * intersection is found.\n * @private\n */\n IntersectionObserver.prototype._computeTargetAndRootIntersection = function (target, targetRect, rootRect) {\n // If the element isn't displayed, an intersection can't happen.\n if (window.getComputedStyle(target).display == 'none') return;\n var intersectionRect = targetRect;\n var parent = getParentNode(target);\n var atRoot = false;\n while (!atRoot && parent) {\n var parentRect = null;\n var parentComputedStyle = parent.nodeType == 1 ? window.getComputedStyle(parent) : {};\n\n // If the parent isn't displayed, an intersection can't happen.\n if (parentComputedStyle.display == 'none') return null;\n if (parent == this.root || parent.nodeType == /* DOCUMENT */9) {\n atRoot = true;\n if (parent == this.root || parent == document) {\n if (crossOriginUpdater && !this.root) {\n if (!crossOriginRect || crossOriginRect.width == 0 && crossOriginRect.height == 0) {\n // A 0-size cross-origin intersection means no-intersection.\n parent = null;\n parentRect = null;\n intersectionRect = null;\n } else {\n parentRect = crossOriginRect;\n }\n } else {\n parentRect = rootRect;\n }\n } else {\n // Check if there's a frame that can be navigated to.\n var frame = getParentNode(parent);\n var frameRect = frame && getBoundingClientRect(frame);\n var frameIntersect = frame && this._computeTargetAndRootIntersection(frame, frameRect, rootRect);\n if (frameRect && frameIntersect) {\n parent = frame;\n parentRect = convertFromParentRect(frameRect, frameIntersect);\n } else {\n parent = null;\n intersectionRect = null;\n }\n }\n } else {\n // If the element has a non-visible overflow, and it's not the \n // or element, update the intersection rect.\n // Note: and cannot be clipped to a rect that's not also\n // the document rect, so no need to compute a new intersection.\n var doc = parent.ownerDocument;\n if (parent != doc.body && parent != doc.documentElement && parentComputedStyle.overflow != 'visible') {\n parentRect = getBoundingClientRect(parent);\n }\n }\n\n // If either of the above conditionals set a new parentRect,\n // calculate new intersection data.\n if (parentRect) {\n intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n }\n if (!intersectionRect) break;\n parent = parent && getParentNode(parent);\n }\n return intersectionRect;\n };\n\n /**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {ClientRect} The expanded root rect.\n * @private\n */\n IntersectionObserver.prototype._getRootRect = function () {\n var rootRect;\n if (this.root && !isDoc(this.root)) {\n rootRect = getBoundingClientRect(this.root);\n } else {\n // Use / instead of window since scroll bars affect size.\n var doc = isDoc(this.root) ? this.root : document;\n var html = doc.documentElement;\n var body = doc.body;\n rootRect = {\n top: 0,\n left: 0,\n right: html.clientWidth || body.clientWidth,\n width: html.clientWidth || body.clientWidth,\n bottom: html.clientHeight || body.clientHeight,\n height: html.clientHeight || body.clientHeight\n };\n }\n return this._expandRectByRootMargin(rootRect);\n };\n\n /**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {DOMRect|ClientRect} rect The rect object to expand.\n * @return {ClientRect} The expanded rect.\n * @private\n */\n IntersectionObserver.prototype._expandRectByRootMargin = function (rect) {\n var margins = this._rootMarginValues.map(function (margin, i) {\n return margin.unit == 'px' ? margin.value : margin.value * (i % 2 ? rect.width : rect.height) / 100;\n });\n var newRect = {\n top: rect.top - margins[0],\n right: rect.right + margins[1],\n bottom: rect.bottom + margins[2],\n left: rect.left - margins[3]\n };\n newRect.width = newRect.right - newRect.left;\n newRect.height = newRect.bottom - newRect.top;\n return newRect;\n };\n\n /**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n * particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n * particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\n IntersectionObserver.prototype._hasCrossedThreshold = function (oldEntry, newEntry) {\n // To make comparing easier, an entry that has a ratio of 0\n // but does not actually intersect is given a value of -1\n var oldRatio = oldEntry && oldEntry.isIntersecting ? oldEntry.intersectionRatio || 0 : -1;\n var newRatio = newEntry.isIntersecting ? newEntry.intersectionRatio || 0 : -1;\n\n // Ignore unchanged ratios\n if (oldRatio === newRatio) return;\n for (var i = 0; i < this.thresholds.length; i++) {\n var threshold = this.thresholds[i];\n\n // Return true if an entry matches a threshold or if the new ratio\n // and the old ratio are on the opposite sides of a threshold.\n if (threshold == oldRatio || threshold == newRatio || threshold < oldRatio !== threshold < newRatio) {\n return true;\n }\n }\n };\n\n /**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\n IntersectionObserver.prototype._rootIsInDom = function () {\n return !this.root || containsDeep(document, this.root);\n };\n\n /**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\n IntersectionObserver.prototype._rootContainsTarget = function (target) {\n var rootDoc = this.root && (this.root.ownerDocument || this.root) || document;\n return containsDeep(rootDoc, target) && (!this.root || rootDoc == target.ownerDocument);\n };\n\n /**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\n IntersectionObserver.prototype._registerInstance = function () {\n if (registry.indexOf(this) < 0) {\n registry.push(this);\n }\n };\n\n /**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\n IntersectionObserver.prototype._unregisterInstance = function () {\n var index = registry.indexOf(this);\n if (index != -1) registry.splice(index, 1);\n };\n\n /**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\n function now() {\n return window.performance && performance.now && performance.now();\n }\n\n /**\n * Throttles a function and delays its execution, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n * function can be called again.\n * @return {Function} The throttled function.\n */\n function throttle(fn, timeout) {\n var timer = null;\n return function () {\n if (!timer) {\n timer = setTimeout(function () {\n fn();\n timer = null;\n }, timeout);\n }\n };\n }\n\n /**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n * phase. Note: this only works in modern browsers.\n */\n function addEvent(node, event, fn, opt_useCapture) {\n if (typeof node.addEventListener == 'function') {\n node.addEventListener(event, fn, opt_useCapture || false);\n } else if (typeof node.attachEvent == 'function') {\n node.attachEvent('on' + event, fn);\n }\n }\n\n /**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n * flag set to true, it should be set to true here in order to remove it.\n */\n function removeEvent(node, event, fn, opt_useCapture) {\n if (typeof node.removeEventListener == 'function') {\n node.removeEventListener(event, fn, opt_useCapture || false);\n } else if (typeof node.detachEvent == 'function') {\n node.detachEvent('on' + event, fn);\n }\n }\n\n /**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object|?ClientRect} The intersection rect or undefined if no\n * intersection is found.\n */\n function computeRectIntersection(rect1, rect2) {\n var top = Math.max(rect1.top, rect2.top);\n var bottom = Math.min(rect1.bottom, rect2.bottom);\n var left = Math.max(rect1.left, rect2.left);\n var right = Math.min(rect1.right, rect2.right);\n var width = right - left;\n var height = bottom - top;\n return width >= 0 && height >= 0 && {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n width: width,\n height: height\n } || null;\n }\n\n /**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {DOMRect|ClientRect} The (possibly shimmed) rect of the element.\n */\n function getBoundingClientRect(el) {\n var rect;\n try {\n rect = el.getBoundingClientRect();\n } catch (err) {\n // Ignore Windows 7 IE11 \"Unspecified error\"\n // https://github.com/w3c/IntersectionObserver/pull/205\n }\n if (!rect) return getEmptyRect();\n\n // Older IE\n if (!(rect.width && rect.height)) {\n rect = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n }\n return rect;\n }\n\n /**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {ClientRect} The empty rect.\n */\n function getEmptyRect() {\n return {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0\n };\n }\n\n /**\n * Ensure that the result has all of the necessary fields of the DOMRect.\n * Specifically this ensures that `x` and `y` fields are set.\n *\n * @param {?DOMRect|?ClientRect} rect\n * @return {?DOMRect}\n */\n function ensureDOMRect(rect) {\n // A `DOMRect` object has `x` and `y` fields.\n if (!rect || 'x' in rect) {\n return rect;\n }\n // A IE's `ClientRect` type does not have `x` and `y`. The same is the case\n // for internally calculated Rect objects. For the purposes of\n // `IntersectionObserver`, it's sufficient to simply mirror `left` and `top`\n // for these fields.\n return {\n top: rect.top,\n y: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n right: rect.right,\n width: rect.width,\n height: rect.height\n };\n }\n\n /**\n * Inverts the intersection and bounding rect from the parent (frame) BCR to\n * the local BCR space.\n * @param {DOMRect|ClientRect} parentBoundingRect The parent's bound client rect.\n * @param {DOMRect|ClientRect} parentIntersectionRect The parent's own intersection rect.\n * @return {ClientRect} The local root bounding rect for the parent's children.\n */\n function convertFromParentRect(parentBoundingRect, parentIntersectionRect) {\n var top = parentIntersectionRect.top - parentBoundingRect.top;\n var left = parentIntersectionRect.left - parentBoundingRect.left;\n return {\n top: top,\n left: left,\n height: parentIntersectionRect.height,\n width: parentIntersectionRect.width,\n bottom: top + parentIntersectionRect.height,\n right: left + parentIntersectionRect.width\n };\n }\n\n /**\n * Checks to see if a parent element contains a child element (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\n function containsDeep(parent, child) {\n var node = child;\n while (node) {\n if (node == parent) return true;\n node = getParentNode(node);\n }\n return false;\n }\n\n /**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\n function getParentNode(node) {\n var parent = node.parentNode;\n if (node.nodeType == /* DOCUMENT */9 && node != document) {\n // If this node is a document node, look for the embedding frame.\n return getFrameElement(node);\n }\n\n // If the parent has element that is assigned through shadow root slot\n if (parent && parent.assignedSlot) {\n parent = parent.assignedSlot.parentNode;\n }\n if (parent && parent.nodeType == 11 && parent.host) {\n // If the parent is a shadow root, return the host element.\n return parent.host;\n }\n return parent;\n }\n\n /**\n * Returns true if `node` is a Document.\n * @param {!Node} node\n * @returns {boolean}\n */\n function isDoc(node) {\n return node && node.nodeType === 9;\n }\n\n // Exposes the constructors globally.\n window.IntersectionObserver = IntersectionObserver;\n window.IntersectionObserverEntry = IntersectionObserverEntry;\n})();","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __rest, __spreadArray } from \"tslib\";\nimport { memoize, strategies } from '@formatjs/fast-memoize';\nimport { parse } from '@formatjs/icu-messageformat-parser';\nimport { formatToParts, PART_TYPE } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, c1 || {}), c2 || {}), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), c2[k] || {});\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function create() {\n return {\n get: function get(key) {\n return store[key];\n },\n set: function set(key, value) {\n store[key] = value;\n }\n };\n }\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) {\n cache = {\n number: {},\n dateTime: {},\n pluralRules: {}\n };\n }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic\n })\n };\n}\nvar IntlMessageFormat = /** @class */function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n if (locales === void 0) {\n locales = IntlMessageFormat.defaultLocale;\n }\n var _this = this;\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {}\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length || part.type !== PART_TYPE.literal || typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n } else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () {\n var _a;\n return {\n locale: ((_a = _this.resolvedLocale) === null || _a === void 0 ? void 0 : _a.toString()) || Intl.NumberFormat.supportedLocalesOf(_this.locales)[0]\n };\n };\n this.getAst = function () {\n return _this.ast;\n };\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.resolvedLocale = IntlMessageFormat.resolveLocale(locales);\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n var _a = opts || {},\n formatters = _a.formatters,\n parseOpts = __rest(_a, [\"formatters\"]);\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, __assign(__assign({}, parseOpts), {\n locale: this.resolvedLocale\n }));\n } else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n this.formatters = opts && opts.formatters || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function get() {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.resolveLocale = function (locales) {\n if (typeof Intl.Locale === 'undefined') {\n return;\n }\n var supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n if (supportedLocales.length > 0) {\n return new Intl.Locale(supportedLocales[0]);\n }\n return new Intl.Locale(typeof locales === 'string' ? locales : locales[0]);\n };\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0\n },\n currency: {\n style: 'currency'\n },\n percent: {\n style: 'percent'\n }\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit'\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric'\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric'\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short'\n }\n }\n };\n return IntlMessageFormat;\n}();\nexport { IntlMessageFormat };","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error);\nexport { FormatError };\nvar InvalidValueError = /** @class */function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError);\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError);\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError);\nexport { MissingValueError };","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTagElement, isTimeElement } from '@formatjs/icu-messageformat-parser';\nimport { ErrorCode, FormatError, InvalidValueError, InvalidValueTypeError, MissingValueError } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart || lastPart.type !== PART_TYPE.literal || part.type !== PART_TYPE.literal) {\n all.push(part);\n } else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue,\n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [{\n type: PART_TYPE.literal,\n value: els[0].value\n }];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue)\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value = typeof value === 'string' || typeof value === 'number' ? String(value) : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string' ? formats.date[el.style] : isDateTimeSkeleton(el.style) ? el.style.parsedOptions : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getDateTimeFormat(locales, style).format(value)\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string' ? formats.time[el.style] : isDateTimeSkeleton(el.style) ? el.style.parsedOptions : formats.time.medium;\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getDateTimeFormat(locales, style).format(value)\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string' ? formats.number[el.style] : isNumberSkeleton(el.style) ? el.style.parsedOptions : undefined;\n if (style && style.scale) {\n value = value * (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales, style).format(value)\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children,\n value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) {\n return p.value;\n }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(value)];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters.getPluralRules(locales, {\n type: el.pluralType\n }).select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}","require(\"core-js/modules/esnext.global-this.js\");\nvar hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol') ? Symbol.toStringTag : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype // eslint-disable-line no-proto\n? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n} : null);\nfunction addNumericSeparator(num, str) {\n if (num === Infinity || num === -Infinity || num !== num || num && num > -1000 && num < 1000 || $test.call(/e/, str)) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\nvar quotes = {\n __proto__: null,\n 'double': '\"',\n single: \"'\"\n};\nvar quoteREs = {\n __proto__: null,\n 'double': /([\"\\\\])/g,\n single: /(['\\\\])/g\n};\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n if (has(opts, 'quoteStyle') && !has(quotes, opts.quoteStyle)) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number' ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n if (has(opts, 'indent') && opts.indent !== null && opts.indent !== '\\t' && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') {\n depth = 0;\n }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n var indent = getIndent(opts, depth);\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n if (typeof obj === 'function' && !isRegExp(obj)) {\n // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) {\n s += '...';\n }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) {\n return '[]';\n }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) {\n return '[' + String(obj) + ']';\n }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, {\n depth: maxDepth - depth\n });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (typeof globalThis !== 'undefined' && obj === globalThis || typeof global !== 'undefined' && obj === global) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) {\n return tag + '{}';\n }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\nfunction wrapQuotes(s, defaultStyle, opts) {\n var style = opts.quoteStyle || defaultStyle;\n var quoteChar = quotes[style];\n return quoteChar + s + quoteChar;\n}\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\nfunction isArray(obj) {\n return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));\n}\nfunction isDate(obj) {\n return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));\n}\nfunction isRegExp(obj) {\n return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));\n}\nfunction isError(obj) {\n return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));\n}\nfunction isString(obj) {\n return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));\n}\nfunction isNumber(obj) {\n return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));\n}\nfunction isBoolean(obj) {\n return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));\n}\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) {\n return key in this;\n};\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\nfunction nameOf(f) {\n if (f.name) {\n return f.name;\n }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) {\n return m[1];\n }\n return null;\n}\nfunction indexOf(xs, x) {\n if (xs.indexOf) {\n return xs.indexOf(x);\n }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) {\n return i;\n }\n }\n return -1;\n}\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\nfunction isElement(x) {\n if (!x || typeof x !== 'object') {\n return false;\n }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n var quoteRE = quoteREs[opts.quoteStyle || 'single'];\n quoteRE.lastIndex = 0;\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, quoteRE, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) {\n return '\\\\' + x;\n }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) {\n return '';\n }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n for (var key in obj) {\n // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) {\n continue;\n } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) {\n continue;\n } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function RFC1738(value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function RFC3986(value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};","'use strict';\n\nvar utils = require('./utils');\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar defaults = {\n allowDots: false,\n allowEmptyArrays: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decodeDotInKeys: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n duplicates: 'combine',\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictDepth: false,\n strictNullHandling: false\n};\nvar interpretNumericEntities = function interpretNumericEntities(str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\nvar parseArrayValue = function parseArrayValue(val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {\n __proto__: null\n };\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(parseArrayValue(part.slice(pos + 1), options), function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n });\n }\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n var existing = has.call(obj, key);\n if (existing && options.duplicates === 'combine') {\n obj[key] = utils.combine(obj[key], val);\n } else if (!existing || options.duplicates === 'last') {\n obj[key] = val;\n }\n }\n return obj;\n};\nvar parseObject = function parseObject(chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n if (root === '[]' && options.parseArrays) {\n obj = options.allowEmptyArrays && (leaf === '' || options.strictNullHandling && leaf === null) ? [] : [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n var index = parseInt(decodedRoot, 10);\n if (!options.parseArrays && decodedRoot === '') {\n obj = {\n 0: leaf\n };\n } else if (!isNaN(index) && root !== decodedRoot && String(index) === decodedRoot && index >= 0 && options.parseArrays && index <= options.arrayLimit) {\n obj = [];\n obj[index] = leaf;\n } else if (decodedRoot !== '__proto__') {\n obj[decodedRoot] = leaf;\n }\n }\n leaf = obj;\n }\n return leaf;\n};\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, check strictDepth option for throw, else just add whatever is left\n\n if (segment) {\n if (options.strictDepth === true) {\n throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');\n }\n keys.push('[' + key.slice(segment.index) + ']');\n }\n return parseObject(keys, val, options, valuesParsed);\n};\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n throw new TypeError('The duplicates option must be either combine, first, or last');\n }\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n return {\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: typeof opts.depth === 'number' || opts.depth === false ? +opts.depth : defaults.depth,\n duplicates: duplicates,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n if (options.allowSparse === true) {\n return obj;\n }\n return utils.compact(obj);\n};","'use strict';\n\nrequire(\"core-js/modules/es.array.sort.js\");\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function pushToArray(arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\nvar toISO = Date.prototype.toISOString;\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n allowEmptyArrays: false,\n arrayFormat: 'indices',\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encodeDotInKeys: false,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean' || typeof v === 'symbol' || typeof v === 'bigint';\n};\nvar sentinel = {};\nvar stringify = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) {\n var obj = object;\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n obj = '';\n }\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n var values = [];\n if (typeof obj === 'undefined') {\n return values;\n }\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{\n value: obj.length > 0 ? obj.join(',') || null : void undefined\n }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n var encodedPrefix = encodeDotInKeys ? prefix.replace(/\\./g, '%2E') : prefix;\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n return adjustedPrefix + '[]';\n }\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n if (skipNulls && value === null) {\n continue;\n }\n var encodedKey = allowDots && encodeDotInKeys ? key.replace(/\\./g, '%2E') : key;\n var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(value, keyPrefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel));\n }\n return values;\n};\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n var arrayFormat;\n if (opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if ('indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = defaults.arrayFormat;\n }\n if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n arrayFormat: arrayFormat,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n commaRoundTrip: opts.commaRoundTrip,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n var objKeys;\n var filter;\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n var keys = [];\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(obj[key], key, generateArrayPrefix, commaRoundTrip, options.allowEmptyArrays, options.strictNullHandling, options.skipNulls, options.encodeDotInKeys, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel));\n }\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n return joined.length > 0 ? prefix + joined : '';\n};","'use strict';\n\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar hexTable = function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n return array;\n}();\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n if (isArray(obj)) {\n var compacted = [];\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n item.obj[item.prop] = compacted;\n }\n }\n};\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n return obj;\n};\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n return target;\n }\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\nvar decode = function decode(str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n var out = '';\n for (var j = 0; j < string.length; j += limit) {\n var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n var arr = [];\n for (var i = 0; i < segment.length; ++i) {\n var c = segment.charCodeAt(i);\n if (c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || c >= 0x30 && c <= 0x39 // 0-9\n || c >= 0x41 && c <= 0x5A // a-z\n || c >= 0x61 && c <= 0x7A // A-Z\n || format === formats.RFC1738 && (c === 0x28 || c === 0x29) // ( )\n ) {\n arr[arr.length] = segment.charAt(i);\n continue;\n }\n if (c < 0x80) {\n arr[arr.length] = hexTable[c];\n continue;\n }\n if (c < 0x800) {\n arr[arr.length] = hexTable[0xC0 | c >> 6] + hexTable[0x80 | c & 0x3F];\n continue;\n }\n if (c < 0xD800 || c >= 0xE000) {\n arr[arr.length] = hexTable[0xE0 | c >> 12] + hexTable[0x80 | c >> 6 & 0x3F] + hexTable[0x80 | c & 0x3F];\n continue;\n }\n i += 1;\n c = 0x10000 + ((c & 0x3FF) << 10 | segment.charCodeAt(i) & 0x3FF);\n arr[arr.length] = hexTable[0xF0 | c >> 18] + hexTable[0x80 | c >> 12 & 0x3F] + hexTable[0x80 | c >> 6 & 0x3F] + hexTable[0x80 | c & 0x3F];\n }\n out += arr.join('');\n }\n return out;\n};\nvar compact = function compact(value) {\n var queue = [{\n obj: {\n o: value\n },\n prop: 'o'\n }];\n var refs = [];\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({\n obj: obj,\n prop: key\n });\n refs.push(val);\n }\n }\n }\n compactQueue(queue);\n return value;\n};\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\nvar React = require('react');\nvar React__default = _interopDefault(React);\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\nvar ClientUAInstance = new UAParser();\nvar browser = ClientUAInstance.getBrowser();\nvar cpu = ClientUAInstance.getCPU();\nvar device = ClientUAInstance.getDevice();\nvar engine = ClientUAInstance.getEngine();\nvar os = ClientUAInstance.getOS();\nvar ua = ClientUAInstance.getUA();\nvar setUa = function setUa(userAgentString) {\n return ClientUAInstance.setUA(userAgentString);\n};\nvar parseUserAgent = function parseUserAgent(userAgent) {\n if (!userAgent) {\n console.error('No userAgent string was provided');\n return;\n }\n var UserAgentInstance = new UAParser(userAgent);\n return {\n UA: UserAgentInstance,\n browser: UserAgentInstance.getBrowser(),\n cpu: UserAgentInstance.getCPU(),\n device: UserAgentInstance.getDevice(),\n engine: UserAgentInstance.getEngine(),\n os: UserAgentInstance.getOS(),\n ua: UserAgentInstance.getUA(),\n setUserAgent: function setUserAgent(userAgentString) {\n return UserAgentInstance.setUA(userAgentString);\n }\n };\n};\nvar UAHelper = /*#__PURE__*/Object.freeze({\n ClientUAInstance: ClientUAInstance,\n browser: browser,\n cpu: cpu,\n device: device,\n engine: engine,\n os: os,\n ua: ua,\n setUa: setUa,\n parseUserAgent: parseUserAgent\n});\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nvar DeviceTypes = {\n Mobile: 'mobile',\n Tablet: 'tablet',\n SmartTv: 'smarttv',\n Console: 'console',\n Wearable: 'wearable',\n Embedded: 'embedded',\n Browser: undefined\n};\nvar BrowserTypes = {\n Chrome: 'Chrome',\n Firefox: 'Firefox',\n Opera: 'Opera',\n Yandex: 'Yandex',\n Safari: 'Safari',\n InternetExplorer: 'Internet Explorer',\n Edge: 'Edge',\n Chromium: 'Chromium',\n Ie: 'IE',\n MobileSafari: 'Mobile Safari',\n EdgeChromium: 'Edge Chromium',\n MIUI: 'MIUI Browser',\n SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n IOS: 'iOS',\n Android: 'Android',\n WindowsPhone: 'Windows Phone',\n Windows: 'Windows',\n MAC_OS: 'Mac OS'\n};\nvar InitialDeviceTypes = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\nvar checkDeviceType = function checkDeviceType(type) {\n switch (type) {\n case DeviceTypes.Mobile:\n return {\n isMobile: true\n };\n case DeviceTypes.Tablet:\n return {\n isTablet: true\n };\n case DeviceTypes.SmartTv:\n return {\n isSmartTV: true\n };\n case DeviceTypes.Console:\n return {\n isConsole: true\n };\n case DeviceTypes.Wearable:\n return {\n isWearable: true\n };\n case DeviceTypes.Browser:\n return {\n isBrowser: true\n };\n case DeviceTypes.Embedded:\n return {\n isEmbedded: true\n };\n default:\n return InitialDeviceTypes;\n }\n};\nvar setUserAgent = function setUserAgent(userAgent) {\n return setUa(userAgent);\n};\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\nvar browserPayload = function browserPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\nvar smartTvPayload = function smartTvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar wearablePayload = function wearablePayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar embeddedPayload = function embeddedPayload(isEmbedded, device, engine, os, ua) {\n return {\n isEmbedded: isEmbedded,\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nfunction deviceDetect(userAgent) {\n var _ref = userAgent ? parseUserAgent(userAgent) : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n engine = _ref.engine,\n os = _ref.os,\n ua = _ref.ua;\n var type = checkDeviceType(device.type);\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable,\n isEmbedded = type.isEmbedded;\n if (isBrowser) {\n return browserPayload(isBrowser, browser, engine, os, ua);\n }\n if (isSmartTV) {\n return smartTvPayload(isSmartTV, engine, os, ua);\n }\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n if (isWearable) {\n return wearablePayload(isWearable, engine, os, ua);\n }\n if (isEmbedded) {\n return embeddedPayload(isEmbedded, device, engine, os, ua);\n }\n}\nvar isMobileType = function isMobileType(_ref) {\n var type = _ref.type;\n return type === DeviceTypes.Mobile;\n};\nvar isTabletType = function isTabletType(_ref2) {\n var type = _ref2.type;\n return type === DeviceTypes.Tablet;\n};\nvar isMobileAndTabletType = function isMobileAndTabletType(_ref3) {\n var type = _ref3.type;\n return type === DeviceTypes.Mobile || type === DeviceTypes.Tablet;\n};\nvar isSmartTVType = function isSmartTVType(_ref4) {\n var type = _ref4.type;\n return type === DeviceTypes.SmartTv;\n};\nvar isBrowserType = function isBrowserType(_ref5) {\n var type = _ref5.type;\n return type === DeviceTypes.Browser;\n};\nvar isWearableType = function isWearableType(_ref6) {\n var type = _ref6.type;\n return type === DeviceTypes.Wearable;\n};\nvar isConsoleType = function isConsoleType(_ref7) {\n var type = _ref7.type;\n return type === DeviceTypes.Console;\n};\nvar isEmbeddedType = function isEmbeddedType(_ref8) {\n var type = _ref8.type;\n return type === DeviceTypes.Embedded;\n};\nvar getMobileVendor = function getMobileVendor(_ref9) {\n var vendor = _ref9.vendor;\n return setDefaults(vendor);\n};\nvar getMobileModel = function getMobileModel(_ref10) {\n var model = _ref10.model;\n return setDefaults(model);\n};\nvar getDeviceType = function getDeviceType(_ref11) {\n var type = _ref11.type;\n return setDefaults(type, 'browser');\n}; // os types\n\nvar isAndroidType = function isAndroidType(_ref12) {\n var name = _ref12.name;\n return name === OsTypes.Android;\n};\nvar isWindowsType = function isWindowsType(_ref13) {\n var name = _ref13.name;\n return name === OsTypes.Windows;\n};\nvar isMacOsType = function isMacOsType(_ref14) {\n var name = _ref14.name;\n return name === OsTypes.MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType(_ref15) {\n var name = _ref15.name;\n return name === OsTypes.WindowsPhone;\n};\nvar isIOSType = function isIOSType(_ref16) {\n var name = _ref16.name;\n return name === OsTypes.IOS;\n};\nvar getOsVersion = function getOsVersion(_ref17) {\n var version = _ref17.version;\n return setDefaults(version);\n};\nvar getOsName = function getOsName(_ref18) {\n var name = _ref18.name;\n return setDefaults(name);\n}; // browser types\n\nvar isChromeType = function isChromeType(_ref19) {\n var name = _ref19.name;\n return name === BrowserTypes.Chrome;\n};\nvar isFirefoxType = function isFirefoxType(_ref20) {\n var name = _ref20.name;\n return name === BrowserTypes.Firefox;\n};\nvar isChromiumType = function isChromiumType(_ref21) {\n var name = _ref21.name;\n return name === BrowserTypes.Chromium;\n};\nvar isEdgeType = function isEdgeType(_ref22) {\n var name = _ref22.name;\n return name === BrowserTypes.Edge;\n};\nvar isYandexType = function isYandexType(_ref23) {\n var name = _ref23.name;\n return name === BrowserTypes.Yandex;\n};\nvar isSafariType = function isSafariType(_ref24) {\n var name = _ref24.name;\n return name === BrowserTypes.Safari || name === BrowserTypes.MobileSafari;\n};\nvar isMobileSafariType = function isMobileSafariType(_ref25) {\n var name = _ref25.name;\n return name === BrowserTypes.MobileSafari;\n};\nvar isOperaType = function isOperaType(_ref26) {\n var name = _ref26.name;\n return name === BrowserTypes.Opera;\n};\nvar isIEType = function isIEType(_ref27) {\n var name = _ref27.name;\n return name === BrowserTypes.InternetExplorer || name === BrowserTypes.Ie;\n};\nvar isMIUIType = function isMIUIType(_ref28) {\n var name = _ref28.name;\n return name === BrowserTypes.MIUI;\n};\nvar isSamsungBrowserType = function isSamsungBrowserType(_ref29) {\n var name = _ref29.name;\n return name === BrowserTypes.SamsungBrowser;\n};\nvar getBrowserFullVersion = function getBrowserFullVersion(_ref30) {\n var version = _ref30.version;\n return setDefaults(version);\n};\nvar getBrowserVersion = function getBrowserVersion(_ref31) {\n var major = _ref31.major;\n return setDefaults(major);\n};\nvar getBrowserName = function getBrowserName(_ref32) {\n var name = _ref32.name;\n return setDefaults(name);\n}; // engine types\n\nvar getEngineName = function getEngineName(_ref33) {\n var name = _ref33.name;\n return setDefaults(name);\n};\nvar getEngineVersion = function getEngineVersion(_ref34) {\n var version = _ref34.version;\n return setDefaults(version);\n};\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\nvar isEdgeChromiumType = function isEdgeChromiumType(ua) {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\nvar getUseragent = function getUseragent(userAg) {\n return setDefaults(userAg);\n};\nfunction buildSelectorsObject(options) {\n var _ref = options ? options : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n os = _ref.os,\n engine = _ref.engine,\n ua = _ref.ua;\n return {\n isSmartTV: isSmartTVType(device),\n isConsole: isConsoleType(device),\n isWearable: isWearableType(device),\n isEmbedded: isEmbeddedType(device),\n isMobileSafari: isMobileSafariType(browser) || getIPad13(),\n isChromium: isChromiumType(browser),\n isMobile: isMobileAndTabletType(device) || getIPad13(),\n isMobileOnly: isMobileType(device),\n isTablet: isTabletType(device) || getIPad13(),\n isBrowser: isBrowserType(device),\n isDesktop: isBrowserType(device),\n isAndroid: isAndroidType(os),\n isWinPhone: isWinPhoneType(os),\n isIOS: isIOSType(os) || getIPad13(),\n isChrome: isChromeType(browser),\n isFirefox: isFirefoxType(browser),\n isSafari: isSafariType(browser),\n isOpera: isOperaType(browser),\n isIE: isIEType(browser),\n osVersion: getOsVersion(os),\n osName: getOsName(os),\n fullBrowserVersion: getBrowserFullVersion(browser),\n browserVersion: getBrowserVersion(browser),\n browserName: getBrowserName(browser),\n mobileVendor: getMobileVendor(device),\n mobileModel: getMobileModel(device),\n engineName: getEngineName(engine),\n engineVersion: getEngineVersion(engine),\n getUA: getUseragent(ua),\n isEdge: isEdgeType(browser) || isEdgeChromiumType(ua),\n isYandex: isYandexType(browser),\n deviceType: getDeviceType(device),\n isIOS13: getIOS13(),\n isIPad13: getIPad13(),\n isIPhone13: getIphone13(),\n isIPod13: getIPod13(),\n isElectron: isElectronType(),\n isEdgeChromium: isEdgeChromiumType(ua),\n isLegacyEdge: isEdgeType(browser) && !isEdgeChromiumType(ua),\n isWindows: isWindowsType(os),\n isMacOs: isMacOsType(os),\n isMIUI: isMIUIType(browser),\n isSamsungBrowser: isSamsungBrowserType(browser)\n };\n}\nvar isSmartTV = isSmartTVType(device);\nvar isConsole = isConsoleType(device);\nvar isWearable = isWearableType(device);\nvar isEmbedded = isEmbeddedType(device);\nvar isMobileSafari = isMobileSafariType(browser) || getIPad13();\nvar isChromium = isChromiumType(browser);\nvar isMobile = isMobileAndTabletType(device) || getIPad13();\nvar isMobileOnly = isMobileType(device);\nvar isTablet = isTabletType(device) || getIPad13();\nvar isBrowser = isBrowserType(device);\nvar isDesktop = isBrowserType(device);\nvar isAndroid = isAndroidType(os);\nvar isWinPhone = isWinPhoneType(os);\nvar isIOS = isIOSType(os) || getIPad13();\nvar isChrome = isChromeType(browser);\nvar isFirefox = isFirefoxType(browser);\nvar isSafari = isSafariType(browser);\nvar isOpera = isOperaType(browser);\nvar isIE = isIEType(browser);\nvar osVersion = getOsVersion(os);\nvar osName = getOsName(os);\nvar fullBrowserVersion = getBrowserFullVersion(browser);\nvar browserVersion = getBrowserVersion(browser);\nvar browserName = getBrowserName(browser);\nvar mobileVendor = getMobileVendor(device);\nvar mobileModel = getMobileModel(device);\nvar engineName = getEngineName(engine);\nvar engineVersion = getEngineVersion(engine);\nvar getUA = getUseragent(ua);\nvar isEdge = isEdgeType(browser) || isEdgeChromiumType(ua);\nvar isYandex = isYandexType(browser);\nvar deviceType = getDeviceType(device);\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType(ua);\nvar isLegacyEdge = isEdgeType(browser) && !isEdgeChromiumType(ua);\nvar isWindows = isWindowsType(os);\nvar isMacOs = isMacOsType(os);\nvar isMIUI = isMIUIType(browser);\nvar isSamsungBrowser = isSamsungBrowserType(browser);\nvar getSelectorsByUserAgent = function getSelectorsByUserAgent(userAgent) {\n if (!userAgent || typeof userAgent !== 'string') {\n console.error('No valid user agent string was provided');\n return;\n }\n var _UAHelper$parseUserAg = parseUserAgent(userAgent),\n device = _UAHelper$parseUserAg.device,\n browser = _UAHelper$parseUserAg.browser,\n os = _UAHelper$parseUserAg.os,\n engine = _UAHelper$parseUserAg.engine,\n ua = _UAHelper$parseUserAg.ua;\n return buildSelectorsObject({\n device: device,\n browser: browser,\n os: os,\n engine: engine,\n ua: ua\n });\n};\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\"]);\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\"]);\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\"]);\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\"]);\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\"]);\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\"]);\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\"]);\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style,\n props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\"]);\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\"]);\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\"]);\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition,\n props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nfunction withOrientationChange(WrappedComponent) {\n return /*#__PURE__*/function (_React$Component) {\n _inherits(_class, _React$Component);\n function _class(props) {\n var _this;\n _classCallCheck(this, _class);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n return _class;\n }(React__default.Component);\n}\nfunction useMobileOrientation() {\n var _useState = React.useState(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n return {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n }),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n var handleOrientationChange = React.useCallback(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n var next = {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n state.orientation !== next.orientation && setState(next);\n }, [state.orientation]);\n React.useEffect(function () {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n handleOrientationChange();\n window.addEventListener(\"load\", handleOrientationChange, false);\n window.addEventListener(\"resize\", handleOrientationChange, false);\n }\n return function () {\n window.removeEventListener(\"resize\", handleOrientationChange, false);\n window.removeEventListener(\"load\", handleOrientationChange, false);\n };\n }, [handleOrientationChange]);\n return state;\n}\nfunction useDeviceData(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n return parseUserAgent(hookUserAgent);\n}\nfunction useDeviceSelectors(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n var deviceData = useDeviceData(hookUserAgent);\n var selectors = buildSelectorsObject(deviceData);\n return [selectors, deviceData];\n}\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getSelectorsByUserAgent = getSelectorsByUserAgent;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isEmbedded = isEmbedded;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.parseUserAgent = parseUserAgent;\nexports.setUserAgent = setUserAgent;\nexports.useDeviceData = useDeviceData;\nexports.useDeviceSelectors = useDeviceSelectors;\nexports.useMobileOrientation = useMobileOrientation;\nexports.withOrientationChange = withOrientationChange;","var _slicedToArray = require(\"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/slicedToArray.js\");\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nvar v = Object.create;\nvar l = Object.defineProperty;\nvar k = Object.getOwnPropertyDescriptor;\nvar w = Object.getOwnPropertyNames;\nvar C = Object.getPrototypeOf,\n P = Object.prototype.hasOwnProperty;\nvar b = function b(e, r) {\n for (var o in r) l(e, o, {\n get: r[o],\n enumerable: !0\n });\n },\n c = function c(e, r, o, n) {\n if (r && typeof r == \"object\" || typeof r == \"function\") {\n var _iterator = _createForOfIteratorHelper(w(r)),\n _step;\n try {\n var _loop = function _loop() {\n var h = _step.value;\n !P.call(e, h) && h !== o && l(e, h, {\n get: function get() {\n return r[h];\n },\n enumerable: !(n = k(r, h)) || n.enumerable\n });\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n return e;\n };\nvar N = function N(e, r, o) {\n return o = e != null ? v(C(e)) : {}, c(r || !e || !e.__esModule ? l(o, \"default\", {\n value: e,\n enumerable: !0\n }) : o, e);\n },\n E = function E(e) {\n return c(l({}, \"__esModule\", {\n value: !0\n }), e);\n };\nvar S = {};\nb(S, {\n ThemeProvider: function ThemeProvider() {\n return f;\n },\n Toggle: function Toggle() {\n return g;\n },\n useTheme: function useTheme() {\n return s;\n }\n});\nmodule.exports = E(S);\nvar d = require(\"react\");\nvar T = N(require(\"react\")),\n a = T.default.createContext({\n theme: \"dark\",\n setTheme: function setTheme() {},\n options: {\n theme: \"dark\",\n save: !0\n }\n });\nfunction s() {\n return (0, d.useContext)(a);\n}\nvar t = require(\"react/jsx-runtime\");\nfunction g(_ref) {\n var _ref$id = _ref.id,\n e = _ref$id === void 0 ? \"rth-toggle\" : _ref$id;\n var _s = s(),\n r = _s.theme,\n o = _s.setTheme;\n return (0, t.jsxs)(\"div\", {\n className: \"rht-toggle\",\n children: [(0, t.jsx)(\"input\", {\n id: e,\n className: \"rht-switch\",\n type: \"checkbox\",\n role: \"switch\",\n onChange: function onChange(h) {\n return o(h.target.checked ? \"dark\" : \"light\");\n },\n checked: r === \"dark\"\n }), (0, t.jsxs)(\"label\", {\n className: \"rht-label\",\n htmlFor: e,\n children: [(0, t.jsx)(\"svg\", {\n className: \"rht-moon\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: (0, t.jsx)(\"path\", {\n d: \"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"\n })\n }), (0, t.jsxs)(\"svg\", {\n className: \"rht-sun\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [(0, t.jsx)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"5\"\n }), (0, t.jsx)(\"line\", {\n x1: \"12\",\n y1: \"1\",\n x2: \"12\",\n y2: \"3\"\n }), (0, t.jsx)(\"line\", {\n x1: \"12\",\n y1: \"21\",\n x2: \"12\",\n y2: \"23\"\n }), (0, t.jsx)(\"line\", {\n x1: \"4.22\",\n y1: \"4.22\",\n x2: \"5.64\",\n y2: \"5.64\"\n }), (0, t.jsx)(\"line\", {\n x1: \"18.36\",\n y1: \"18.36\",\n x2: \"19.78\",\n y2: \"19.78\"\n }), (0, t.jsx)(\"line\", {\n x1: \"1\",\n y1: \"12\",\n x2: \"3\",\n y2: \"12\"\n }), (0, t.jsx)(\"line\", {\n x1: \"21\",\n y1: \"12\",\n x2: \"23\",\n y2: \"12\"\n }), (0, t.jsx)(\"line\", {\n x1: \"4.22\",\n y1: \"19.78\",\n x2: \"5.64\",\n y2: \"18.36\"\n }), (0, t.jsx)(\"line\", {\n x1: \"18.36\",\n y1: \"5.64\",\n x2: \"19.78\",\n y2: \"4.22\"\n })]\n }), (0, t.jsx)(\"span\", {\n className: \"rht-ball\"\n })]\n })]\n });\n}\nvar m = require(\"react\");\nfunction p(e) {\n localStorage.setItem(\"rht-theme\", e);\n}\nfunction x() {\n return localStorage.getItem(\"rht-theme\");\n}\nfunction u() {\n return window.matchMedia && window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\n}\nvar y = require(\"react/jsx-runtime\"),\n L = \"dark\";\nfunction f(_ref2) {\n var _ref2$options = _ref2.options,\n e = _ref2$options === void 0 ? {} : _ref2$options,\n r = _ref2.children;\n var _ref3 = (0, m.useState)(L),\n _ref4 = _slicedToArray(_ref3, 2),\n o = _ref4[0],\n n = _ref4[1];\n (0, m.useEffect)(function () {\n var i = x() || u() || (e == null ? void 0 : e.theme);\n n(i);\n }, []), (0, m.useEffect)(function () {\n document.body.setAttribute(\"data-theme\", o);\n }, [o]);\n var h = (0, m.useCallback)(function (i) {\n e != null && e.save && p(i), n(i);\n }, []);\n return (0, y.jsx)(a.Provider, {\n value: {\n theme: o,\n setTheme: h,\n options: e\n },\n children: r\n });\n}","import { __assign } from \"tslib\";\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// This is primarily dealing with packaging systems where multiple copies of react-intl\n// might exist\nvar IntlContext = typeof window !== 'undefined' && !window.__REACT_INTL_BYPASS_GLOBAL_CONTEXT__ ? window.__REACT_INTL_CONTEXT__ || (window.__REACT_INTL_CONTEXT__ = React.createContext(null)) : React.createContext(null);\nvar IntlConsumer = IntlContext.Consumer,\n IntlProvider = IntlContext.Provider;\nexport var Provider = IntlProvider;\nexport var Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n var _a = options || {},\n _b = _a.intlPropName,\n intlPropName = _b === void 0 ? 'intl' : _b,\n _c = _a.forwardRef,\n forwardRef = _c === void 0 ? false : _c,\n _d = _a.enforceContext,\n enforceContext = _d === void 0 ? true : _d;\n var WithIntl = function WithIntl(props) {\n return React.createElement(IntlConsumer, null, function (intl) {\n var _a;\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n var intlProp = (_a = {}, _a[intlPropName] = intl, _a);\n return React.createElement(WrappedComponent, __assign({}, props, intlProp, {\n ref: forwardRef ? props.forwardedRef : null\n }));\n });\n };\n WithIntl.displayName = \"injectIntl(\".concat(getDisplayName(WrappedComponent), \")\");\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(\n // @ts-expect-error\n React.forwardRef(function (props, ref) {\n return React.createElement(WithIntl, __assign({}, props, {\n forwardedRef: ref\n }));\n }), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}","import * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nimport { Context } from './injectIntl';\nexport default function useIntl() {\n var intl = React.useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { DEFAULT_INTL_CONFIG as CORE_DEFAULT_INTL_CONFIG } from '@formatjs/intl';\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.');\n}\nexport var DEFAULT_INTL_CONFIG = __assign(__assign({}, CORE_DEFAULT_INTL_CONFIG), {\n textComponent: React.Fragment\n});\n/**\n * Takes a `formatXMLElementFn`, and composes it in function, which passes\n * argument `parts` through, assigning unique key to each part, to prevent\n * \"Each child in a list should have a unique \"key\"\" React error.\n * @param formatXMLElementFn\n */\nexport function assignUniqueKeysToParts(formatXMLElementFn) {\n return function (parts) {\n // eslint-disable-next-line prefer-rest-params\n return formatXMLElementFn(React.Children.toArray(parts));\n };\n}\nexport function shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n if (!objA || !objB) {\n return false;\n }\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n if (bKeys.length !== len) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n return true;\n}","/** @license React v16.13.1\n * react-is.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\n'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n default:\n return u;\n }\n }\n case d:\n return u;\n }\n }\n}\nfunction A(a) {\n return z(a) === m;\n}\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\nexports.isConcurrentMode = A;\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\nexports.isFragment = function (a) {\n return z(a) === e;\n};\nexports.isLazy = function (a) {\n return z(a) === t;\n};\nexports.isMemo = function (a) {\n return z(a) === r;\n};\nexports.isPortal = function (a) {\n return z(a) === d;\n};\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\nexports.typeOf = z;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","/**\n * @license React\n * react-server-dom-webpack.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\nvar k = require(\"react\"),\n l = {\n stream: !0\n },\n n = new Map(),\n p = Symbol.for(\"react.element\"),\n q = Symbol.for(\"react.lazy\"),\n r = Symbol.for(\"react.default_value\"),\n t = k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;\nfunction u(a) {\n t[a] || (t[a] = k.createServerContext(a, r));\n return t[a];\n}\nfunction v(a, b, c) {\n this._status = a;\n this._value = b;\n this._response = c;\n}\nv.prototype.then = function (a) {\n 0 === this._status ? (null === this._value && (this._value = []), this._value.push(a)) : a();\n};\nfunction w(a) {\n switch (a._status) {\n case 3:\n return a._value;\n case 1:\n var b = JSON.parse(a._value, a._response._fromJSON);\n a._status = 3;\n return a._value = b;\n case 2:\n b = a._value;\n for (var c = b.chunks, d = 0; d < c.length; d++) {\n var e = n.get(c[d]);\n if (null !== e) throw e;\n }\n c = __webpack_require__(b.id);\n b = \"*\" === b.name ? c : \"\" === b.name ? c.__esModule ? c.default : c : c[b.name];\n a._status = 3;\n return a._value = b;\n case 0:\n throw a;\n default:\n throw a._value;\n }\n}\nfunction x() {\n var a = y(this, 0);\n return w(a);\n}\nfunction z(a, b) {\n return new v(3, b, a);\n}\nfunction A(a) {\n if (null !== a) for (var b = 0; b < a.length; b++) (0, a[b])();\n}\nfunction C(a, b) {\n if (0 === a._status) {\n var c = a._value;\n a._status = 4;\n a._value = b;\n A(c);\n }\n}\nfunction D(a, b) {\n a._chunks.forEach(function (a) {\n C(a, b);\n });\n}\nfunction y(a, b) {\n var c = a._chunks,\n d = c.get(b);\n d || (d = new v(0, null, a), c.set(b, d));\n return d;\n}\nfunction E(a, b, c) {\n switch (c[0]) {\n case \"$\":\n if (\"$\" === c) return p;\n if (\"$\" === c[1] || \"@\" === c[1]) return c.substring(1);\n b = parseInt(c.substring(1), 16);\n a = y(a, b);\n return w(a);\n case \"@\":\n return b = parseInt(c.substring(1), 16), a = y(a, b), {\n $$typeof: q,\n _payload: a,\n _init: w\n };\n }\n return c;\n}\nfunction F(a) {\n D(a, Error(\"Connection closed.\"));\n}\nfunction G(a, b) {\n if (\"\" !== b) {\n var c = b[0],\n d = b.indexOf(\":\", 1),\n e = parseInt(b.substring(1, d), 16);\n d = b.substring(d + 1);\n switch (c) {\n case \"J\":\n b = a._chunks;\n (c = b.get(e)) ? 0 === c._status && (a = c._value, c._status = 1, c._value = d, A(a)) : b.set(e, new v(1, d, a));\n break;\n case \"M\":\n b = a._chunks;\n c = b.get(e);\n d = JSON.parse(d, a._fromJSON);\n var f = a._bundlerConfig;\n d = f ? f[d.id][d.name] : d;\n f = d.chunks;\n for (var h = 0; h < f.length; h++) {\n var g = f[h];\n if (void 0 === n.get(g)) {\n var B = __webpack_chunk_load__(g),\n m = n.set.bind(n, g, null),\n J = n.set.bind(n, g);\n B.then(m, J);\n n.set(g, B);\n }\n }\n c ? 0 === c._status && (a = c._value, c._status = 2, c._value = d, A(a)) : b.set(e, new v(2, d, a));\n break;\n case \"P\":\n a._chunks.set(e, z(a, u(d).Provider));\n break;\n case \"S\":\n c = JSON.parse(d);\n a._chunks.set(e, z(a, Symbol.for(c)));\n break;\n case \"E\":\n b = JSON.parse(d);\n c = Error(b.message);\n c.stack = b.stack;\n b = a._chunks;\n (d = b.get(e)) ? C(d, c) : b.set(e, new v(4, c, a));\n break;\n default:\n throw Error(\"Error parsing the data. It's probably an error code or network corruption.\");\n }\n }\n}\nfunction H(a) {\n return function (b, c) {\n return \"string\" === typeof c ? E(a, this, c) : \"object\" === typeof c && null !== c ? (b = c[0] === p ? {\n $$typeof: p,\n type: c[1],\n key: c[2],\n ref: null,\n props: c[3],\n _owner: null\n } : c, b) : c;\n };\n}\nfunction I(a) {\n var b = new TextDecoder(),\n c = new Map();\n a = {\n _bundlerConfig: a,\n _chunks: c,\n readRoot: x,\n _partialRow: \"\",\n _stringDecoder: b\n };\n a._fromJSON = H(a);\n return a;\n}\nfunction K(a, b) {\n function c(b) {\n var h = b.value;\n if (b.done) F(a);else {\n b = h;\n h = a._stringDecoder;\n for (var g = b.indexOf(10); -1 < g;) {\n var f = a._partialRow;\n var m = b.subarray(0, g);\n m = h.decode(m);\n G(a, f + m);\n a._partialRow = \"\";\n b = b.subarray(g + 1);\n g = b.indexOf(10);\n }\n a._partialRow += h.decode(b, l);\n return e.read().then(c, d);\n }\n }\n function d(b) {\n D(a, b);\n }\n var e = b.getReader();\n e.read().then(c, d);\n}\nexports.createFromFetch = function (a, b) {\n var c = I(b && b.moduleMap ? b.moduleMap : null);\n a.then(function (a) {\n K(c, a.body);\n }, function (a) {\n D(c, a);\n });\n return c;\n};\nexports.createFromReadableStream = function (a, b) {\n b = I(b && b.moduleMap ? b.moduleMap : null);\n K(b, a);\n return b;\n};\nexports.createFromXHR = function (a, b) {\n function c() {\n for (var b = a.responseText, c = f, d = b.indexOf(\"\\n\", c); -1 < d;) c = e._partialRow + b.substring(c, d), G(e, c), e._partialRow = \"\", c = d + 1, d = b.indexOf(\"\\n\", c);\n e._partialRow += b.substring(c);\n f = b.length;\n }\n function d() {\n D(e, new TypeError(\"Network error\"));\n }\n var e = I(b && b.moduleMap ? b.moduleMap : null),\n f = 0;\n a.addEventListener(\"progress\", c);\n a.addEventListener(\"load\", function () {\n c();\n F(e);\n });\n a.addEventListener(\"error\", d);\n a.addEventListener(\"abort\", d);\n a.addEventListener(\"timeout\", d);\n return e;\n};","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-server-dom-webpack.production.min.js');\n} else {\n module.exports = require('./cjs/react-server-dom-webpack.development.js');\n}","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n if (typeof fn !== 'function') {\n throw new $TypeError('`fn` is not a function');\n }\n if (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n throw new $TypeError('`length` must be a positive 32-bit integer');\n }\n var loose = arguments.length > 2 && !!arguments[2];\n var functionLengthIsConfigurable = true;\n var functionLengthIsWritable = true;\n if ('length' in fn && gOPD) {\n var desc = gOPD(fn, 'length');\n if (desc && !desc.configurable) {\n functionLengthIsConfigurable = false;\n }\n if (desc && !desc.writable) {\n functionLengthIsWritable = false;\n }\n }\n if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n if (hasDescriptors) {\n define(/** @type {Parameters[0]} */fn, 'length', length, true, true);\n } else {\n define(/** @type {Parameters[0]} */fn, 'length', length);\n }\n }\n return fn;\n};","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n if (ret !== void 0) {\n return !!ret;\n }\n if (objA === objB) {\n return true;\n }\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n if (!bHasOwnProperty(key)) {\n return false;\n }\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n return true;\n};","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('.').listGetNode} */\nvar listGetNode = function listGetNode(list, key) {\n // eslint-disable-line consistent-return\n /** @type {typeof list | NonNullable<(typeof list)['next']>} */\n var prev = list;\n /** @type {(typeof list)['next']} */\n var curr;\n for (; (curr = prev.next) !== null; prev = curr) {\n if (curr.key === key) {\n prev.next = curr.next;\n // eslint-disable-next-line no-extra-parens\n curr.next = /** @type {NonNullable} */list.next;\n list.next = curr; // eslint-disable-line no-param-reassign\n return curr;\n }\n }\n};\n\n/** @type {import('.').listGet} */\nvar listGet = function listGet(objects, key) {\n var node = listGetNode(objects, key);\n return node && node.value;\n};\n/** @type {import('.').listSet} */\nvar listSet = function listSet(objects, key, value) {\n var node = listGetNode(objects, key);\n if (node) {\n node.value = value;\n } else {\n // Prepend the new node to the beginning of the list\n objects.next = /** @type {import('.').ListNode} */{\n // eslint-disable-line no-param-reassign, no-extra-parens\n key: key,\n next: objects.next,\n value: value\n };\n }\n};\n/** @type {import('.').listHas} */\nvar listHas = function listHas(objects, key) {\n return !!listGetNode(objects, key);\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n /** @type {WeakMap} */var $wm;\n /** @type {Map} */\n var $m;\n /** @type {import('.').RootNode} */\n var $o;\n\n /** @type {import('.').Channel} */\n var channel = {\n assert: function assert(key) {\n if (!channel.has(key)) {\n throw new $TypeError('Side channel does not contain ' + inspect(key));\n }\n },\n get: function get(key) {\n // eslint-disable-line consistent-return\n if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n if ($wm) {\n return $weakMapGet($wm, key);\n }\n } else if ($Map) {\n if ($m) {\n return $mapGet($m, key);\n }\n } else {\n if ($o) {\n // eslint-disable-line no-lonely-if\n return listGet($o, key);\n }\n }\n },\n has: function has(key) {\n if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n if ($wm) {\n return $weakMapHas($wm, key);\n }\n } else if ($Map) {\n if ($m) {\n return $mapHas($m, key);\n }\n } else {\n if ($o) {\n // eslint-disable-line no-lonely-if\n return listHas($o, key);\n }\n }\n return false;\n },\n set: function set(key, value) {\n if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n if (!$wm) {\n $wm = new $WeakMap();\n }\n $weakMapSet($wm, key, value);\n } else if ($Map) {\n if (!$m) {\n $m = new $Map();\n }\n $mapSet($m, key, value);\n } else {\n if (!$o) {\n // Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n $o = {\n key: {},\n next: null\n };\n }\n listSet($o, key, value);\n }\n }\n };\n return channel;\n};","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n};\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return _assign.apply(this, arguments);\n};\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}","/* UAParser.js v1.0.39\n Copyright © 2012-2021 Faisal Salman \n MIT License */\n(function (window, undefined) {\n \"use strict\";\n\n var LIBVERSION = \"1.0.39\",\n EMPTY = \"\",\n UNKNOWN = \"?\",\n FUNC_TYPE = \"function\",\n UNDEF_TYPE = \"undefined\",\n OBJ_TYPE = \"object\",\n STR_TYPE = \"string\",\n MAJOR = \"major\",\n MODEL = \"model\",\n NAME = \"name\",\n TYPE = \"type\",\n VENDOR = \"vendor\",\n VERSION = \"version\",\n ARCHITECTURE = \"architecture\",\n CONSOLE = \"console\",\n MOBILE = \"mobile\",\n TABLET = \"tablet\",\n SMARTTV = \"smarttv\",\n WEARABLE = \"wearable\",\n EMBEDDED = \"embedded\",\n UA_MAX_LENGTH = 500;\n var AMAZON = \"Amazon\",\n APPLE = \"Apple\",\n ASUS = \"ASUS\",\n BLACKBERRY = \"BlackBerry\",\n BROWSER = \"Browser\",\n CHROME = \"Chrome\",\n EDGE = \"Edge\",\n FIREFOX = \"Firefox\",\n GOOGLE = \"Google\",\n HUAWEI = \"Huawei\",\n LG = \"LG\",\n MICROSOFT = \"Microsoft\",\n MOTOROLA = \"Motorola\",\n OPERA = \"Opera\",\n SAMSUNG = \"Samsung\",\n SHARP = \"Sharp\",\n SONY = \"Sony\",\n XIAOMI = \"Xiaomi\",\n ZEBRA = \"Zebra\",\n FACEBOOK = \"Facebook\",\n CHROMIUM_OS = \"Chromium OS\",\n MAC_OS = \"Mac OS\",\n SUFFIX_BROWSER = \" Browser\";\n var extend = function extend(regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function enumerize(arr) {\n var enums = {};\n for (var i = 0; i < arr.length; i++) {\n enums[arr[i].toUpperCase()] = arr[i];\n }\n return enums;\n },\n has = function has(str1, str2) {\n return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n lowerize = function lowerize(str) {\n return str.toLowerCase();\n },\n majorize = function majorize(version) {\n return typeof version === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split(\".\")[0] : undefined;\n },\n trim = function trim(str, len) {\n if (typeof str === STR_TYPE) {\n str = str.replace(/^\\s\\s*/, EMPTY);\n return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n var rgxMapper = function rgxMapper(ua, arrays) {\n var i = 0,\n j,\n k,\n p,\n q,\n matches,\n match;\n while (i < arrays.length && !matches) {\n var regex = arrays[i],\n props = arrays[i + 1];\n j = k = 0;\n while (j < regex.length && !matches) {\n if (!regex[j]) {\n break;\n }\n matches = regex[j++].exec(ua);\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n this[q[0]] = q[1].call(this, match);\n } else {\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n strMapper = function strMapper(str, map) {\n for (var i in map) {\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n return map.hasOwnProperty(\"*\") ? map[\"*\"] : str;\n };\n var oldSafariMap = {\n \"1.0\": \"/8\",\n 1.2: \"/1\",\n 1.3: \"/3\",\n \"2.0\": \"/412\",\n \"2.0.2\": \"/416\",\n \"2.0.3\": \"/417\",\n \"2.0.4\": \"/419\",\n \"?\": \"/\"\n },\n windowsVersionMap = {\n ME: \"4.90\",\n \"NT 3.11\": \"NT3.51\",\n \"NT 4.0\": \"NT4.0\",\n 2e3: \"NT 5.0\",\n XP: [\"NT 5.1\", \"NT 5.2\"],\n Vista: \"NT 6.0\",\n 7: \"NT 6.1\",\n 8: \"NT 6.2\",\n 8.1: \"NT 6.3\",\n 10: [\"NT 6.4\", \"NT 10.0\"],\n RT: \"ARM\"\n };\n var regexes = {\n browser: [[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Chrome\"]], [/edg(?:e|ios|a)?\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Edge\"]], [/(opera mini)\\/([-\\w\\.]+)/i, /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i], [NAME, VERSION], [/opios[\\/ ]+([\\w\\.]+)/i], [VERSION, [NAME, OPERA + \" Mini\"]], [/\\bop(?:rg)?x\\/([\\w\\.]+)/i], [VERSION, [NAME, OPERA + \" GX\"]], [/\\bopr\\/([\\w\\.]+)/i], [VERSION, [NAME, OPERA]], [/\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i], [VERSION, [NAME, \"Baidu\"]], [/(kindle)\\/([\\w\\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\\/ ]?([\\w\\.]*)/i, /(avant|iemobile|slim)\\s?(?:browser)?[\\/ ]?([\\w\\.]*)/i, /(?:ms|\\()(ie) ([\\w\\.]+)/i, /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\\/([-\\w\\.]+)/i, /(heytap|ovi)browser\\/([\\d\\.]+)/i, /(weibo)__([\\d\\.]+)/i], [NAME, VERSION], [/quark(?:pc)?\\/([-\\w\\.]+)/i], [VERSION, [NAME, \"Quark\"]], [/\\bddg\\/([\\w\\.]+)/i], [VERSION, [NAME, \"DuckDuckGo\"]], [/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i], [VERSION, [NAME, \"UC\" + BROWSER]], [/microm.+\\bqbcore\\/([\\w\\.]+)/i, /\\bqbcore\\/([\\w\\.]+).+microm/i, /micromessenger\\/([\\w\\.]+)/i], [VERSION, [NAME, \"WeChat\"]], [/konqueror\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Konqueror\"]], [/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i], [VERSION, [NAME, \"IE\"]], [/ya(?:search)?browser\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Yandex\"]], [/slbrowser\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Smart Lenovo \" + BROWSER]], [/(avast|avg)\\/([\\w\\.]+)/i], [[NAME, /(.+)/, \"$1 Secure \" + BROWSER], VERSION], [/\\bfocus\\/([\\w\\.]+)/i], [VERSION, [NAME, FIREFOX + \" Focus\"]], [/\\bopt\\/([\\w\\.]+)/i], [VERSION, [NAME, OPERA + \" Touch\"]], [/coc_coc\\w+\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Coc Coc\"]], [/dolfin\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Dolphin\"]], [/coast\\/([\\w\\.]+)/i], [VERSION, [NAME, OPERA + \" Coast\"]], [/miuibrowser\\/([\\w\\.]+)/i], [VERSION, [NAME, \"MIUI \" + BROWSER]], [/fxios\\/([-\\w\\.]+)/i], [VERSION, [NAME, FIREFOX]], [/\\bqihu|(qi?ho?o?|360)browser/i], [[NAME, \"360\" + SUFFIX_BROWSER]], [/\\b(qq)\\/([\\w\\.]+)/i], [[NAME, /(.+)/, \"$1Browser\"], VERSION], [/(oculus|sailfish|huawei|vivo|pico)browser\\/([\\w\\.]+)/i], [[NAME, /(.+)/, \"$1\" + SUFFIX_BROWSER], VERSION], [/samsungbrowser\\/([\\w\\.]+)/i], [VERSION, [NAME, SAMSUNG + \" Internet\"]], [/(comodo_dragon)\\/([\\w\\.]+)/i], [[NAME, /_/g, \" \"], VERSION], [/metasr[\\/ ]?([\\d\\.]+)/i], [VERSION, [NAME, \"Sogou Explorer\"]], [/(sogou)mo\\w+\\/([\\d\\.]+)/i], [[NAME, \"Sogou Mobile\"], VERSION], [/(electron)\\/([\\w\\.]+) safari/i, /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, /m?(qqbrowser|2345Explorer)[\\/ ]?([\\w\\.]+)/i], [NAME, VERSION], [/(lbbrowser|rekonq)/i, /\\[(linkedin)app\\]/i], [NAME], [/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i], [[NAME, FACEBOOK], VERSION], [/(Klarna)\\/([\\w\\.]+)/i, /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, /safari (line)\\/([\\w\\.]+)/i, /\\b(line)\\/([\\w\\.]+)\\/iab/i, /(alipay)client\\/([\\w\\.]+)/i, /(twitter)(?:and| f.+e\\/([\\w\\.]+))/i, /(chromium|instagram|snapchat)[\\/ ]([-\\w\\.]+)/i], [NAME, VERSION], [/\\bgsa\\/([\\w\\.]+) .*safari\\//i], [VERSION, [NAME, \"GSA\"]], [/musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i], [VERSION, [NAME, \"TikTok\"]], [/headlesschrome(?:\\/([\\w\\.]+)| )/i], [VERSION, [NAME, CHROME + \" Headless\"]], [/ wv\\).+(chrome)\\/([\\w\\.]+)/i], [[NAME, CHROME + \" WebView\"], VERSION], [/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i], [VERSION, [NAME, \"Android \" + BROWSER]], [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i], [NAME, VERSION], [/version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i], [VERSION, [NAME, \"Mobile Safari\"]], [/version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i], [VERSION, NAME], [/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i], [NAME, [VERSION, strMapper, oldSafariMap]], [/(webkit|khtml)\\/([\\w\\.]+)/i], [NAME, VERSION], [/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i], [[NAME, \"Netscape\"], VERSION], [/(wolvic)\\/([\\w\\.]+)/i], [NAME, VERSION], [/mobile vr; rv:([\\w\\.]+)\\).+firefox/i], [VERSION, [NAME, FIREFOX + \" Reality\"]], [/ekiohf.+(flow)\\/([\\w\\.]+)/i, /(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\\/ ]?([\\w\\.\\+]+)/i, /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i, /(firefox)\\/([\\w\\.]+)/i, /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i, /(links) \\(([\\w\\.]+)/i], [NAME, [VERSION, /_/g, \".\"]], [/(cobalt)\\/([\\w\\.]+)/i], [NAME, [VERSION, /master.|lts./, \"\"]]],\n cpu: [[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i], [[ARCHITECTURE, \"amd64\"]], [/(ia32(?=;))/i], [[ARCHITECTURE, lowerize]], [/((?:i[346]|x)86)[;\\)]/i], [[ARCHITECTURE, \"ia32\"]], [/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i], [[ARCHITECTURE, \"arm64\"]], [/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i], [[ARCHITECTURE, \"armhf\"]], [/windows (ce|mobile); ppc;/i], [[ARCHITECTURE, \"arm\"]], [/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [/(sun4\\w)[;\\)]/i], [[ARCHITECTURE, \"sparc\"]], [/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i], [[ARCHITECTURE, lowerize]]],\n device: [[/\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [/\\b((?:s[cgp]h|gt|sm)-(?![lr])\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i, /samsung[- ]((?!sm-[lr])[-\\w]+)/i, /sec-(sgh\\w+)/i], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [/(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [/\\((ipad);[-\\w\\),; ]+apple/i, /applecoremedia\\/[\\w\\.]+ \\((ipad)/i, /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [/(macintosh);/i], [MODEL, [VENDOR, APPLE]], [/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [/(?:huawei|honor)([-\\w ]+)[;\\)]/i, /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [/\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i, /\\b; (\\w+) build\\/hm\\1/i, /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i, /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\\))/i], [[MODEL, /_/g, \" \"], [VENDOR, XIAOMI], [TYPE, MOBILE]], [/oid[^\\)]+; (2\\d{4}(283|rpbf)[cgl])( bui|\\))/i, /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i], [[MODEL, /_/g, \" \"], [VENDOR, XIAOMI], [TYPE, TABLET]], [/; (\\w+) bui.+ oppo/i, /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i], [MODEL, [VENDOR, \"OPPO\"], [TYPE, MOBILE]], [/\\b(opd2\\d{3}a?) bui/i], [MODEL, [VENDOR, \"OPPO\"], [TYPE, TABLET]], [/vivo (\\w+)(?: bui|\\))/i, /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i], [MODEL, [VENDOR, \"Vivo\"], [TYPE, MOBILE]], [/\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i], [MODEL, [VENDOR, \"Realme\"], [TYPE, MOBILE]], [/\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i, /\\bmot(?:orola)?[- ](\\w*)/i, /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i, /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i, /\\blg-?([\\d\\w]+) bui/i], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [/(ideatab[-\\w ]+)/i, /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i], [MODEL, [VENDOR, \"Lenovo\"], [TYPE, TABLET]], [/(?:maemo|nokia).*(n900|lumia \\d+)/i, /nokia[-_ ]?([-\\w\\.]*)/i], [[MODEL, /_/g, \" \"], [VENDOR, \"Nokia\"], [TYPE, MOBILE]], [/(pixel c)\\b/i], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [/droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [/sony tablet [ps]/i, /\\b(?:sony)?sgp\\w+(?: bui|\\))/i], [[MODEL, \"Xperia Tablet\"], [VENDOR, SONY], [TYPE, TABLET]], [/ (kb2005|in20[12]5|be20[12][59])\\b/i, /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i], [MODEL, [VENDOR, \"OnePlus\"], [TYPE, MOBILE]], [/(alexa)webm/i, /(kf[a-z]{2}wi|aeo(?!bc)\\w\\w)( bui|\\))/i, /(kf[a-z]+)( bui|\\)).+silk\\//i], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i], [[MODEL, /(.+)/g, \"Fire Phone $1\"], [VENDOR, AMAZON], [TYPE, MOBILE]], [/(playbook);[-\\w\\),; ]+(rim)/i], [MODEL, VENDOR, [TYPE, TABLET]], [/\\b((?:bb[a-f]|st[hv])100-\\d)/i, /\\(bb10; (\\w+)/i], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [/(nexus 9)/i], [MODEL, [VENDOR, \"HTC\"], [TYPE, TABLET]], [/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i, /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i], [VENDOR, [MODEL, /_/g, \" \"], [TYPE, MOBILE]], [/droid [\\w\\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\\w*(\\)| bui)/i], [MODEL, [VENDOR, \"TCL\"], [TYPE, TABLET]], [/(itel) ((\\w+))/i], [[VENDOR, lowerize], MODEL, [TYPE, strMapper, {\n tablet: [\"p10001l\", \"w7001\"],\n \"*\": \"mobile\"\n }]], [/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i], [MODEL, [VENDOR, \"Acer\"], [TYPE, TABLET]], [/droid.+; (m[1-5] note) bui/i, /\\bmz-([-\\w]{2,})/i], [MODEL, [VENDOR, \"Meizu\"], [TYPE, MOBILE]], [/; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i], [MODEL, [VENDOR, \"Ulefone\"], [TYPE, MOBILE]], [/droid.+; (a(?:015|06[35]|142p?))/i], [MODEL, [VENDOR, \"Nothing\"], [TYPE, MOBILE]], [/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\\w]*)/i, /(hp) ([\\w ]+\\w)/i, /(asus)-?(\\w+)/i, /(microsoft); (lumia[\\w ]+)/i, /(lenovo)[-_ ]?([-\\w]+)/i, /(jolla)/i, /(oppo) ?([\\w ]+) bui/i], [VENDOR, MODEL, [TYPE, MOBILE]], [/(kobo)\\s(ereader|touch)/i, /(archos) (gamepad2?)/i, /(hp).+(touchpad(?!.+tablet)|tablet)/i, /(kindle)\\/([\\w\\.]+)/i, /(nook)[\\w ]+build\\/(\\w+)/i, /(dell) (strea[kpr\\d ]*[\\dko])/i, /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, /(trinity)[- ]*(t\\d{3}) bui/i, /(gigaset)[- ]+(q\\w{1,9}) bui/i, /(vodafone) ([\\w ]+)(?:\\)| bui)/i], [VENDOR, MODEL, [TYPE, TABLET]], [/(surface duo)/i], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i], [MODEL, [VENDOR, \"Fairphone\"], [TYPE, MOBILE]], [/(u304aa)/i], [MODEL, [VENDOR, \"AT&T\"], [TYPE, MOBILE]], [/\\bsie-(\\w*)/i], [MODEL, [VENDOR, \"Siemens\"], [TYPE, MOBILE]], [/\\b(rct\\w+) b/i], [MODEL, [VENDOR, \"RCA\"], [TYPE, TABLET]], [/\\b(venue[\\d ]{2,7}) b/i], [MODEL, [VENDOR, \"Dell\"], [TYPE, TABLET]], [/\\b(q(?:mv|ta)\\w+) b/i], [MODEL, [VENDOR, \"Verizon\"], [TYPE, TABLET]], [/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i], [MODEL, [VENDOR, \"Barnes & Noble\"], [TYPE, TABLET]], [/\\b(tm\\d{3}\\w+) b/i], [MODEL, [VENDOR, \"NuVision\"], [TYPE, TABLET]], [/\\b(k88) b/i], [MODEL, [VENDOR, \"ZTE\"], [TYPE, TABLET]], [/\\b(nx\\d{3}j) b/i], [MODEL, [VENDOR, \"ZTE\"], [TYPE, MOBILE]], [/\\b(gen\\d{3}) b.+49h/i], [MODEL, [VENDOR, \"Swiss\"], [TYPE, MOBILE]], [/\\b(zur\\d{3}) b/i], [MODEL, [VENDOR, \"Swiss\"], [TYPE, TABLET]], [/\\b((zeki)?tb.*\\b) b/i], [MODEL, [VENDOR, \"Zeki\"], [TYPE, TABLET]], [/\\b([yr]\\d{2}) b/i, /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i], [[VENDOR, \"Dragon Touch\"], MODEL, [TYPE, TABLET]], [/\\b(ns-?\\w{0,9}) b/i], [MODEL, [VENDOR, \"Insignia\"], [TYPE, TABLET]], [/\\b((nxa|next)-?\\w{0,9}) b/i], [MODEL, [VENDOR, \"NextBook\"], [TYPE, TABLET]], [/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i], [[VENDOR, \"Voice\"], MODEL, [TYPE, MOBILE]], [/\\b(lvtel\\-)?(v1[12]) b/i], [[VENDOR, \"LvTel\"], MODEL, [TYPE, MOBILE]], [/\\b(ph-1) /i], [MODEL, [VENDOR, \"Essential\"], [TYPE, MOBILE]], [/\\b(v(100md|700na|7011|917g).*\\b) b/i], [MODEL, [VENDOR, \"Envizen\"], [TYPE, TABLET]], [/\\b(trio[-\\w\\. ]+) b/i], [MODEL, [VENDOR, \"MachSpeed\"], [TYPE, TABLET]], [/\\btu_(1491) b/i], [MODEL, [VENDOR, \"Rotor\"], [TYPE, TABLET]], [/(shield[\\w ]+) b/i], [MODEL, [VENDOR, \"Nvidia\"], [TYPE, TABLET]], [/(sprint) (\\w+)/i], [VENDOR, MODEL, [TYPE, MOBILE]], [/(kin\\.[onetw]{3})/i], [[MODEL, /\\./g, \" \"], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [/smart-tv.+(samsung)/i], [VENDOR, [TYPE, SMARTTV]], [/hbbtv.+maple;(\\d+)/i], [[MODEL, /^/, \"SmartTV\"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i], [[VENDOR, LG], [TYPE, SMARTTV]], [/(apple) ?tv/i], [VENDOR, [MODEL, APPLE + \" TV\"], [TYPE, SMARTTV]], [/crkey/i], [[MODEL, CHROME + \"cast\"], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [/droid.+aft(\\w+)( bui|\\))/i], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [/\\(dtv[\\);].+(aquos)/i, /(aquos-tv[\\w ]+)\\)/i], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]], [/(bravia[\\w ]+)( bui|\\))/i], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [/(mitv-\\w{5}) bui/i], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [/Hbbtv.*(technisat) (.*);/i], [VENDOR, MODEL, [TYPE, SMARTTV]], [/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i], [[TYPE, SMARTTV]], [/(ouya)/i, /(nintendo) ([wids3utch]+)/i], [VENDOR, MODEL, [TYPE, CONSOLE]], [/droid.+; (shield) bui/i], [MODEL, [VENDOR, \"Nvidia\"], [TYPE, CONSOLE]], [/(playstation [345portablevi]+)/i], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [/\\b(sm-[lr]\\d\\d[05][fnuw]?s?)\\b/i], [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]], [/((pebble))app/i], [VENDOR, MODEL, [TYPE, WEARABLE]], [/(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [/droid.+; (glass) \\d/i], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [/droid.+; (wt63?0{2,3})\\)/i], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [/(quest( \\d| pro)?)/i], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i], [VENDOR, [TYPE, EMBEDDED]], [/(aeobc)\\b/i], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [/droid .+?; ([^;]+?)(?: bui|; wv\\)|\\) applew).+? mobile safari/i], [MODEL, [TYPE, MOBILE]], [/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i], [MODEL, [TYPE, TABLET]], [/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i], [[TYPE, TABLET]], [/(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i], [[TYPE, MOBILE]], [/(android[-\\w\\. ]{0,9});.+buil/i], [MODEL, [VENDOR, \"Generic\"]]],\n engine: [[/windows.+ edge\\/([\\w\\.]+)/i], [VERSION, [NAME, EDGE + \"HTML\"]], [/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i], [VERSION, [NAME, \"Blink\"]], [/(presto)\\/([\\w\\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, /ekioh(flow)\\/([\\w\\.]+)/i, /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, /\\b(libweb)/i], [NAME, VERSION], [/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i], [VERSION, NAME]],\n os: [[/microsoft (windows) (vista|xp)/i], [NAME, VERSION], [/(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i], [NAME, [VERSION, strMapper, windowsVersionMap]], [/windows nt 6\\.2; (arm)/i, /windows[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i, /(?:win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i], [[VERSION, strMapper, windowsVersionMap], [NAME, \"Windows\"]], [/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i, /cfnetwork\\/.+darwin/i], [[VERSION, /_/g, \".\"], [NAME, \"iOS\"]], [/(mac os x) ?([\\w\\. ]*)/i, /(macintosh|mac_powerpc\\b)(?!.+haiku)/i], [[NAME, MAC_OS], [VERSION, /_/g, \".\"]], [/droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i], [VERSION, NAME], [/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i, /(blackberry)\\w*\\/([\\w\\.]*)/i, /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, /\\((series40);/i], [NAME, VERSION], [/\\(bb(10);/i], [VERSION, [NAME, BLACKBERRY]], [/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i], [VERSION, [NAME, \"Symbian\"]], [/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i], [VERSION, [NAME, FIREFOX + \" OS\"]], [/web0s;.+rt(tv)/i, /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i], [VERSION, [NAME, \"webOS\"]], [/watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i], [VERSION, [NAME, \"watchOS\"]], [/crkey\\/([\\d\\.]+)/i], [VERSION, [NAME, CHROME + \"cast\"]], [/(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i], [[NAME, CHROMIUM_OS], VERSION], [/panasonic;(viera)/i, /(netrange)mmh/i, /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, /(nintendo|playstation) ([wids345portablevuch]+)/i, /(xbox); +xbox ([^\\);]+)/i, /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, /(mint)[\\/\\(\\) ]?(\\w*)/i, /(mageia|vectorlinux)[; ]/i, /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i, /(hurd|linux) ?([\\w\\.]*)/i, /(gnu) ?([\\w\\.]*)/i, /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, /(haiku) (\\w+)/i], [NAME, VERSION], [/(sunos) ?([\\w\\.\\d]*)/i], [[NAME, \"Solaris\"], VERSION], [/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, /(unix) ?([\\w\\.]*)/i], [NAME, VERSION]]\n };\n var _UAParser = function UAParser(ua, extensions) {\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n if (!(this instanceof _UAParser)) {\n return new _UAParser(ua, extensions).getResult();\n }\n var _navigator = typeof window !== UNDEF_TYPE && window.navigator ? window.navigator : undefined;\n var _ua = ua || (_navigator && _navigator.userAgent ? _navigator.userAgent : EMPTY);\n var _uach = _navigator && _navigator.userAgentData ? _navigator.userAgentData : undefined;\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser[MAJOR] = majorize(_browser[VERSION]);\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n _browser[NAME] = \"Brave\";\n }\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n _device[TYPE] = MOBILE;\n }\n if (_isSelfNav && _device[MODEL] == \"Macintosh\" && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n _device[MODEL] = \"iPad\";\n _device[TYPE] = TABLET;\n }\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform && _uach.platform != \"Unknown\") {\n _os[NAME] = _uach.platform.replace(/chrome os/i, CHROMIUM_OS).replace(/macos/i, MAC_OS);\n }\n return _os;\n };\n this.getResult = function () {\n return {\n ua: this.getUA(),\n browser: this.getBrowser(),\n engine: this.getEngine(),\n os: this.getOS(),\n device: this.getDevice(),\n cpu: this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n _UAParser.VERSION = LIBVERSION;\n _UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n _UAParser.CPU = enumerize([ARCHITECTURE]);\n _UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n _UAParser.ENGINE = _UAParser.OS = enumerize([NAME, VERSION]);\n if (typeof exports !== UNDEF_TYPE) {\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = _UAParser;\n }\n exports.UAParser = _UAParser;\n } else {\n if (typeof define === FUNC_TYPE && define.amd) {\n define(function () {\n return _UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n window.UAParser = _UAParser;\n }\n }\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new _UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n})(typeof window === \"object\" ? window : this);","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n var n = 0;\n for (; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.32.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.32.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar $trimEnd = require('../internals/string-trim').end;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.{ trimEnd, trimRight }` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// https://tc39.es/ecma262/#String.prototype.trimright\nmodule.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() {\n return $trimEnd(this);\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimEnd;\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $trimStart = require('../internals/string-trim').start;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.{ trimStart, trimLeft }` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// https://tc39.es/ecma262/#String.prototype.trimleft\nmodule.exports = forcedStringTrimMethod('trimStart') ? function trimStart() {\n return $trimStart(this);\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimStart;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Error = Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n var isInstance = isPrototypeOf(AggregateErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf($Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);\n } else {\n that = isInstance ? this : create(AggregateErrorPrototype);\n createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));\n installErrorStack(that, $AggregateError, that.stack, 1);\n if (arguments.length > 2) installErrorCause(that, arguments[2]);\n var errorsArray = [];\n iterate(errors, push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($AggregateError, $Error);\nelse copyConstructorProperties($AggregateError, $Error, { name: true });\n\nvar AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, {\n constructor: createPropertyDescriptor(1, $AggregateError),\n message: createPropertyDescriptor(1, ''),\n name: createPropertyDescriptor(1, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true, constructor: true, arity: 2 }, {\n AggregateError: $AggregateError\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.aggregate-error.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A;\n aCallable(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true, forced: global.globalThis !== global }, {\n globalThis: global\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\n});\n","'use strict';\n// TODO: Remove this line from `core-js@4`\nrequire('../modules/es.string.trim-right');\nvar $ = require('../internals/export');\nvar trimEnd = require('../internals/string-trim-end');\n\n// `String.prototype.trimEnd` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, {\n trimEnd: trimEnd\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar trimStart = require('../internals/string-trim-start');\n\n// `String.prototype.trimLeft` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimleft\n// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe\n$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, {\n trimLeft: trimStart\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar trimEnd = require('../internals/string-trim-end');\n\n// `String.prototype.trimRight` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe\n$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, {\n trimRight: trimEnd\n});\n","'use strict';\n// TODO: Remove this line from `core-js@4`\nrequire('../modules/es.string.trim-left');\nvar $ = require('../internals/export');\nvar trimStart = require('../internals/string-trim-start');\n\n// `String.prototype.trimStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, {\n trimStart: trimStart\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () {\n nativeSort(new Uint16Array(2), null);\n}) && fails(function () {\n nativeSort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!nativeSort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n nativeSort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return nativeSort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.aggregate-error');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\n };\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","exports.components = {\n \"component---src-templates-page-press-release-tsx\": () => import(\"./../../../src/templates/PagePressRelease.tsx\" /* webpackChunkName: \"component---src-templates-page-press-release-tsx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-layout/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-plugin-catch-links/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby-plugin-canonical-urls/gatsby-browser.js'),\n options: {\"plugins\":[],\"siteUrl\":\"https://www.press.qf.org.qa\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"Qatar Foundation\",\"short_name\":\"QF\",\"start_url\":\"/\",\"background_color\":\"#ffffff\",\"theme_color\":\"#11362a\",\"display\":\"standalone\",\"icon\":\"src/assets/images/android-chrome-192x192.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"94c39c6cd10f9bda5f5638dbf100de2a\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-twitter/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../src/lib/gatsby-plugin-page-progress/gatsby-browser.js'),\n options: {\"plugins\":[],\"height\":2,\"prependToBody\":false,\"color\":\"#6BCDB2\",\"excludePaths\":[\"/\",\"/ar\"]},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","exports.createContentDigest = () => ``\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n getSliceResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","import { globalHistory } from '@reach/router';\n\nconst pageTransitionEvent = 'PageTransition::exit';\n\nconst transitionDelay = 400;\n\n// exports.shouldUpdateScroll = () => false;\nexport const shouldUpdateScroll = ({ routerProps: { location }, getSavedScrollPosition }) => {\n\tif (location.action === 'PUSH') {\n\t\twindow.setTimeout(() => {\n\t\t\twindow.scrollTo(0, 0);\n\t\t\tconst event = new global.window.CustomEvent(pageTransitionEvent, {\n\t\t\t\tdetail: { location }\n\t\t\t});\n\t\t\tglobal.window.dispatchEvent(event);\n\t\t}, transitionDelay);\n\t} else {\n\t\tconst savedPosition = getSavedScrollPosition(location);\n\t\twindow.setTimeout(() => {\n\t\t\twindow.scrollTo(...(savedPosition || [0, 0]));\n\t\t\tconst event = new global.window.CustomEvent(pageTransitionEvent, {\n\t\t\t\tdetail: { location }\n\t\t\t});\n\t\t\tglobal.window.dispatchEvent(event);\n\t\t}, transitionDelay);\n\t}\n\treturn false;\n};\n\nexport const onInitialClientRender = () => {\n\t/**\n\t * This is a workaround for a bug in Gatsby\n\t *\n\t * See https://github.com/gatsbyjs/gatsby/issues/8357 for more details\n\t */\n\tglobalHistory._onTransitionComplete();\n};\n","export const onRouteUpdate = ({\n location\n}, pluginOptions = {\n stripQueryString: false\n}) => {\n const domElem = document.querySelector(`link[rel='canonical']`);\n const existingValue = domElem.getAttribute(`href`);\n const baseProtocol = domElem.getAttribute(`data-baseProtocol`);\n const baseHost = domElem.getAttribute(`data-baseHost`);\n if (existingValue && baseProtocol && baseHost) {\n let value = `${baseProtocol}//${baseHost}${location.pathname}`;\n const {\n stripQueryString\n } = pluginOptions;\n if (!stripQueryString) {\n value += location.search;\n }\n value += location.hash;\n domElem.setAttribute(`href`, `${value}`);\n }\n};","import escapeStringRegexp from \"escape-string-regexp\";\nimport { withPrefix } from \"gatsby\";\nexport const userIsForcingNavigation = event => event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;\n\n// IE does not include leading slash in anchor.pathname\nexport const slashedPathname = pathname => pathname[0] === `/` ? pathname : `/${pathname}`;\nexport const navigationWasHandledElsewhere = event => event.defaultPrevented;\nexport const findClosestAnchor = node => {\n for (; node.parentNode; node = node.parentNode) {\n if (node.nodeName.toLowerCase() === `a`) {\n return node;\n }\n }\n return null;\n};\nexport const anchorsTargetIsEquivalentToSelf = anchor => /* If target attribute is not present it's treated as _self */\nanchor.hasAttribute(`target`) === false ||\n/**\n * The browser defaults to _self, but, not all browsers set\n * a.target to the string value `_self` by default\n */\n\n/**\n * Assumption: some browsers use null/undefined for default\n * attribute values\n */\nanchor.target == null ||\n/**\n * Some browsers use the empty string to mean _self, check\n * for actual `_self`\n */\n[`_self`, ``].includes(anchor.target) ||\n/**\n * As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\nanchor.target === `_parent` && (!anchor.ownerDocument.defaultView.parent ||\n// Assumption: This can be falsey\nanchor.ownerDocument.defaultView.parent === anchor.ownerDocument.defaultView) || anchor.target === `_top` && (!anchor.ownerDocument.defaultView.top ||\n// Assumption: This can be falsey\nanchor.ownerDocument.defaultView.top === anchor.ownerDocument.defaultView);\nexport const authorIsForcingNavigation = anchor =>\n/**\n * HTML5 attribute that informs the browser to handle the\n * href as a downloadable file; let the browser handle it\n */\nanchor.hasAttribute(`download`) === true ||\n/**\n * Let the browser handle anything that doesn't look like a\n * target=\"_self\" anchor\n */\nanchorsTargetIsEquivalentToSelf(anchor) === false;\n\n// https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\nexport const urlsAreOnSameOrigin = (origin, destination) => origin.protocol === destination.protocol && /* a.host includes both hostname and port in the expected format host:port */\norigin.host === destination.host;\nexport const pathIsNotHandledByApp = (destination, pathStartRegEx) => {\n const pathFileExtensionRegEx = /^.*\\.((?!htm)[a-z0-9]{1,5})$/i;\n return (\n /**\n * For when pathPrefix is used in an app and there happens to be a link\n * pointing to the same domain but outside of the app's pathPrefix. For\n * example, a Gatsby app lives at https://example.com/myapp/, with the\n * pathPrefix set to `/myapp`. When adding an absolute link to the same\n * domain but outside of the /myapp path, for example, `` the plugin won't catch it and\n * will navigate to an external link instead of doing a pushState resulting\n * in `https://example.com/myapp/https://example.com/not-my-app`\n */\n pathStartRegEx.test(slashedPathname(destination.pathname)) === false ||\n /**\n * Don't catch links pointed at what look like file extensions (other than\n * .htm/html extensions).\n */\n destination.pathname.search(pathFileExtensionRegEx) !== -1\n );\n};\nexport const hashShouldBeFollowed = (origin, destination) => destination.hash !== `` && (\n/**\n * Dynamically created anchor links (href=\"#my-anchor\") do not always\n * have pathname on IE\n */\ndestination.pathname === `` || /* Don't catch links pointed to the same page but with a hash. */\ndestination.pathname === origin.pathname);\nexport const routeThroughBrowserOrApp = (hrefHandler, pluginOptions) => event => {\n if (window.___failedResources) return true;\n if (userIsForcingNavigation(event)) return true;\n if (navigationWasHandledElsewhere(event)) return true;\n const clickedAnchor = findClosestAnchor(event.target);\n if (clickedAnchor == null) return true;\n if (authorIsForcingNavigation(clickedAnchor)) return true;\n\n // IE clears the host value if the anchor href changed after creation, e.g.\n // in React. Creating a new anchor element to ensure host value is present\n const destination = document.createElement(`a`);\n\n // https://html.spec.whatwg.org/multipage/links.html#concept-hyperlink-url-set\n // If clickedAnchor has no href attribute like `example`, the href getter returns empty string.\n if (clickedAnchor.href !== ``) {\n destination.href = clickedAnchor.href;\n }\n if (`SVGAnimatedString` in window && clickedAnchor.href instanceof SVGAnimatedString) {\n destination.href = clickedAnchor.href.animVal;\n }\n\n // In IE, the default port is included in the anchor host but excluded from\n // the location host. This affects the ability to directly compare\n // location host to anchor host. For example: http://example.com would\n // have a location.host of 'example.com' and an destination.host of\n // 'example.com:80' Creating anchor from the location.href to normalize the\n // host value.\n const origin = document.createElement(`a`);\n origin.href = window.location.href;\n if (urlsAreOnSameOrigin(origin, destination) === false) return true;\n\n // Regex to test pathname against pathPrefix\n const pathStartRegEx = new RegExp(`^${escapeStringRegexp(withPrefix(`/`))}`);\n if (pathIsNotHandledByApp(destination, pathStartRegEx)) return true;\n if (hashShouldBeFollowed(origin, destination)) return true;\n if (pluginOptions.excludePattern) {\n const excludeRegex = new RegExp(pluginOptions.excludePattern);\n if (excludeRegex.test(destination.pathname)) {\n return true;\n }\n }\n event.preventDefault();\n\n // See issue #8907: destination.pathname already includes pathPrefix added\n // by gatsby-transformer-remark but gatsby-link.navigate needs href without\n const destinationPathname = slashedPathname(destination.pathname).replace(pathStartRegEx, `/`);\n hrefHandler(`${destinationPathname}${destination.search}${destination.hash}`);\n return false;\n};\nexport default function (root, pluginOptions, cb) {\n const clickHandler = routeThroughBrowserOrApp(cb, pluginOptions);\n root.addEventListener(`click`, clickHandler);\n return () => root.removeEventListener(`click`, clickHandler);\n}","import { navigate } from \"gatsby\";\nimport catchLinks from \"./catch-links\";\nexport const onClientEntry = (_, pluginOptions = {}) => {\n catchLinks(window, pluginOptions, href => {\n navigate(href);\n });\n};","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n","import camelCase from \"camelcase\"\nimport type { IGatsbyImageData } from \"./index\"\n\nconst DEFAULT_PIXEL_DENSITIES = [0.25, 0.5, 1, 2]\nexport const DEFAULT_BREAKPOINTS = [750, 1080, 1366, 1920]\nexport const EVERY_BREAKPOINT = [\n 320, 654, 768, 1024, 1366, 1600, 1920, 2048, 2560, 3440, 3840, 4096,\n]\nconst DEFAULT_FLUID_WIDTH = 800\nconst DEFAULT_FIXED_WIDTH = 800\nconst DEFAULT_ASPECT_RATIO = 4 / 3\n\nexport type Fit = \"cover\" | \"fill\" | \"inside\" | \"outside\" | \"contain\"\n\nexport type Layout = \"fixed\" | \"fullWidth\" | \"constrained\"\nexport type ImageFormat = \"jpg\" | \"png\" | \"webp\" | \"avif\" | \"auto\" | \"\"\n\n/**\n * The minimal required reporter, as we don't want to import it from gatsby-cli\n */\nexport interface IReporter {\n warn(message: string): void\n}\n\nexport interface ISharpGatsbyImageArgs {\n layout?: Layout\n formats?: Array\n placeholder?: \"tracedSVG\" | \"dominantColor\" | \"blurred\" | \"none\"\n tracedSVGOptions?: Record\n width?: number\n height?: number\n aspectRatio?: number\n sizes?: string\n quality?: number\n transformOptions?: {\n fit?: Fit\n cropFocus?: number | string\n duotone?: {\n highlight: string\n shadow: string\n opacity?: number\n }\n grayscale?: boolean\n rotate?: number\n trim?: number\n }\n jpgOptions?: Record\n pngOptions?: Record\n webpOptions?: Record\n avifOptions?: Record\n blurredOptions?: { width?: number; toFormat?: ImageFormat }\n breakpoints?: Array\n outputPixelDensities?: Array\n backgroundColor?: string\n}\n\nexport interface IImageSizeArgs {\n width?: number\n height?: number\n layout?: Layout\n filename: string\n outputPixelDensities?: Array\n breakpoints?: Array\n fit?: Fit\n reporter?: IReporter\n sourceMetadata: { width: number; height: number }\n}\n\nexport interface IImageSizes {\n sizes: Array\n presentationWidth: number\n presentationHeight: number\n aspectRatio: number\n unscaledWidth: number\n}\n\nexport interface IImage {\n src: string\n width: number\n height: number\n format: ImageFormat\n}\n\nexport interface IGatsbyImageHelperArgs {\n pluginName: string\n generateImageSource: (\n filename: string,\n width: number,\n height: number,\n format: ImageFormat,\n fit?: Fit,\n options?: Record\n ) => IImage\n layout?: Layout\n formats?: Array\n filename: string\n placeholderURL?: string\n width?: number\n height?: number\n sizes?: string\n reporter?: IReporter\n sourceMetadata?: { width: number; height: number; format: ImageFormat }\n fit?: Fit\n options?: Record\n breakpoints?: Array\n backgroundColor?: string\n aspectRatio?: number\n}\n\nconst warn = (message: string): void => console.warn(message)\n\nconst sortNumeric = (a: number, b: number): number => a - b\n\nexport const getSizes = (width: number, layout: Layout): string | undefined => {\n switch (layout) {\n // If screen is wider than the max size, image width is the max size,\n // otherwise it's the width of the screen\n case `constrained`:\n return `(min-width: ${width}px) ${width}px, 100vw`\n\n // Image is always the same width, whatever the size of the screen\n case `fixed`:\n return `${width}px`\n\n // Image is always the width of the screen\n case `fullWidth`:\n return `100vw`\n\n default:\n return undefined\n }\n}\n\nexport const getSrcSet = (images: Array): string =>\n images.map(image => `${image.src} ${image.width}w`).join(`,\\n`)\n\nexport function formatFromFilename(filename: string): ImageFormat | undefined {\n const dot = filename.lastIndexOf(`.`)\n if (dot !== -1) {\n const ext = filename.slice(dot + 1)\n if (ext === `jpeg`) {\n return `jpg`\n }\n if (ext.length === 3 || ext.length === 4) {\n return ext as ImageFormat\n }\n }\n return undefined\n}\n\nexport function setDefaultDimensions(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageHelperArgs {\n let {\n layout = `constrained`,\n width,\n height,\n sourceMetadata,\n breakpoints,\n aspectRatio,\n formats = [`auto`, `webp`],\n } = args\n formats = formats.map(format => format.toLowerCase() as ImageFormat)\n layout = camelCase(layout) as Layout\n\n if (width && height) {\n return { ...args, formats, layout, aspectRatio: width / height }\n }\n if (sourceMetadata.width && sourceMetadata.height && !aspectRatio) {\n aspectRatio = sourceMetadata.width / sourceMetadata.height\n }\n\n if (layout === `fullWidth`) {\n width = width || sourceMetadata.width || breakpoints[breakpoints.length - 1]\n height = height || Math.round(width / (aspectRatio || DEFAULT_ASPECT_RATIO))\n } else {\n if (!width) {\n if (height && aspectRatio) {\n width = height * aspectRatio\n } else if (sourceMetadata.width) {\n width = sourceMetadata.width\n } else if (height) {\n width = Math.round(height / DEFAULT_ASPECT_RATIO)\n } else {\n width = DEFAULT_FIXED_WIDTH\n }\n }\n\n if (aspectRatio && !height) {\n height = Math.round(width / aspectRatio)\n } else if (!aspectRatio) {\n aspectRatio = width / height\n }\n }\n return { ...args, width, height, aspectRatio, layout, formats }\n}\n\n/**\n * Use this for getting an image for the blurred placeholder. This ensures the\n * aspect ratio and crop match the main image\n */\nexport function getLowResolutionImageURL(\n args: IGatsbyImageHelperArgs,\n width = 20\n): string {\n args = setDefaultDimensions(args)\n const { generateImageSource, filename, aspectRatio } = args\n return generateImageSource(\n filename,\n width,\n Math.round(width / aspectRatio),\n args.sourceMetadata.format || `jpg`,\n args.fit,\n args.options\n )?.src\n}\n\nexport function generateImageData(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageData {\n args = setDefaultDimensions(args)\n\n let {\n pluginName,\n sourceMetadata,\n generateImageSource,\n layout,\n fit,\n options,\n width,\n height,\n filename,\n reporter = { warn },\n backgroundColor,\n placeholderURL,\n } = args\n\n if (!pluginName) {\n reporter.warn(\n `[gatsby-plugin-image] \"generateImageData\" was not passed a plugin name`\n )\n }\n\n if (typeof generateImageSource !== `function`) {\n throw new Error(`generateImageSource must be a function`)\n }\n\n if (!sourceMetadata || (!sourceMetadata.width && !sourceMetadata.height)) {\n // No metadata means we let the CDN handle max size etc, aspect ratio etc\n sourceMetadata = {\n width,\n height,\n format: sourceMetadata?.format || formatFromFilename(filename) || `auto`,\n }\n } else if (!sourceMetadata.format) {\n sourceMetadata.format = formatFromFilename(filename)\n }\n\n const formats = new Set(args.formats)\n\n if (formats.size === 0 || formats.has(`auto`) || formats.has(``)) {\n formats.delete(`auto`)\n formats.delete(``)\n formats.add(sourceMetadata.format)\n }\n\n if (formats.has(`jpg`) && formats.has(`png`)) {\n reporter.warn(\n `[${pluginName}] Specifying both 'jpg' and 'png' formats is not supported. Using 'auto' instead`\n )\n if (sourceMetadata.format === `jpg`) {\n formats.delete(`png`)\n } else {\n formats.delete(`jpg`)\n }\n }\n\n const imageSizes = calculateImageSizes({ ...args, sourceMetadata })\n\n const result: IGatsbyImageData[\"images\"] = {\n sources: [],\n }\n\n let sizes = args.sizes\n if (!sizes) {\n sizes = getSizes(imageSizes.presentationWidth, layout)\n }\n\n formats.forEach(format => {\n const images = imageSizes.sizes\n .map(size => {\n const imageSrc = generateImageSource(\n filename,\n size,\n Math.round(size / imageSizes.aspectRatio),\n format,\n fit,\n options\n )\n if (\n !imageSrc?.width ||\n !imageSrc.height ||\n !imageSrc.src ||\n !imageSrc.format\n ) {\n reporter.warn(\n `[${pluginName}] The resolver for image ${filename} returned an invalid value.`\n )\n return undefined\n }\n return imageSrc\n })\n .filter(Boolean)\n\n if (format === `jpg` || format === `png` || format === `auto`) {\n const unscaled =\n images.find(img => img.width === imageSizes.unscaledWidth) || images[0]\n\n if (unscaled) {\n result.fallback = {\n src: unscaled.src,\n srcSet: getSrcSet(images),\n sizes,\n }\n }\n } else {\n result.sources?.push({\n srcSet: getSrcSet(images),\n sizes,\n type: `image/${format}`,\n })\n }\n })\n\n const imageProps: Partial = {\n images: result,\n layout,\n backgroundColor,\n }\n\n if (placeholderURL) {\n imageProps.placeholder = { fallback: placeholderURL }\n }\n\n switch (layout) {\n case `fixed`:\n imageProps.width = imageSizes.presentationWidth\n imageProps.height = imageSizes.presentationHeight\n break\n\n case `fullWidth`:\n imageProps.width = 1\n imageProps.height = 1 / imageSizes.aspectRatio\n break\n\n case `constrained`:\n imageProps.width = args.width || imageSizes.presentationWidth || 1\n imageProps.height = (imageProps.width || 1) / imageSizes.aspectRatio\n }\n\n return imageProps as IGatsbyImageData\n}\n\nconst dedupeAndSortDensities = (values: Array): Array =>\n Array.from(new Set([1, ...values])).sort(sortNumeric)\n\nexport function calculateImageSizes(args: IImageSizeArgs): IImageSizes {\n const {\n width,\n height,\n filename,\n layout = `constrained`,\n sourceMetadata: imgDimensions,\n reporter = { warn },\n breakpoints = DEFAULT_BREAKPOINTS,\n } = args\n\n // check that all dimensions provided are positive\n const userDimensions = { width, height }\n const erroneousUserDimensions = Object.entries(userDimensions).filter(\n ([_, size]) => typeof size === `number` && size < 1\n )\n if (erroneousUserDimensions.length) {\n throw new Error(\n `Specified dimensions for images must be positive numbers (> 0). Problem dimensions you have are ${erroneousUserDimensions\n .map(dim => dim.join(`: `))\n .join(`, `)}`\n )\n }\n\n if (layout === `fixed`) {\n return fixedImageSizes(args)\n } else if (layout === `constrained`) {\n return responsiveImageSizes(args)\n } else if (layout === `fullWidth`) {\n return responsiveImageSizes({ breakpoints, ...args })\n } else {\n reporter.warn(\n `No valid layout was provided for the image at ${filename}. Valid image layouts are fixed, fullWidth, and constrained. Found ${layout}`\n )\n return {\n sizes: [imgDimensions.width],\n presentationWidth: imgDimensions.width,\n presentationHeight: imgDimensions.height,\n aspectRatio: imgDimensions.width / imgDimensions.height,\n unscaledWidth: imgDimensions.width,\n }\n }\n}\nexport function fixedImageSizes({\n filename,\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n reporter = { warn },\n}: IImageSizeArgs): IImageSizes {\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n if (!width) {\n if (!height) {\n width = DEFAULT_FIXED_WIDTH\n } else {\n width = Math.round(height * aspectRatio)\n }\n } else if (!height) {\n height = Math.round(width / aspectRatio)\n }\n\n const originalWidth = width // will use this for presentationWidth, don't want to lose it\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n\n // If the image is smaller than requested, warn the user that it's being processed as such\n // print out this message with the necessary information before we overwrite it for sizing\n if (isTopSizeOverriden) {\n const fixedDimension = imgDimensions.width < width ? `width` : `height`\n reporter.warn(`\nThe requested ${fixedDimension} \"${\n fixedDimension === `width` ? width : height\n }px\" for the image ${filename} was larger than the actual image ${fixedDimension} of ${\n imgDimensions[fixedDimension]\n }px. If possible, replace the current image with a larger one.`)\n\n if (fixedDimension === `width`) {\n width = imgDimensions.width\n height = Math.round(width / aspectRatio)\n } else {\n height = imgDimensions.height\n width = height * aspectRatio\n }\n }\n\n const sizes = densities\n .filter(size => size >= 1) // remove smaller densities because fixed images don't need them\n .map(density => Math.round(density * (width as number)))\n .filter(size => size <= imgDimensions.width)\n\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function responsiveImageSizes({\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n breakpoints,\n layout,\n}: IImageSizeArgs): IImageSizes {\n let sizes\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n // Case 1: width of height were passed in, make sure it isn't larger than the actual image\n width = width && Math.min(width, imgDimensions.width)\n height = height && Math.min(height, imgDimensions.height)\n\n // Case 2: neither width or height were passed in, use default size\n if (!width && !height) {\n width = Math.min(DEFAULT_FLUID_WIDTH, imgDimensions.width)\n height = width / aspectRatio\n }\n\n // if it still hasn't been found, calculate width from the derived height.\n // TS isn't smart enough to realise the type for height has been narrowed here\n if (!width) {\n width = (height as number) * aspectRatio\n }\n\n const originalWidth = width\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n if (isTopSizeOverriden) {\n width = imgDimensions.width\n height = imgDimensions.height\n }\n\n width = Math.round(width)\n\n if (breakpoints?.length > 0) {\n sizes = breakpoints.filter(size => size <= imgDimensions.width)\n\n // If a larger breakpoint has been filtered-out, add the actual image width instead\n if (\n sizes.length < breakpoints.length &&\n !sizes.includes(imgDimensions.width)\n ) {\n sizes.push(imgDimensions.width)\n }\n } else {\n sizes = densities.map(density => Math.round(density * (width as number)))\n sizes = sizes.filter(size => size <= imgDimensions.width)\n }\n\n // ensure that the size passed in is included in the final output\n if (layout === `constrained` && !sizes.includes(width)) {\n sizes.push(width)\n }\n sizes = sizes.sort(sortNumeric)\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function getDimensionsAndAspectRatio(\n dimensions,\n options\n): { width: number; height: number; aspectRatio: number } {\n // Calculate the eventual width/height of the image.\n const imageAspectRatio = dimensions.width / dimensions.height\n\n let width = options.width\n let height = options.height\n\n switch (options.fit) {\n case `fill`: {\n width = options.width ? options.width : dimensions.width\n height = options.height ? options.height : dimensions.height\n break\n }\n case `inside`: {\n const widthOption = options.width\n ? options.width\n : Number.MAX_SAFE_INTEGER\n const heightOption = options.height\n ? options.height\n : Number.MAX_SAFE_INTEGER\n\n width = Math.min(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.min(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n case `outside`: {\n const widthOption = options.width ? options.width : 0\n const heightOption = options.height ? options.height : 0\n\n width = Math.max(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.max(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n\n default: {\n if (options.width && !options.height) {\n width = options.width\n height = Math.round(options.width / imageAspectRatio)\n }\n\n if (options.height && !options.width) {\n width = Math.round(options.height * imageAspectRatio)\n height = options.height\n }\n }\n }\n\n return {\n width,\n height,\n aspectRatio: width / height,\n }\n}\n","/* global GATSBY___IMAGE */\nimport { generateImageData, EVERY_BREAKPOINT } from \"../image-utils\"\nimport type { CSSProperties, HTMLAttributes, ImgHTMLAttributes } from \"react\"\nimport type { Node } from \"gatsby\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { IGatsbyImageData } from \"./gatsby-image.browser\"\nimport type {\n IGatsbyImageHelperArgs,\n Layout,\n IImage,\n ImageFormat,\n} from \"../image-utils\"\n\n// Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\nexport const hasNativeLazyLoadSupport = (): boolean =>\n typeof HTMLImageElement !== `undefined` &&\n `loading` in HTMLImageElement.prototype\n\nexport function gatsbyImageIsInstalled(): boolean {\n return typeof GATSBY___IMAGE !== `undefined` && GATSBY___IMAGE\n}\n\nexport type IGatsbyImageDataParent = T & {\n gatsbyImageData: IGatsbyImageData\n}\nexport type IGatsbyImageParent = T & {\n gatsbyImage: IGatsbyImageData\n}\nexport type FileNode = Partial & {\n childImageSharp?: IGatsbyImageDataParent>\n}\n\nconst isGatsbyImageData = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageData | any\n): node is IGatsbyImageData =>\n // 🦆 check for a deep prop to be sure this is a valid gatsbyImageData object\n Boolean(node?.images?.fallback?.src)\n\nconst isGatsbyImageDataParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageDataParent | any\n): node is IGatsbyImageDataParent => Boolean(node?.gatsbyImageData)\n\nconst isGatsbyImageParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageParent | any\n): node is IGatsbyImageParent => Boolean(node?.gatsbyImage)\n\nexport type ImageDataLike =\n | FileNode\n | IGatsbyImageDataParent\n | IGatsbyImageParent\n | IGatsbyImageData\n\nexport const getImage = (\n node: ImageDataLike | null\n): IGatsbyImageData | undefined => {\n // This checks both for gatsbyImageData and gatsbyImage\n if (isGatsbyImageData(node)) {\n return node\n }\n // gatsbyImageData GraphQL field\n if (isGatsbyImageDataParent(node)) {\n return node.gatsbyImageData\n }\n // gatsbyImage GraphQL field for Gatsby's Image CDN service\n if (isGatsbyImageParent(node)) {\n return node.gatsbyImage\n }\n return node?.childImageSharp?.gatsbyImageData\n}\n\nexport const getSrc = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.src\n\nexport const getSrcSet = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.srcSet\n\nexport function getWrapperProps(\n width: number,\n height: number,\n layout: Layout\n): Pick, \"className\" | \"style\"> & {\n \"data-gatsby-image-wrapper\": string\n} {\n const wrapperStyle: CSSProperties = {}\n\n let className = `gatsby-image-wrapper`\n\n // If the plugin isn't installed we need to apply the styles inline\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.position = `relative`\n wrapperStyle.overflow = `hidden`\n }\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n } else if (layout === `constrained`) {\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.display = `inline-block`\n wrapperStyle.verticalAlign = `top`\n }\n className = `gatsby-image-wrapper gatsby-image-wrapper-constrained`\n }\n\n return {\n className,\n \"data-gatsby-image-wrapper\": ``,\n style: wrapperStyle,\n }\n}\n\nexport interface IUrlBuilderArgs {\n width: number\n height: number\n baseUrl: string\n format: ImageFormat\n options: OptionsType\n}\nexport interface IGetImageDataArgs> {\n baseUrl: string\n /**\n * For constrained and fixed images, the size of the image element\n */\n width?: number\n height?: number\n /**\n * If available, pass the source image width and height\n */\n sourceWidth?: number\n sourceHeight?: number\n /**\n * If only one dimension is passed, then this will be used to calculate the other.\n */\n aspectRatio?: number\n layout?: Layout\n /**\n * Returns a URL based on the passed arguments. Should be a pure function\n */\n urlBuilder: (args: IUrlBuilderArgs) => string\n\n /**\n * Should be a data URI\n */\n placeholderURL?: string\n backgroundColor?: string\n /**\n * Used in error messages etc\n */\n pluginName?: string\n\n /**\n * If you do not support auto-format, pass an array of image types here\n */\n formats?: Array\n\n breakpoints?: Array\n\n /**\n * Passed to the urlBuilder function\n */\n options?: OptionsType\n}\n\n/**\n * Use this hook to generate gatsby-plugin-image data in the browser.\n */\nexport function getImageData({\n baseUrl,\n urlBuilder,\n sourceWidth,\n sourceHeight,\n pluginName = `getImageData`,\n formats = [`auto`],\n breakpoints,\n options,\n ...props\n}: IGetImageDataArgs): IGatsbyImageData {\n if (\n !breakpoints?.length &&\n (props.layout === `fullWidth` || (props.layout as string) === `FULL_WIDTH`)\n ) {\n breakpoints = EVERY_BREAKPOINT\n }\n const generateImageSource = (\n baseUrl: string,\n width: number,\n height?: number,\n format?: ImageFormat\n ): IImage => {\n return {\n width,\n height,\n format,\n src: urlBuilder({ baseUrl, width, height, options, format }),\n }\n }\n\n const sourceMetadata: IGatsbyImageHelperArgs[\"sourceMetadata\"] = {\n width: sourceWidth,\n height: sourceHeight,\n format: `auto`,\n }\n\n const args: IGatsbyImageHelperArgs = {\n ...props,\n pluginName,\n generateImageSource,\n filename: baseUrl,\n formats,\n breakpoints,\n sourceMetadata,\n }\n return generateImageData(args)\n}\n\nexport function getMainProps(\n isLoading: boolean,\n isLoaded: boolean,\n images: IGatsbyImageData[\"images\"],\n loading?: \"eager\" | \"lazy\",\n style: CSSProperties = {}\n): Partial {\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n transform: `translateZ(0)`,\n transition: `opacity 250ms linear`,\n width: `100%`,\n willChange: `opacity`,\n ...style,\n }\n }\n\n const result = {\n ...images,\n loading,\n shouldLoad: isLoading,\n \"data-main-image\": ``,\n style: {\n ...style,\n opacity: isLoaded ? 1 : 0,\n },\n }\n\n return result\n}\n\nexport type PlaceholderImageAttrs = ImgHTMLAttributes &\n Pick & {\n \"data-placeholder-image\"?: string\n }\n\nexport function getPlaceholderProps(\n placeholder: PlaceholderImageAttrs | undefined,\n isLoaded: boolean,\n layout: Layout,\n width?: number,\n height?: number,\n backgroundColor?: string,\n objectFit?: CSSProperties[\"objectFit\"],\n objectPosition?: CSSProperties[\"objectPosition\"]\n): PlaceholderImageAttrs {\n const wrapperStyle: CSSProperties = {}\n\n if (backgroundColor) {\n wrapperStyle.backgroundColor = backgroundColor\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n wrapperStyle.backgroundColor = backgroundColor\n wrapperStyle.position = `relative`\n } else if (layout === `constrained`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n } else if (layout === `fullWidth`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n }\n }\n\n if (objectFit) {\n wrapperStyle.objectFit = objectFit\n }\n\n if (objectPosition) {\n wrapperStyle.objectPosition = objectPosition\n }\n const result: PlaceholderImageAttrs = {\n ...placeholder,\n \"aria-hidden\": true,\n \"data-placeholder-image\": ``,\n style: {\n opacity: isLoaded ? 0 : 1,\n transition: `opacity 500ms linear`,\n ...wrapperStyle,\n },\n }\n\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n result.style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n width: `100%`,\n }\n }\n\n return result\n}\n\nexport interface IArtDirectedImage {\n media: string\n image: IGatsbyImageData\n}\n\n/**\n * Generate a Gatsby image data object with multiple, art-directed images that display at different\n * resolutions.\n *\n * @param defaultImage The image displayed when no media query matches.\n * It is also used for all other settings applied to the image, such as width, height and layout.\n * You should pass a className to the component with media queries to adjust the size of the container,\n * as this cannot be adjusted automatically.\n * @param artDirected Array of objects which each contains a `media` string which is a media query\n * such as `(min-width: 320px)`, and the image object to use when that query matches.\n */\nexport function withArtDirection(\n defaultImage: IGatsbyImageData,\n artDirected: Array\n): IGatsbyImageData {\n const { images, placeholder, ...props } = defaultImage\n const output: IGatsbyImageData = {\n ...props,\n images: {\n ...images,\n sources: [],\n },\n placeholder: placeholder && {\n ...placeholder,\n sources: [],\n },\n }\n\n artDirected.forEach(({ media, image }) => {\n if (!media) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(\n \"[gatsby-plugin-image] All art-directed images passed to must have a value set for `media`. Skipping.\"\n )\n }\n return\n }\n\n if (\n image.layout !== defaultImage.layout &&\n process.env.NODE_ENV === `development`\n ) {\n console.warn(\n `[gatsby-plugin-image] Mismatched image layout: expected \"${defaultImage.layout}\" but received \"${image.layout}\". All art-directed images use the same layout as the default image`\n )\n }\n\n output.images.sources.push(\n ...image.images.sources.map(source => {\n return { ...source, media }\n }),\n {\n media,\n srcSet: image.images.fallback.srcSet,\n }\n )\n\n if (!output.placeholder) {\n return\n }\n\n output.placeholder.sources.push({\n media,\n srcSet: image.placeholder.fallback,\n })\n })\n output.images.sources.push(...images.sources)\n if (placeholder?.sources) {\n output.placeholder?.sources.push(...placeholder.sources)\n }\n return output\n}\n","import React, { Fragment, FunctionComponent, PropsWithChildren } from \"react\"\nimport terserMacro from \"../../macros/terser.macro\"\nimport { Layout } from \"../image-utils\"\n\nexport interface ILayoutWrapperProps {\n layout: Layout\n width: number\n height: number\n}\n\nconst NativeScriptLoading: FunctionComponent = () => (\n \n)\n\nexport function getSizer(\n layout: Layout,\n width: number,\n height: number\n): string {\n let sizer = ``\n if (layout === `fullWidth`) {\n sizer = `
`\n }\n\n if (layout === `constrained`) {\n sizer = `
\"\"
`\n }\n\n return sizer\n}\n\nconst Sizer: FunctionComponent = function Sizer({\n layout,\n width,\n height,\n}) {\n if (layout === `fullWidth`) {\n return (\n
\n )\n }\n\n if (layout === `constrained`) {\n return (\n
\n \n
\n )\n }\n\n return null\n}\n\nexport const LayoutWrapper: FunctionComponent<\n PropsWithChildren\n> = function LayoutWrapper({ children, ...props }) {\n return (\n \n \n {children}\n\n {SERVER ? : null}\n \n )\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\nimport { Picture, SourceProps } from \"./picture\"\n\nexport type PlaceholderProps = ImgHTMLAttributes & {\n fallback?: string\n sources?: Array\n}\n\nexport const Placeholder: FunctionComponent =\n function Placeholder({ fallback, ...props }) {\n if (fallback) {\n return (\n \n )\n } else {\n return
\n }\n }\n\nPlaceholder.displayName = `Placeholder`\nPlaceholder.propTypes = {\n fallback: PropTypes.string,\n sources: Picture.propTypes?.sources,\n alt: function (props, propName, componentName): Error | null {\n if (!props[propName]) {\n return null\n }\n\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. Validation failed.`\n )\n },\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\n\nexport interface IResponsiveImageProps {\n sizes?: string\n srcSet: string\n}\n\nexport type SourceProps = IResponsiveImageProps &\n (\n | {\n media: string\n type?: string\n }\n | {\n media?: string\n type: string\n }\n )\n\ntype FallbackProps = { src: string } & Partial\n\ntype ImageProps = ImgHTMLAttributes & {\n src: string\n alt: string\n shouldLoad: boolean\n}\n\nexport type PictureProps = ImgHTMLAttributes & {\n fallback?: FallbackProps\n sources?: Array\n alt: string\n shouldLoad?: boolean\n}\n\nconst Image: FunctionComponent = function Image({\n src,\n srcSet,\n loading,\n alt = ``,\n shouldLoad,\n ...props\n}) {\n return (\n \n )\n}\n\nexport const Picture: React.FC = function Picture({\n fallback,\n sources = [],\n shouldLoad = true,\n ...props\n}) {\n const sizes = props.sizes || fallback?.sizes\n const fallbackImage = (\n \n )\n\n if (!sources.length) {\n return fallbackImage\n }\n\n return (\n \n {sources.map(({ media, srcSet, type }) => (\n \n ))}\n {fallbackImage}\n \n )\n}\n\nImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string,\n shouldLoad: PropTypes.bool,\n}\n\nPicture.displayName = `Picture`\nPicture.propTypes = {\n alt: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n fallback: PropTypes.exact({\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n sizes: PropTypes.string,\n }),\n sources: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.exact({\n media: PropTypes.string.isRequired,\n type: PropTypes.string,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n PropTypes.exact({\n media: PropTypes.string,\n type: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n ])\n ),\n}\n","import React from \"react\"\nimport { Picture, PictureProps } from \"./picture\"\n\nexport type MainImageProps = PictureProps\n\nexport const MainImage: React.FC = function MainImage(props) {\n return (\n <>\n \n \n \n )\n}\n\nMainImage.displayName = `MainImage`\nMainImage.propTypes = Picture.propTypes\n","import {\n createElement,\n memo,\n useMemo,\n useEffect,\n useLayoutEffect,\n useRef,\n} from \"react\"\nimport {\n getWrapperProps,\n gatsbyImageIsInstalled,\n hasNativeLazyLoadSupport,\n} from \"./hooks\"\nimport { getSizer } from \"./layout-wrapper\"\nimport { propTypes } from \"./gatsby-image.server\"\nimport type {\n FC,\n ElementType,\n FunctionComponent,\n ImgHTMLAttributes,\n CSSProperties,\n ReactEventHandler,\n} from \"react\"\nimport type { renderImageToString } from \"./lazy-hydrate\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { Layout } from \"../image-utils\"\n\nconst imageCache = new Set()\nlet renderImageToStringPromise\nlet renderImage: typeof renderImageToString | undefined\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface GatsbyImageProps\n extends Omit<\n ImgHTMLAttributes,\n \"placeholder\" | \"onLoad\" | \"src\" | \"srcSet\" | \"width\" | \"height\"\n > {\n alt: string\n as?: ElementType\n className?: string\n class?: string\n imgClassName?: string\n image: IGatsbyImageData\n imgStyle?: CSSProperties\n backgroundColor?: string\n objectFit?: CSSProperties[\"objectFit\"]\n objectPosition?: CSSProperties[\"objectPosition\"]\n onLoad?: (props: { wasCached: boolean }) => void\n onError?: ReactEventHandler\n onStartLoad?: (props: { wasCached: boolean }) => void\n}\n\nexport interface IGatsbyImageData {\n layout: Layout\n width: number\n height: number\n backgroundColor?: string\n images: Pick\n placeholder?: Pick\n}\n\nconst GatsbyImageHydrator: FC = function GatsbyImageHydrator({\n as = `div`,\n image,\n style,\n backgroundColor,\n className,\n class: preactClass,\n onStartLoad,\n onLoad,\n onError,\n ...props\n}) {\n const { width, height, layout } = image\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n const root = useRef()\n const cacheKey = useMemo(() => JSON.stringify(image.images), [image.images])\n\n // Preact uses class instead of className so we need to check for both\n if (preactClass) {\n className = preactClass\n }\n\n const sizer = getSizer(layout, width, height)\n\n useEffect(() => {\n if (!renderImageToStringPromise) {\n renderImageToStringPromise = import(`./lazy-hydrate`).then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n renderImage = renderImageToString\n\n return {\n renderImageToString,\n swapPlaceholderImage,\n }\n }\n )\n }\n\n // The plugin image component is a bit special where if it's server-side rendered, we add extra script tags to support lazy-loading without\n // In this case we stop hydration but fire the correct events.\n const ssrImage = root.current.querySelector(\n `[data-gatsby-image-ssr]`\n ) as HTMLImageElement\n if (ssrImage && hasNativeLazyLoadSupport()) {\n if (ssrImage.complete) {\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n } else {\n onStartLoad?.({\n wasCached: true,\n })\n\n ssrImage.addEventListener(`load`, function onLoadListener() {\n ssrImage.removeEventListener(`load`, onLoadListener)\n\n onLoad?.({\n wasCached: true,\n })\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n })\n }\n\n imageCache.add(cacheKey)\n\n return\n }\n\n if (renderImage && imageCache.has(cacheKey)) {\n return\n }\n\n let animationFrame\n let cleanupCallback\n renderImageToStringPromise.then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n if (!root.current) {\n return\n }\n\n root.current.innerHTML = renderImageToString({\n isLoading: true,\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n if (!imageCache.has(cacheKey)) {\n animationFrame = requestAnimationFrame(() => {\n if (root.current) {\n cleanupCallback = swapPlaceholderImage(\n root.current,\n cacheKey,\n imageCache,\n style,\n onStartLoad,\n onLoad,\n onError\n )\n }\n })\n }\n }\n )\n\n // eslint-disable-next-line consistent-return\n return (): void => {\n if (animationFrame) {\n cancelAnimationFrame(animationFrame)\n }\n if (cleanupCallback) {\n cleanupCallback()\n }\n }\n }, [image])\n\n // useLayoutEffect is ran before React commits to the DOM. This allows us to make sure our HTML is using our cached image version\n useLayoutEffect(() => {\n if (imageCache.has(cacheKey) && renderImage) {\n root.current.innerHTML = renderImage({\n isLoading: imageCache.has(cacheKey),\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n }\n }, [image])\n\n // By keeping all props equal React will keep the component in the DOM\n return createElement(as, {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n ref: root,\n dangerouslySetInnerHTML: {\n __html: sizer,\n },\n suppressHydrationWarning: true,\n })\n}\n\nexport const GatsbyImage: FunctionComponent = memo(\n function GatsbyImage(props) {\n if (!props.image) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n }\n\n return null\n }\n\n if (!gatsbyImageIsInstalled() && process.env.NODE_ENV === `development`) {\n console.warn(\n `[gatsby-plugin-image] You're missing out on some cool performance features. Please add \"gatsby-plugin-image\" to your gatsby-config.js`\n )\n }\n\n return createElement(GatsbyImageHydrator, props)\n }\n)\n\nGatsbyImage.propTypes = propTypes\nGatsbyImage.displayName = `GatsbyImage`\n","import React from \"react\"\nimport { getWrapperProps, getMainProps, getPlaceholderProps } from \"./hooks\"\nimport { Placeholder } from \"./placeholder\"\nimport { MainImage, MainImageProps } from \"./main-image\"\nimport { LayoutWrapper } from \"./layout-wrapper\"\nimport PropTypes from \"prop-types\"\nimport type { FunctionComponent, WeakValidationMap } from \"react\"\nimport type { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\n\nconst removeNewLines = (str: string): string => str.replace(/\\n/g, ``)\n\nexport const GatsbyImage: FunctionComponent =\n function GatsbyImage({\n as = `div`,\n className,\n class: preactClass,\n style,\n image,\n loading = `lazy`,\n imgClassName,\n imgStyle,\n backgroundColor,\n objectFit,\n objectPosition,\n ...props\n }) {\n if (!image) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n return null\n }\n\n if (preactClass) {\n className = preactClass\n }\n\n imgStyle = {\n objectFit,\n objectPosition,\n backgroundColor,\n ...imgStyle,\n }\n\n const {\n width,\n height,\n layout,\n images,\n placeholder,\n backgroundColor: placeholderBackgroundColor,\n } = image\n\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n\n const cleanedImages: IGatsbyImageData[\"images\"] = {\n fallback: undefined,\n sources: [],\n }\n if (images.fallback) {\n cleanedImages.fallback = {\n ...images.fallback,\n srcSet: images.fallback.srcSet\n ? removeNewLines(images.fallback.srcSet)\n : undefined,\n }\n }\n\n if (images.sources) {\n cleanedImages.sources = images.sources.map(source => {\n return {\n ...source,\n srcSet: removeNewLines(source.srcSet),\n }\n })\n }\n\n return React.createElement(\n as,\n {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n },\n \n \n\n )}\n // When eager is set we want to start the isLoading state on true (we want to load the img without react)\n {...getMainProps(\n loading === `eager`,\n false,\n cleanedImages,\n loading,\n imgStyle\n )}\n />\n \n )\n }\n\nexport const altValidator: PropTypes.Validator = (\n props: GatsbyImageProps,\n propName,\n componentName,\n ...rest\n): Error | undefined => {\n if (!props.alt && props.alt !== ``) {\n return new Error(\n `The \"alt\" prop is required in ${componentName}. If the image is purely presentational then pass an empty string: e.g. alt=\"\". Learn more: https://a11y-style-guide.com/style-guide/section-media.html`\n )\n }\n\n return PropTypes.string(props, propName, componentName, ...rest)\n}\n\nexport const propTypes = {\n image: PropTypes.object.isRequired,\n alt: altValidator,\n} as WeakValidationMap\n","import React, { FunctionComponent, ReactElement } from \"react\"\nimport {\n altValidator,\n GatsbyImage as GatsbyImageServer,\n} from \"./gatsby-image.server\"\nimport { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\nimport PropTypes from \"prop-types\"\nimport { ISharpGatsbyImageArgs } from \"../image-utils\"\n\nexport interface IStaticImageProps\n extends Omit,\n Omit {\n src: string\n filename?: string\n}\n\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nexport function _getStaticImage(\n GatsbyImage: FunctionComponent\n): React.FC {\n return function StaticImage({\n src,\n __imageData: imageData,\n __error,\n // We extract these because they're not meant to be passed-down to GatsbyImage\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n aspectRatio,\n tracedSVGOptions,\n placeholder,\n formats,\n quality,\n transformOptions,\n jpgOptions,\n pngOptions,\n webpOptions,\n avifOptions,\n blurredOptions,\n breakpoints,\n outputPixelDensities,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...props\n }): ReactElement {\n if (__error) {\n console.warn(__error)\n }\n\n if (imageData) {\n return \n }\n console.warn(`Image not loaded`, src)\n if (!__error && process.env.NODE_ENV === `development`) {\n console.warn(\n `Please ensure that \"gatsby-plugin-image\" is included in the plugins array in gatsby-config.js, and that your version of gatsby is at least 2.24.78`\n )\n }\n return null\n }\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageServer)\n\nconst checkDimensionProps: PropTypes.Validator = (\n props: IStaticImageProps & IPrivateProps,\n propName: keyof IStaticImageProps & IPrivateProps,\n ...rest\n) => {\n if (\n props.layout === `fullWidth` &&\n (propName === `width` || propName === `height`) &&\n props[propName]\n ) {\n return new Error(\n `\"${propName}\" ${props[propName]} may not be passed when layout is fullWidth.`\n )\n }\n return PropTypes.number(props, propName, ...rest)\n}\n\nconst validLayouts = new Set([`fixed`, `fullWidth`, `constrained`])\n\nexport const propTypes = {\n src: PropTypes.string.isRequired,\n alt: altValidator,\n width: checkDimensionProps,\n height: checkDimensionProps,\n sizes: PropTypes.string,\n layout: (props: IStaticImageProps & IPrivateProps): Error | undefined => {\n if (props.layout === undefined) {\n return undefined\n }\n if (validLayouts.has(props.layout)) {\n return undefined\n }\n\n return new Error(\n `Invalid value ${props.layout}\" provided for prop \"layout\". Defaulting to \"constrained\". Valid values are \"fixed\", \"fullWidth\" or \"constrained\".`\n )\n },\n}\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import {\n GatsbyImage as GatsbyImageBrowser,\n IGatsbyImageData,\n} from \"./gatsby-image.browser\"\nimport React from \"react\"\nimport {\n _getStaticImage,\n propTypes,\n IStaticImageProps,\n} from \"./static-image.server\"\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageBrowser)\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","\"use strict\";\n\nexports.wrapPageElement = require(\"./wrap-page\");","\"use strict\";\n\nvar React = require(\"react\");\nvar preferDefault = function preferDefault(m) {\n return m && m.default || m;\n};\nvar Layout;\ntry {\n Layout = preferDefault(require(GATSBY_LAYOUT_COMPONENT_PATH));\n} catch (e) {\n if (e.toString().indexOf(\"Error: Cannot find module\") !== -1) {\n throw new Error(\"Couldn't find layout component at \\\"\" + GATSBY_LAYOUT_COMPONENT_PATH + \".\\n\\n\" + \"Please create layout component in that location or specify path to layout component in gatsby-config.js\");\n } else {\n // Logging the error for debugging older browsers as there is no way\n // to wrap the thrown error in a try/catch.\n console.error(e);\n throw e;\n }\n}\n\n// eslint-disable-next-line react/prop-types,react/display-name\nmodule.exports = function (_ref) {\n var element = _ref.element,\n props = _ref.props;\n return /*#__PURE__*/React.createElement(Layout, props, element);\n};","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","\"use strict\";\n\nvar injectTwitterScript = function injectTwitterScript() {\n function addJS(jsCode) {\n var s = document.createElement(\"script\");\n s.type = \"text/javascript\";\n s.innerText = jsCode;\n document.getElementsByTagName(\"head\")[0].appendChild(s);\n }\n addJS(\"\\n window.twttr = (function(d, s, id) {\\n var js,\\n fjs = d.getElementsByTagName(s)[0],\\n t = window.twttr || {};\\n if (d.getElementById(id)) return t;\\n js = d.createElement(s);\\n js.id = id;\\n js.src = \\\"https://platform.twitter.com/widgets.js\\\";\\n fjs.parentNode.insertBefore(js, fjs);\\n t._e = [];\\n t.ready = function(f) {\\n t._e.push(f);\\n };\\n return t;\\n })(document, \\\"script\\\", \\\"twitter-wjs\\\");\\n \");\n};\nvar injectedTwitterScript = false;\nvar embedClasses = [\".twitter-tweet\", \".twitter-timeline\", \".twitter-follow-button\", \".twitter-share-button\"].join(\",\");\nexports.onRouteUpdate = function () {\n // If there's an embedded element, lazy-load the twitter script (if it hasn't\n // already been loaded), and then run the twitter load function.\n if (document.querySelector(embedClasses) !== null) {\n if (!injectedTwitterScript) {\n injectTwitterScript();\n injectedTwitterScript = true;\n }\n if (typeof twttr !== \"undefined\" && window.twttr.widgets && typeof window.twttr.widgets.load === \"function\") {\n window.twttr.widgets.load();\n }\n }\n};","import { GatsbyImage, getImage, GatsbyImageProps } from \"gatsby-plugin-image\";\nimport * as React from \"react\";\n\nexport class GatsbyImageWrapper extends React.Component<{ outerWrapperClassName?: string } & GatsbyImageProps, any> {\n render() {\n const { outerWrapperClassName, image, loading, ...props } = this.props;\n const gatsbyImage = getImage(image);\n\n if(gatsbyImage || image)\n return (\n \n \n
\n );\n }\n}","var _a;\nvar marginRE = /^-?\\d*\\.?\\d+(px|%)$/;\nexport function parseRootMargin(rootMargin) {\n var marginString = rootMargin ? rootMargin.trim() : '0px';\n var result = marginString.split(/\\s+/).map(function (margin) {\n if (!marginRE.test(margin)) {\n throw new Error('rootMargin must be a string literal containing pixels and/or percent values');\n }\n return margin;\n });\n var m0 = result.shift();\n var _a = result[0],\n m1 = _a === void 0 ? m0 : _a,\n _b = result[1],\n m2 = _b === void 0 ? m0 : _b,\n _c = result[2],\n m3 = _c === void 0 ? m1 : _c;\n return m0 + \" \" + m1 + \" \" + m2 + \" \" + m3;\n}\nexport function shallowCompare(next, prev) {\n if (Array.isArray(next) && Array.isArray(prev)) {\n if (next.length === prev.length) {\n return next.some(function (_, index) {\n return shallowCompare(next[index], prev[index]);\n });\n }\n }\n return next !== prev;\n}\nexport var hasOwnProperty = (_a = Object.prototype, _a.hasOwnProperty),\n toString = _a.toString;\nexport function isChildrenWithRef(children) {\n return children && hasOwnProperty.call(children, 'ref');\n}\nexport function thresholdCacheKey(threshold) {\n if (!threshold || typeof threshold === 'number') {\n return threshold;\n }\n return threshold.join(',');\n}","import { parseRootMargin, shallowCompare } from './utils';\nexport var observerElementsMap = new Map();\nexport function getPooled(options) {\n if (options === void 0) {\n options = {};\n }\n var root = options.root || null;\n var rootMargin = parseRootMargin(options.rootMargin);\n var threshold = Array.isArray(options.threshold) ? options.threshold : [options.threshold != null ? options.threshold : 0];\n var observers = observerElementsMap.keys();\n var observer;\n while (observer = observers.next().value) {\n var unmatched = root !== observer.root || rootMargin !== observer.rootMargin || shallowCompare(threshold, observer.thresholds);\n if (!unmatched) {\n return observer;\n }\n }\n return null;\n}\nexport function findObserverElement(observer, entry) {\n var elements = observerElementsMap.get(observer);\n if (elements) {\n var values = elements.values();\n var element = void 0;\n while (element = values.next().value) {\n if (element.target === entry.target) {\n return element;\n }\n }\n }\n return null;\n}\n/**\n * The Intersection Observer API callback that is called whenever one element\n * – namely the target – intersects either the device viewport or a specified element.\n * Also will get called whenever the visibility of the target element changes and\n * crosses desired amounts of intersection with the root.\n */\nexport function callback(entries, observer) {\n for (var i = 0; i < entries.length; i++) {\n var element = findObserverElement(observer, entries[i]);\n /* istanbul ignore next line */\n if (element) {\n element.handleChange(entries[i]);\n }\n }\n}\nexport function createObserver(options) {\n var pooled = getPooled(options);\n if (pooled) {\n return pooled;\n }\n var observer = new IntersectionObserver(callback, options);\n observerElementsMap.set(observer, new Set());\n return observer;\n}\nexport function observeElement(element) {\n var _a;\n if (element.observer && !observerElementsMap.has(element.observer)) {\n observerElementsMap.set(element.observer, new Set());\n }\n (_a = observerElementsMap.get(element.observer)) === null || _a === void 0 ? void 0 : _a.add(element);\n element.observer.observe(element.target);\n}\nexport function unobserveElement(element, target) {\n if (observerElementsMap.has(element.observer)) {\n var targets = observerElementsMap.get(element.observer);\n if (targets === null || targets === void 0 ? void 0 : targets.delete(element)) {\n if (targets.size > 0) {\n element.observer.unobserve(target);\n } else {\n element.observer.disconnect();\n observerElementsMap.delete(element.observer);\n }\n }\n }\n}","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return _extendStatics(d, b);\n };\n return function (d, b) {\n _extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\nimport React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport { createObserver, observeElement, unobserveElement } from './observer';\nimport { shallowCompare, isChildrenWithRef, hasOwnProperty, toString } from './utils';\nvar observerOptions = ['root', 'rootMargin', 'threshold'];\nvar observableProps = ['root', 'rootMargin', 'threshold', 'disabled'];\nexport var getOptions = function getOptions(props) {\n return observerOptions.reduce(function (options, key) {\n var _a;\n var isRootString = key === 'root' && toString.call(props.root) === '[object String]';\n return Object.assign(options, (_a = {}, _a[key] = isRootString ? document.querySelector(props[key]) : props[key], _a));\n }, {});\n};\nvar ReactIntersectionObserver = /** @class */function (_super) {\n __extends(ReactIntersectionObserver, _super);\n function ReactIntersectionObserver() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handleChange = function (event) {\n _this.props.onChange(event, _this.externalUnobserve);\n };\n _this.handleNode = function (target) {\n var children = _this.props.children;\n /**\n * Forward hijacked ref to user.\n */\n if (isChildrenWithRef(children)) {\n var childenRef = children.ref;\n if (typeof childenRef === 'function') {\n childenRef(target);\n } else if (childenRef && hasOwnProperty.call(childenRef, 'current')) {\n /*\n * The children ref.current is read-only, we aren't allowed to do this, so\n * in future release it has to go away, and the ref shall be\n * forwarded and assigned to a DOM node by the user.\n */\n childenRef.current = target;\n }\n }\n _this.targetNode = undefined;\n if (target) {\n var targetNode = findDOMNode(target);\n if (targetNode && targetNode.nodeType === 1) {\n _this.targetNode = targetNode;\n }\n }\n };\n _this.observe = function () {\n if (_this.props.children == null || _this.props.disabled) {\n return false;\n }\n if (!_this.targetNode) {\n throw new Error(\"ReactIntersectionObserver: Can't find DOM node in the provided children. Make sure to render at least one DOM node in the tree.\");\n }\n _this.observer = createObserver(getOptions(_this.props));\n _this.target = _this.targetNode;\n observeElement(_this);\n return true;\n };\n _this.unobserve = function (target) {\n unobserveElement(_this, target);\n };\n _this.externalUnobserve = function () {\n if (_this.targetNode) {\n _this.unobserve(_this.targetNode);\n }\n };\n return _this;\n }\n ReactIntersectionObserver.prototype.getSnapshotBeforeUpdate = function (prevProps) {\n var _this = this;\n this.prevTargetNode = this.targetNode;\n var relatedPropsChanged = observableProps.some(function (prop) {\n return shallowCompare(_this.props[prop], prevProps[prop]);\n });\n if (relatedPropsChanged) {\n if (this.prevTargetNode) {\n if (!prevProps.disabled) {\n this.unobserve(this.prevTargetNode);\n }\n }\n }\n return relatedPropsChanged;\n };\n ReactIntersectionObserver.prototype.componentDidUpdate = function (_, __, relatedPropsChanged) {\n var targetNodeChanged = false;\n // check if we didn't unobserve previously due to a prop change\n if (!relatedPropsChanged) {\n targetNodeChanged = this.prevTargetNode !== this.targetNode;\n // check we have a previous node we want to unobserve\n if (targetNodeChanged && this.prevTargetNode != null) {\n this.unobserve(this.prevTargetNode);\n }\n }\n if (relatedPropsChanged || targetNodeChanged) {\n this.observe();\n }\n };\n ReactIntersectionObserver.prototype.componentDidMount = function () {\n this.observe();\n };\n ReactIntersectionObserver.prototype.componentWillUnmount = function () {\n if (this.targetNode) {\n this.unobserve(this.targetNode);\n }\n };\n ReactIntersectionObserver.prototype.render = function () {\n var children = this.props.children;\n return children != null ? React.cloneElement(React.Children.only(children), {\n ref: this.handleNode\n }) : null;\n };\n ReactIntersectionObserver.displayName = 'IntersectionObserver';\n return ReactIntersectionObserver;\n}(React.Component);\nexport default ReactIntersectionObserver;\nexport * from './types';","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n function Transition(props, context) {\n var _this;\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n var _proto = Transition.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n if (prevProps !== this.props) {\n var status = this.state.status;\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n this.updateStatus(false, nextStatus);\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n _proto.performExit = function performExit() {\n var _this3 = this;\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n var active = true;\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n this.nextCallback.cancel = function () {\n active = false;\n };\n return this.nextCallback;\n };\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n _proto.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n return (/*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n return Transition;\n}(React.Component);\nTransition.contextType = TransitionGroupContext;\n// Name the function so it is clearer in the documentation\n\nfunction noop() {}\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n var i;\n var childMapping = {};\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n return childMapping;\n}\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n function TransitionGroup(props, context) {\n var _this;\n _this = _React$Component.call(this, props, context) || this;\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n var _proto = TransitionGroup.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n return TransitionGroup;\n}(React.Component);\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import React from 'react';\n\ninterface DelayTransitionRenderProps {\n\tdelay: number;\n\ttimeout: object;\n}\ninterface DelayTransitionRenderState {\n\tshouldRender: boolean;\n}\nexport const delayTransitionRender =

(Component: React.ComponentType

) =>\n\tclass DelayedTransitionWrapper extends React.Component

{\n\t\tprivate timeout: NodeJS.Timer;\n\n\t\tconstructor(props) {\n\t\t\tsuper(props);\n\t\t\tthis.state = {\n\t\t\t\tshouldRender: props.delay === 0\n\t\t\t};\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\tif (this.props.delay !== 0) {\n\t\t\t\tthis.timeout = setTimeout(() => this.setState({ shouldRender: true }), this.props.delay);\n\t\t\t}\n\t\t}\n\t\tcomponentWillUnmount() {\n\t\t\tclearTimeout(this.timeout);\n\t\t}\n\n\t\trender() {\n\t\t\t// console.log('should render', this.state.shouldRender);\n\t\t\treturn this.state.shouldRender || typeof window === `undefined` ? : null;\n\t\t}\n\t};\n","//Import necessary dependencies\nimport React from 'react';\nimport { TransitionGroup, Transition } from 'react-transition-group';\nimport { Globals } from '../utils/Globals';\nimport { delayTransitionRender } from './delayTransitionRender';\n\n//This variable will be responsible for our animation duration\nconst timeout = 400;\nexport const pageTransitionEvent = 'PageTransition::exit';\n\nexport interface IPageTransitionProps {\n children?: any;\n\tlocation: any;\n}\n\n//This object contains basic styles for animation, but you can extend them to whatever you like. Be creative!\nconst getTransitionStyles = {\n\tentering: {\n\t\t// position: 'absolute',\n\t\topacity: 0\n\t},\n\tentered: {\n\t\ttransition: `opacity ${timeout}ms ease-in-out`,\n\t\topacity: 1\n\t},\n\texiting: {\n\t\t// position: 'absolute',\n\t\ttransition: `opacity ${timeout}ms ease-in-out`,\n\t\topacity: 0\n\t}\n};\n// @ts-ignore\nconst DelayedTransition = delayTransitionRender(Transition);\n\nclass PageTransition extends React.PureComponent {\n\trender() {\n\t\t//Destructuring props to avoid garbage this.props... in return statement\n\t\tconst { children, location } = this.props;\n\t\tlet opacity = 0;\n\n\t\tconst firstLoad = Globals.SITE_FIRST_LOAD;\n\t\tif (Globals.SITE_FIRST_LOAD) {\n\t\t\topacity = 1;\n\t\t\tGlobals.SITE_FIRST_LOAD = false;\n\t\t}\n\t\tlet currTimeout = timeout;\n\t\tif (typeof window === 'undefined') {\n\t\t\topacity = 1;\n\t\t}\n\n\t\tvar defaultStyle = {\n\t\t\ttransition: 'opacity ' + `${currTimeout}ms ease-in-out`,\n\t\t\topacity: opacity\n\t\t};\n\n\t\treturn (\n\t\t\t//Using TransitionGroup and ReactTransition which are both\n\t\t\t//coming from 'react-transition-group' and are required for transitions to work\n\t\t\t\n\t\t\t\t node.offsetHeight}\n\t\t\t\t\tmountOnEnter={true}\n\t\t\t\t\tunmountOnExit={true}\n\t\t\t\t>\n\t\t\t\t\t{//Application of the styles depending on the status of page(entering, exiting, entered) in the DOM\n\t\t\t\t\tstatus => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t

\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default PageTransition;\n","import * as React from 'react';\n\nif (typeof window !== 'undefined') {\n\trequire('intersection-observer'); // optional polyfill\n}\nimport Observer from '@researchgate/react-intersection-observer';\nimport * as styles from './ViewableMonitor.module.scss';\nimport { ScrollMonitor } from '../../utils/ScrollMonitor';\nimport { ReactElement } from 'react';\n\nexport default class ViewableMonitor extends React.Component<{ children?: any; disabled?: boolean; delay?: number | boolean; fadeOnly?: boolean }> {\n\t// private handleNode:any;\n\n\tprivate static SCROLL_MONITOR = new ScrollMonitor();\n\n\thandleChange = (event, unobserve) => {\n\t\tif (event.isIntersecting) {\n\t\t\tunobserve();\n\t\t\tconst target = event.target;\n\t\t\tif (this.props.fadeOnly) {\n\t\t\t\ttarget.classList.add(styles.fadeIn);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet inClass = ViewableMonitor.SCROLL_MONITOR.scrollingDown ? styles.fadeInUp: styles.fadeInDown;\n\t\t\tlet inClassGlobal = ViewableMonitor.SCROLL_MONITOR.scrollingDown ? 'moduleAnimateInUp' :'moduleAnimateInDown';\n\t\t\tif (this.props.delay) {\n\t\t\t\tif (typeof this.props.delay === 'number') {\n\t\t\t\t\ttarget.classList.add(styles['visibleDelay-' + this.props.delay]);\n\t\t\t\t}\n\t\t\t}\n\t\t\ttarget.classList.add(inClass);\n\t\t\ttarget.classList.add(inClassGlobal);\n\t\t\ttarget.classList.add('moduleAnimateIn');\n\t\t}\n\t};\n\n\trender() {\n\t\tif (this.props.disabled) {\n\t\t\treturn this.props.children;\n\t\t} else {\n\t\t\tconst element = React.Children.only(this.props.children) as ReactElement;\n\n\t\t\tconst childClone = React.cloneElement(element, {\n\t\t\t\t// ref: (ref) => this.handleNode = ref,\n\t\t\t\tclassName: element.props.className ? `${element.props.className} ${styles.hidden}` : styles.hidden\n\t\t\t});\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{childClone}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n}\n","import { pageTransitionEvent } from '../ui/PageTransition';\n\nexport class ScrollMonitor {\n\tpublic lastScrollPosition = typeof window !== 'undefined' ? window.scrollY : 0;\n\tprivate scrollY = 0;\n\tpublic scrollingDown = true;\n\tprivate ticking = false;\n\n\tconstructor() {\n\t\tif (typeof window !== 'undefined') {\n\t\t\twindow.addEventListener('scroll', this.scrollHandler, { passive: true });\n\t\t\t(global as any).window.addEventListener(pageTransitionEvent, this.pageChangeHandler);\n\t\t\t// window.addEventListener('popstate', this.pageChangeHandler);\n\t\t}\n\t}\n\n\tprivate pageChangeHandler = () => {\n\t\tif (window.location.hash.indexOf('#map') !== 0) {\n\t\t\tthis.lastScrollPosition = -9999999999;\n\t\t\tthis.scrollingDown = true;\n\t\t}\n\t};\n\n\tprivate scrollHandler = () => {\n\t\tif (!this.ticking) {\n\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\tthis.scrollY = window.scrollY;\n\t\t\t\tthis.scrollingDown = this.lastScrollPosition < this.scrollY;\n\t\t\t\tthis.lastScrollPosition = this.scrollY;\n\t\t\t\tthis.ticking = false;\n\t\t\t});\n\t\t\tthis.ticking = true;\n\t\t}\n\t};\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nconst useSticky = () => {\n const stickyRef = useRef(null);\n const [sticky, setSticky] = useState(false);\n const [offset, setOffset] = useState(0);\n\n useEffect(() => {\n if (!stickyRef.current) {\n return;\n }\n setOffset(stickyRef.current.offsetTop);\n }, [stickyRef, setOffset]);\n\n useEffect(() => {\n const handleScroll = () => {\n if (!stickyRef.current) {\n return;\n }\n\n setSticky(window.scrollY > 0);\n };\n window.addEventListener(\"scroll\", handleScroll);\n return () => window.removeEventListener(\"scroll\", handleScroll);\n }, [setSticky, stickyRef, offset]);\n return { stickyRef, sticky };\n};\n\nexport default useSticky;","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { shallowEqual } from '../utils';\nimport useIntl from './useIntl';\nfunction areEqual(prevProps, nextProps) {\n var values = prevProps.values,\n otherProps = __rest(prevProps, [\"values\"]);\n var nextValues = nextProps.values,\n nextOtherProps = __rest(nextProps, [\"values\"]);\n return shallowEqual(nextValues, values) && shallowEqual(otherProps, nextOtherProps);\n}\nfunction FormattedMessage(props) {\n var intl = useIntl();\n var formatMessage = intl.formatMessage,\n _a = intl.textComponent,\n Text = _a === void 0 ? React.Fragment : _a;\n var id = props.id,\n description = props.description,\n defaultMessage = props.defaultMessage,\n values = props.values,\n children = props.children,\n _b = props.tagName,\n Component = _b === void 0 ? Text : _b,\n ignoreTag = props.ignoreTag;\n var descriptor = {\n id: id,\n description: description,\n defaultMessage: defaultMessage\n };\n var nodes = formatMessage(descriptor, values, {\n ignoreTag: ignoreTag\n });\n if (typeof children === 'function') {\n return children(Array.isArray(nodes) ? nodes : [nodes]);\n }\n if (Component) {\n return React.createElement(Component, null, React.Children.toArray(nodes));\n }\n return React.createElement(React.Fragment, null, nodes);\n}\nFormattedMessage.displayName = 'FormattedMessage';\nvar MemoizedFormattedMessage = React.memo(FormattedMessage, areEqual);\nMemoizedFormattedMessage.displayName = 'MemoizedFormattedMessage';\nexport default MemoizedFormattedMessage;","import React from 'react';\nimport { WrappedComponentProps } from 'react-intl';\nimport * as styles from './Hamburger.module.scss';\nimport useSticky from \"./useSticky\";\nimport { FormattedMessage } from 'react-intl';\n\nconst Hamburger = (props: { toggleHandler: (event) => void, intl?: WrappedComponentProps }) => {\n\n const { sticky, stickyRef } = useSticky();\n \n function shiftfocus() {\n window.setTimeout(function () {\n document.getElementById('firstMenuItem').focus();\n }, 0);\n };\n\n\treturn (\n
\n \n \n \n \n \n \n
\n
\n \n\t)\n}\n\nexport default Hamburger;","import { injectIntl } from 'react-intl';\n\nconst GetMessage = ({ id, params, intl }) => intl.formatMessage({ id, params });\n\nexport default injectIntl(GetMessage);","import GetMessage from '../../utils/GetMessage';\n\nexport function getActiveMenu(data: any[], currLanguage: any) {\n\tlet result = data.filter(menuFragment => menuFragment.node_locale === currLanguage.langKey)[0];\n\tif (currLanguage.link === '/ar') {\n\t\tresult.menuItems.forEach(menuItem => {\n\t\t\tmenuItem.path = joinPath(currLanguage.link, menuItem.path);\n\t\t\t// menuItem.path = currLanguage.link + '/' + menuItem.path;\n\n\t\t\tmenuItem.subpages?.forEach(menuItem => {\n\t\t\t\tmenuItem.slug = joinPath(currLanguage.link, menuItem.slug);\n\t\t\t});\n\t\t});\n\t\tresult.secondaryMenuItems.forEach(menuItem => {\n\t\t\tmenuItem.path = joinPath(currLanguage.link, menuItem.path);\n\t\t});\n\t}\n\treturn result;\n}\n\nfunction joinPath(firstPath: string, secondPath: string) {\n\tif (secondPath?.indexOf('#') === 0 || secondPath?.indexOf(firstPath) === 0) {\n\t\treturn secondPath;\n\t}\n\tif (secondPath?.indexOf('/') === 0) {\n\t\treturn firstPath + secondPath;\n\t} else {\n\t\treturn firstPath + '/' + secondPath;\n\t}\n}\n\nexport type SecondaryMenusParsed = { title: string; id: string; items: any[] }[][];\n\nexport function parseSecondaryMenus(\n\tsecondaryMenusData: SecondaryMenusParsed,\n\tcurrLanguage: any,\n\t//@ts-ignore:\n\tprograms: globalsQueryAndLayout_programs,\n\tplaces: any,\n\tentities: any,\n\tmapCategories: any[],\n\tintl: any = GetMessage\n) {\n\tfunction languageFilter(item: any) {\n\t\tif (currLanguage.langKey === 'ar-QA') {\n\t\t\treturn item.node.path.indexOf('/ar/') === 0;\n\t\t} else {\n\t\t\treturn item.node.path.indexOf('/ar/') !== 0;\n\t\t}\n\t}\n\n\tconst allEntities = [...entities.edges].filter(languageFilter);\n\tconst allPlaces = [...places.edges].filter(languageFilter);\n\n\tconst educationEntities = allEntities.filter(edge => edge.node.pageContext.vertical === 'education');\n\tconst researchEntities = allEntities.filter(edge => edge.node.pageContext.vertical === 'research');\n\tconst communityEntities = allEntities.filter(edge => edge.node.pageContext.vertical === 'community');\n\n\tconst educationPlaces = allPlaces.filter(edge => edge.node.pageContext.vertical === 'education');\n\tconst researchPlaces = allPlaces.filter(edge => edge.node.pageContext.vertical === 'research');\n\tconst communityPlaces = allPlaces.filter(edge => edge.node.pageContext.vertical === 'community');\n\n\tvar lang_prefix = currLanguage.link === '/ar' ? '/ar' : ''\n\n //@ts-ignore:\n\tconst idkt_subpages = [\n\t\t{\n\t\t\tnode: {\n\t\t\t\tpageContext: {\n\t\t\t\t\tid: \"1VlF92QaRlvKliniStRZSS\",\n\t\t\t\t\ttitle: intl.formatMessage({ id: 'overview' }),\n\t\t\t\t\tvertical: \"research\"\n\t\t\t\t},\n\t\t\t\tlink: true,\n\t\t\t\tpath: `${lang_prefix}/idkt`\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tnode: {\n\t\t\t\tpageContext: {\n\t\t\t\t\tid: \"5Ck3lib1IDEZFYqVgrjr8Y\",\n\t\t\t\t\ttitle: intl.formatMessage({ id: 'for_industry' }),\n\t\t\t\t\tvertical: \"research\"\n\t\t\t\t},\n\t\t\t\tlink: true,\n\t\t\t\tpath: `${lang_prefix}/idkt/for-industry`\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tnode: {\n\t\t\t\tpageContext: {\n\t\t\t\t\tid: \"5wt4oraHzqabJI4J9fVfHK\",\n\t\t\t\t\ttitle: intl.formatMessage({ id: 'for_researchers' }),\n\t\t\t\t\tvertical: \"research\"\n\t\t\t\t},\n\t\t\t\tlink: true,\n\t\t\t\tpath: `${lang_prefix}/idkt/for-researchers`\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tnode: {\n\t\t\t\tpageContext: {\n\t\t\t\t\tid: \"2aTm0IMJ1LzYrx6baqWR4B\",\n\t\t\t\t\ttitle: intl.formatMessage({ id: 'for_entrepreneurs' }),\n\t\t\t\t\tvertical: \"research\"\n\t\t\t\t},\n\t\t\t\tlink: true,\n\t\t\t\tpath: `${lang_prefix}/idkt/for-entrepreneurs`\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tnode: {\n\t\t\t\tpageContext: {\n\t\t\t\t\tid: \"4KGxqPWwJz3ynaLnH9G6On\",\n\t\t\t\t\ttitle: intl.formatMessage({ id: 'technologies' }),\n\t\t\t\t\tvertical: \"research\"\n\t\t\t\t},\n\t\t\t\tlink: true,\n\t\t\t\tpath: `${lang_prefix}/idkt/technologies`\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tnode: {\n\t\t\t\tpageContext: {\n\t\t\t\t\tid: \"1SicPn2WFgbtqTpzVOey7m\",\n\t\t\t\t\ttitle: intl.formatMessage({ id: 'about' }),\n\t\t\t\t\tvertical: \"research\"\n\t\t\t\t},\n\t\t\t\tlink: true,\n\t\t\t\tpath: `${lang_prefix}/idkt/about`\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tnode: {\n\t\t\t\tpageContext: {\n\t\t\t\t\tid: \"1MbCJsGyeoZ6MDFVP70Izy\",\n\t\t\t\t\ttitle: intl.formatMessage({ id: 'infobank' }),\n\t\t\t\t\tvertical: \"research\"\n\t\t\t\t},\n\t\t\t\tlink: true,\n\t\t\t\tpath: `${lang_prefix}/idkt/info-bank`\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tnode: {\n\t\t\t\tpageContext: {\n\t\t\t\t\tid: \"3I9TVsipoXaqLEx5tc4rDH\",\n\t\t\t\t\ttitle: intl.formatMessage({ id: 'road_to_technology_transfer' }),\n\t\t\t\t\tvertical: \"research\"\n\t\t\t\t},\n\t\t\t\tlink: true,\n\t\t\t\tpath: `${lang_prefix}/idkt/road-to-technology-transfer`\n\t\t\t}\n\t\t}\n\t]\n\n\t//Education\n\tsecondaryMenusData[0][0] = {\n\t\ttitle: intl.formatMessage({ id: 'Schools' }),\n\t\tid: 'school',\n\t\titems: educationEntities.filter(edge => edge.node.pageContext.type === 'school').sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title))\n\t};\n\tsecondaryMenusData[0][1] = {\n\t\ttitle: intl.formatMessage({ id: 'Universities' }),\n\t\tid: 'university',\n\t\titems: educationEntities.filter(edge => edge.node.pageContext.type === 'university').sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title))\n\t};\n\t/*\tsecondaryMenusData[0][2] = {\n\t\ttitle: intl.formatMessage({ id: 'Programs' }),\n\t\tid: 'programs',\n\t\titems: programs.edges.filter(languageFilter).sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title))\n\t};*/\n\t/*\n\tsecondaryMenusData[0][4] = { title: intl.formatMessage({ id: 'Places' }), id: 'places', items: educationPlaces.sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title)) };*/\n\n\t//Research\n /*\n\tsecondaryMenusData[1][0] = { title: intl.formatMessage({ id: 'idkt_long' }), id: 'idkt', items: idkt_subpages };\n */\n\tsecondaryMenusData[1][0] = { title: intl.formatMessage({ id: 'Entities' }), id: 'entities', items: researchEntities.sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title)) };\n\n\t//Community\n\tsecondaryMenusData[2][0] = { title: intl.formatMessage({ id: 'Entities' }), id: 'entities', items: communityEntities.sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title)) };\n\tsecondaryMenusData[2][1] = { title: intl.formatMessage({ id: 'Places' }), id: 'places', items: communityPlaces.sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title)) };\n\n\t//Map menu:\n\tsecondaryMenusData[3][0] = { title: intl.formatMessage({ id: 'All' }), id: 'all', items: [...allEntities, ...allPlaces].sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title)) };\n\tsecondaryMenusData[3][1] = {\n\t\ttitle: intl.formatMessage({ id: 'Education' }),\n\t\tid: 'education',\n\t\titems: [...educationEntities, ...educationPlaces].sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title))\n\t};\n\tsecondaryMenusData[3][2] = {\n\t\ttitle: intl.formatMessage({ id: 'Research' }),\n\t\tid: 'research',\n\t\titems: [...researchEntities, ...researchPlaces].sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title))\n\t};\n\tsecondaryMenusData[3][3] = {\n\t\ttitle: intl.formatMessage({ id: 'Community' }),\n\t\tid: 'community',\n\t\titems: [...communityEntities, ...communityPlaces].sort((a, b) => a.node.pageContext.title.localeCompare(b.node.pageContext.title))\n\t};\n}\n","import * as React from 'react';\n\nimport * as styles from '../MobileMenu/MobileMenuSubMenu.module.scss';\nimport * as stylesPreview from './MainMenuPreviewItem.module.scss';\nimport { TimelineMax } from 'gsap/dist/gsap.min';\nimport { FormattedMessage } from 'react-intl';\nimport { ResultItem } from './MainMenu';\nimport { GatsbyImageWrapper } from '../ui/GatsbyImageWrapper';\nimport { Globals } from '../../utils/Globals';\n\nexport class MainMenuPreviewItem extends React.Component<{ currentID: string; url: string; currentLanguage: string; menuData: { [key: string]: ResultItem }; closeCallback: (event) => void; isDesktop?: boolean; }> {\n\tprivate refWrapper: HTMLDivElement;\n\n\tprivate timeline: TimelineMax;\n\n\tprivate visible = false;\n\n\tprivate currData: ResultItem = undefined;\n\n\tpublic show = instant => {\n\t\tif (!this.visible) {\n\t\t\tthis.visible = true;\n\n\t\t\tif (this.timeline) {\n\t\t\t\tthis.timeline.kill();\n\t\t\t\tthis.timeline = null;\n\t\t\t}\n\n\t\t\tthis.timeline = new TimelineMax();\n\t\t\tthis.timeline.set(this.refWrapper, { display: 'block' });\n\t\t\tthis.timeline.to(this.refWrapper, 0.4, { opacity: 1, pointerEvents: 'all', force3D: true });\n\t\t\tif (instant) {\n\t\t\t\tthis.timeline.progress(1);\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic hide = instant => {\n\t\tif (this.visible) {\n\t\t\tthis.visible = false;\n\n\t\t\tif (this.timeline) {\n\t\t\t\tthis.timeline.kill();\n\t\t\t\tthis.timeline = null;\n\t\t\t}\n\n\t\t\tthis.timeline = new TimelineMax();\n\t\t\tthis.timeline.set(this.refWrapper, { pointerEvents: 'none' });\n\t\t\tthis.timeline.to(this.refWrapper, 0.3, { opacity: 0, force3D: true }, 0);\n\t\t\tthis.timeline.set(this.refWrapper, { display: 'none' });\n\t\t\tif (instant) {\n\t\t\t\tthis.timeline.progress(1);\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic getWidth = () => {\n\t\tthis.refWrapper.style.display = 'block';\n\t\treturn this.refWrapper.clientWidth;\n\t};\n\n\tpublic render() {\n\t\tif (this.props.menuData && this.props.currentID !== '') {\n\t\t\tif (Globals.CURRENT_LANGUAGE_PREFIX === 'ar/') {\n\t\t\t\tif (!this.props.currentID.includes('___ar-QA')) {\n\t\t\t\t\tthis.currData = this.props.menuData[this.props.currentID + '___ar-QA'];\n\t\t\t\t} else {\n\t\t\t\t\tthis.currData = this.props.menuData[this.props.currentID];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (this.props.currentID.includes('___ar-QA')) {\n\t\t\t\t\tthis.currData = this.props.menuData[this.props.currentID.replace(/___ar-QA/g, '')];\n\t\t\t\t} else {\n\t\t\t\t\tthis.currData = this.props.menuData[this.props.currentID];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst type = this.currData && this.currData.type && this.currData.type.length > 0 ? this.currData.type[0] : undefined;\n const description =\n\t\t\tthis.currData &&\n\t\t\t(this.currData.ct === 'entity'\n\t\t\t\t? this.currData.entityDescription\n\t\t\t\t\t? this.currData.entityDescription.entityDescription\n\t\t\t\t\t: undefined\n\t\t\t\t: this.currData.subtitle\n\t\t\t\t? this.currData.subtitle.subtitle\n\t\t\t\t: undefined);\n\n\t\treturn (\n\t\t\t
(this.refWrapper = ref)} className={`${styles.wrapper} ${this.props.isDesktop ? stylesPreview.mainMenuPreviewDesktopWrapper : '' } ${styles.mainMenuPreviewWrapper}`}>\n\t\t\t\t
\n\t\t\t\t\t{this.currData && (\n <>\n
\n
\n
\n {this.currData.heroImage && (\n \n )}\n {type && (\n
\n \n \n \n  \n {this.currData.filterVerticalCategory && }\n  \n {this.currData.filterVerticalCategory && {this.currData.filterVerticalCategory.title}}\n
\n )}\n

\n {this.currData.title}\n

\n {description && (\n

\n {description}\n

\n )}\n
\n
\n {\n // @ts-ignore\n this.currData.entityLogo && (\n \n )}\n
\n
\n
\n \n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n","import * as React from 'react';\nimport * as styles from './UIThemeControls.module.scss';\n\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nclass UIThemeControls extends React.Component<{ type; } & WrappedComponentProps> {\n\trender() {\n\t\tif (this.props.type === 'moon') {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport default injectIntl(UIThemeControls);\n","import React from 'react';\nimport Icon from './UIThemeControls';\nimport { useTheme } from \"react-hook-theme\";\n\nimport * as styles from './DarkModeToggle.module.scss';\n\nconst darkProgressIndicator = () => {\n\tvar indicator = typeof document !== 'undefined' && document.getElementById('gatsby-plugin-page-progress');\n\tif (indicator) indicator.style.backgroundColor = '#6BCDB2';\n};\n\nconst lightProgressIndicator = () => {\n\tvar indicator = typeof document !== 'undefined' && document.getElementById('gatsby-plugin-page-progress');\n\tif (indicator) indicator.style.backgroundColor = '#e14524';\n};\n\nconst DarkModeToggle = () => {\n\tconst { theme, setTheme } = useTheme();\n\n\tconst toggleTheme = (event, theme) => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n if (event.type == 'keydown') {\n if (event.keyCode == 13) {\n setTheme(theme)\n var target = event.currentTarget.childNodes[0]\n if ( target.className.indexOf('sun_animated') > -1 ) {\n target.className = 'moon_animated';\n } else {\n target.className = 'sun_animated';\n }\n var embedClasses = [\".twitter-tweet\", \".twitter-timeline\", \".twitter-follow-button\", \".twitter-share-button\"].join(\",\");\n if (document.querySelector(embedClasses) !== null) {\n window.location.reload();\n }\n } else if(event.shiftKey && event.keyCode == 9) {\n document.getElementById('accessibilityWidgetHeader').focus();\n } else {\n document.getElementById('selectLangTop').focus();\n }\n } else {\n setTheme(theme)\n var target = event.currentTarget.childNodes[0]\n if ( target.className.indexOf('sun_animated') > -1 ) {\n target.className = 'moon_animated';\n } else {\n target.className = 'sun_animated';\n }\n var embedClasses = [\".twitter-tweet\", \".twitter-timeline\", \".twitter-follow-button\", \".twitter-share-button\"].join(\",\");\n if (document.querySelector(embedClasses) !== null) {\n window.location.reload();\n }\n }\n\t\t\n\t};\n\n\tif (theme === 'dark') {\n\t\ttypeof window !== 'undefined' && localStorage.setItem('progressBarColor', '#6BCDB2');\n\t\tdarkProgressIndicator();\n\t} else {\n\t\tlightProgressIndicator();\n\t\ttypeof document !== 'undefined' && localStorage.setItem('progressBarColor', '#e14524');\n\t}\n\n\treturn (\n\t\t
  • toggleTheme(e, theme === 'light' ? 'dark' : 'light')} onKeyDown={e => toggleTheme(e, theme === 'light' ? 'dark' : 'light')}>\n\t\t\t\n\t\t
  • \n\t);\n};\n\nexport default DarkModeToggle;","import * as React from 'react';\nimport * as Qs from 'qs';\nimport { getRelativeURL } from '../utils/URLHelper';\n\nimport * as styles from './SelectLanguage.module.scss';\n\ninterface Props {\n\tlangs: Array<{ link: string; langKey: string; selected: boolean }>;\n\talternateURL: string;\n\tinMenu: boolean;\n\tisSearch?: boolean;\n pageContext?: any;\n list?: boolean;\n}\n\nfunction setJSON(key, value) {\n typeof window !== 'undefined' && window.localStorage.setItem(key, value);\n}\n\nconst setPreferances = (lang: any) => {\n const isMobile = typeof window !== 'undefined' && window.innerWidth <= 768;\n if(isMobile)\n document.getElementById('NavigationBg') && document.getElementById('NavigationBg').classList.remove(\"menu-open\")\n\tsetJSON('nf_lang', lang === 'en-US' ? 'en' : 'ar')\n\tsetJSON('nf_country', lang === 'en-US' ? 'us' : 'qa');\n typeof window !== 'undefined' && window.getSelection()?.removeAllRanges();\n};\n\nconst SelectLanguage = (props: Props) => {\n\tlet url = props.alternateURL\n\tif(props.isSearch) {\n\t\turl = props.pageContext?.alternateLanguage + '/#' + Qs.stringify(Qs.parse(typeof window !== 'undefined' && window.location.hash.slice(1)), { encode: false })\n\t}\n\n if(props.list) {\n return (\n
  • \n {props.langs?.map(lang => {\n if (!lang.selected && !props.pageContext?.arabicOnlyStory) {\n return (\n { setPreferances(lang.langKey)} } href={getRelativeURL(url).replace(/\\/#/, '')} key={lang.langKey}>\n {lang.langKey === 'en-US' ? 'English' : 'العربية'}\n \n );\n }\n })}\n
  • \n );\n } else {\n return (\n
    \n {props.langs?.map(lang => {\n if (!lang.selected && !props.pageContext?.arabicOnlyStory) {\n return (\n { setPreferances(lang.langKey)} } href={getRelativeURL(url).replace(/\\/#/, '')} key={lang.langKey}>\n {lang.langKey === 'en-US' ? 'English' : 'العربية'}\n \n );\n }\n })}\n
    \n );\n }\n};\n\nexport default SelectLanguage;","import * as React from 'react';\n\nimport * as styles from './Search.module.scss';\nimport { TweenMax } from 'gsap/dist/gsap.min';\nimport { navigate } from 'gatsby';\nimport { FormattedMessage, injectIntl, WrappedComponentProps } from 'react-intl';\nimport { EASE_CUSTOM_IN_OUT } from '../../utils/Constants';\nimport { Globals } from '../../utils/Globals';\n\nconst initialState = { showAllResultsLink: false };\ntype State = Readonly;\n\nclass Search extends React.Component<\n\t{\n\t\tcurrLanguage: any;\n\t\tid?: string;\n inMenu?: boolean;\n\t} & WrappedComponentProps\n> {\n readonly state: State = initialState;\n\tprivate refBg: HTMLDivElement;\n\tprivate visible = false;\n\tprivate refSearchWrapper: HTMLDivElement;\n\tprivate refSearchInnerWrapper: HTMLDivElement;\n\tprivate searchInput: HTMLInputElement;\n\n private showAllResultsLink = (event) => {\n var checkEmpty = event.target;\n // @ts-ignore\n if (checkEmpty.value && checkEmpty.value.length > 0 && checkEmpty.value.trim().length > 0) { \n this.setState({\n showAllResultsLink: true\n })\n }\n else {\n this.setState({\n showAllResultsLink: false\n })\n }\n }\n\n\tprivate allResultsClickHandler = event => {\n\t\tevent.preventDefault();\n // @ts-ignore\n\t\tnavigate('/' + Globals.CURRENT_LANGUAGE_PREFIX + 'search#all=1&allType=1&s=' + encodeURIComponent(this.searchInput.value));\n\t\tif (this.visible) {\n\t\t\tthis.toggleSearch(this);\n\t\t}\n\t\treturn false;\n\t};\n\n\tprivate toggleSearch = e => {\n\t\tif (!this.visible) {\n\t\t\tdocument.body.classList.add('search-open');\n\t\t\tif (e.currentTarget !== undefined) e.currentTarget.attributes['aria-pressed'] = true;\n\t\t\tdocument.addEventListener('keydown', this.keyHandler);\n\t\t\tthis.visible = true;\n\t\t\tTweenMax.set(this.refBg, { visibility: 'visible', pointerEvents: 'all', force3D: true });\n\t\t\tTweenMax.to(this.refBg, 0.45, { opacity: 0.18, force3D: true });\n\t\t\tTweenMax.set(this.refSearchWrapper, { visibility: 'visible', pointerEvents: 'all', force3D: true });\n\t\t\tTweenMax.to(this.refSearchWrapper, 0.45, { opacity: 1, yPercent: 0, ease: EASE_CUSTOM_IN_OUT, force3D: true });\n\t\t\tTweenMax.to(this.refSearchInnerWrapper, 0.5, { opacity: 1, force3D: true });\n\t\t\tTweenMax.to(this.refSearchInnerWrapper, 0.6, {\n\t\t\t\ty: 0,\n\t\t\t\tease: EASE_CUSTOM_IN_OUT,\n\t\t\t\tforce3D: true,\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tthis.searchInput.focus();\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tdocument.removeEventListener('keydown', this.keyHandler);\n\t\t\tdocument.body.classList.remove('search-open');\n\t\t\tif (e.currentTarget !== undefined) e.currentTarget.attributes['aria-pressed'] = false;\n\t\t\tthis.visible = false;\n\t\t\tTweenMax.to(this.refBg, 0.45, { autoAlpha: 0, force3D: true });\n\t\t\tTweenMax.set(this.refBg, { pointerEvents: 'none' });\n\t\t\tTweenMax.to(this.refSearchWrapper, 0.45, { autoAlpha: 0, yPercent: -50, ease: EASE_CUSTOM_IN_OUT, force3D: true });\n\t\t\tTweenMax.to(this.refSearchInnerWrapper, 0.25, { opacity: 0, force3D: true });\n\t\t\tTweenMax.to(this.refSearchInnerWrapper, 0.45, { y: -100, ease: EASE_CUSTOM_IN_OUT, force3D: true });\n\t\t\tTweenMax.set(this.refSearchWrapper, { pointerEvents: 'none' });\n\t\t}\n\t};\n\n\tprivate hideSearch = () => {\n\t\tif (this.visible) {\n\t\t\tthis.toggleSearch(this);\n\t\t}\n\t};\n\n\tprivate shiftthefocus = event => {\n\t\tif (event.key == 'Enter') {\n // @ts-ignore\n\t\t\tvar searchquery = event.target.value;\n\t\t\twindow.location.href = '/' + Globals.CURRENT_LANGUAGE_PREFIX + 'search#all=1&allType=1&s=' + searchquery;\n\t\t}\n\t};\n\n\tprivate shiftthetabindexofsearch = event => {\n\t\tif (event.key == 'Enter') {\n\t\t\tdocument.getElementById('searchCloseiconbtn').setAttribute('tabindex', '0');\n\t\t}\n\t};\n\n\tprivate shiftthetabindexofsearchtab = event => {\n\t\tif (event.key == 'Enter') {\n\t\t\tdocument.getElementById('searchCloseiconbtn').setAttribute('tabindex', '-1');\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t
  • \n\t\t\t\t
    (this.refBg = ref)} className={styles.searchBg} />\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    (this.refSearchWrapper = ref)} className={styles.searchWrapper} id=\"searchWrapper\">\n\t\t\t\t\t
    (this.refSearchInnerWrapper = ref)} className={styles.innerWrapper + ' container-padding'}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tthis.searchInput = ref;\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={this.props.intl.formatMessage({ id: 'Search' })}\n\t\t\t\t\t\t\tid=\"st-search-input\"\n\t\t\t\t\t\t\tclassName=\"st-search-input\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tonKeyDown={this.shiftthefocus}\n onChange={this.showAllResultsLink}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\t \n \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t);\n\t}\n\n\tprivate keyHandler = evt => {\n\t\tevt = evt || window.event;\n\t\tvar isEscape = false;\n\t\tif ('key' in evt) {\n\t\t\tisEscape = evt.key === 'Escape' || evt.key === 'Esc';\n\t\t} else {\n\t\t\tisEscape = evt.keyCode === 27;\n\t\t}\n\t\tif (isEscape) {\n\t\t\tthis.hideSearch();\n\t\t}\n\t};\n}\n\nexport default injectIntl(Search);\n","import * as React from 'react';\n\nimport * as styles from './MainMenu.module.scss';\nimport { getActiveMenu, parseSecondaryMenus, SecondaryMenusParsed } from '../MobileMenu/MobileMenuHelpers';\nimport { MainMenuPreviewItem } from './MainMenuPreviewItem';\nimport { FormattedMessage, WrappedComponentProps } from 'react-intl';\nimport DarkModeToggle from '../../ui/DarkModeToggle';\nimport SelectLanguage from '../SelectLanguage';\nimport Search from '../Search/Search';\nimport { Link } from 'gatsby';\nimport { graphql, PageProps } from 'gatsby';\n\nconst initialState = { activeMenuIndexes: new Array(5), selectedID: '', currentPreviewURL: '', menuData: null, mapListMode: true, hidePreviewWrapper: false, activeItem: null, isOptionsOpen: false, setInitOverflow: null, animate: 0 };\ntype State = Readonly & { menuData: { [key: string]: ResultItem } };\n\nexport type ResultItem = {\n\tcontentful_id: string;\n\ttitle: string;\n\tphone: string;\n\tfax: string;\n\temail: string;\n\tnode_locale: string;\n\ttype: string[] | null;\n\tct: string;\n\tentityDescription?: {\n\t\tentityDescription?: string;\n\t};\n\tsubtitle?: {\n\t\tsubtitle?: string;\n\t};\n\tfilterEntity?: {\n\t\tslug: string;\n\t\ttitle: string;\n\t};\n\tfilterVerticalCategory?: any;\n\tfilterProgramType?: {\n\t\ttitle: string;\n\t};\n\topeningHours?: any;\n\tlocation: {\n\t\tcontentful_id: string;\n\t\tplaceName: string;\n\t\tplaceAddress: string;\n\t\tplaceLocation?: {\n\t\t\tlon: number;\n\t\t\tlat: number;\n\t\t};\n\t};\n\theroImage?: any;\n};\n\nexport class MainMenu extends React.Component<\n\t{\n children?: any;\n\t\tprograms: any;\n\t\tplaces: any;\n\t\tentities: any;\n\t\tdata: PageProps[];\n\t\tcurrLanguage: any;\n\t\topen: boolean;\n\t\tfooterCopyrightMessage: string;\n\t\tcloseHandler: (event) => void;\n\t\tid?: any;\n location?: any;\n langs?: any;\n currPageTitle?: any;\n alternateURL?: any;\n pageContext?: any;\n handleMap?: (event) => void;\n\t} & WrappedComponentProps,\n\tState\n> {\n\treadonly state: State = initialState;\n\t//@ts-ignore:\n\tprivate refLogo: Link;\n\t//@ts-ignore:\n\tprivate refMenuItemPreviewWrapper: HTMLDivElement;\n\n\t//@ts-ignore:\n\tprivate mobileMode = false;\n\n\tprivate activeMenu: PageProps;\n //@ts-ignore:\n private refMenuItemPreview: MainMenuPreviewItem;\n \n\t//For holding parsed sub menu data sets (see componentDidUpdate):\n\tprivate secondaryMenusData: SecondaryMenusParsed = [[], [], [], [], []]; //Needs to match the 3 verticals + map = 4\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tif (typeof window !== 'undefined') {\n\t\t\tfetch('/menupreviews.json')\n .then((resp) => resp.json())\n .then((response) => {\n\t\t\t\tthis.setState({ menuData: response });\n\t\t\t});\n\t\t}\n\n\t\tthis.activeMenu = getActiveMenu(this.props.data, this.props.currLanguage);\n parseSecondaryMenus(this.secondaryMenusData, this.props.currLanguage, this.props.programs, this.props.places, this.props.entities, this.activeMenu['mapCategories'], this.props.intl);\n\t}\n\n componentDidMount(): void {\n const subMenuWrapper = typeof document !== 'undefined' && document.getElementById(\"subMenuWrapper\");\n\n if(subMenuWrapper) {\n subMenuWrapper.setAttribute('data-wobble', '1')\n setTimeout(() => {\n subMenuWrapper.setAttribute('data-wobble', '0')\n }, 700);\n }\n\n this.setState({\n setInitOverflow: this.props.currLanguage.link === '/ar' ? 'left' : 'right'\n })\n }\n\n componentDidUpdate(prevProps): void {\n if(this.props.location.pathname !== prevProps.location.pathname) {\n // @ts-ignore\n typeof document !== 'undefined' && document.querySelectorAll('.toggleOptions').forEach( x=> x.setAttribute(\"aria-expanded\", \"false\"));\n\n this.activeMenu = getActiveMenu(this.props.data, this.props.currLanguage);\n parseSecondaryMenus(this.secondaryMenusData, this.props.currLanguage, this.props.programs, this.props.places, this.props.entities, this.activeMenu['mapCategories'], this.props.intl);\n\n if(typeof document !== 'undefined' && document.querySelector('.overlay_dark')) {\n document.querySelector('.overlay_dark').remove();\n document.getElementsByTagName(\"html\")[0].style.overflowY = 'auto';\n }\n }\n typeof document !== 'undefined' && document.getElementById(\"close-megamenu\") && document.getElementById(\"close-megamenu\").addEventListener(\"click\", this.handleClick);\n }\n\n private isTapStory = () => {\n\t\tconst splitLocation = this.props.location.pathname.split(\"/\").filter(split => split != \"\")\n if(this.props.langs[1].selected)\n splitLocation.pop()\n\t\treturn splitLocation.includes(\"tap\") && splitLocation.length >= 3\n\t}\n\n private handleAccessibilityWidget = (event) => {\n if (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n if (event.type == 'keydown') {\n if (event.keyCode == 13) {\n // @ts-ignore\n typeof UserWay !== 'undefined' && UserWay.widgetOpen()\n } else if(event.shiftKey && event.keyCode == 9) {\n document.getElementById('moreMenu').focus();\n } else {\n document.getElementById('toggleTheme').focus();\n }\n } else {\n // @ts-ignore\n typeof UserWay !== 'undefined' && UserWay.widgetOpen()\n }\n }\n\n private setActiveClass = (e) => {\n const parentItems = e.target.parentNode.parentNode.children\n e.target.parentNode.parentNode.parentNode.parentNode.setAttribute('data-activesubmenu', e.target.dataset.id)\n \n for (var i = 0; i < parentItems.length; i++) {\n parentItems[i].removeAttribute('id')\n if(parentItems[i].querySelector('a'))\n parentItems[i].querySelector('a').className = ''\n }\n if(e.target.nodeName === 'A') {\n e.target.className = styles.activeMenu\n } else {\n return true\n }\n\n e.target.parentNode.setAttribute(\"id\", \"active\")\n }\n\n private tertiaryMenuItemClicked = (event) => {\n this.setActiveClass(event)\n\t\tconst dataLink = event.target.getAttribute('data-link')\n\t\tif (!dataLink && event) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\t// const menuItemIndex = parseInt(event.target.dataset.index);\n\t\tconst menuItemID = event.target.dataset.id + (this.props.currLanguage.link === '/ar' ? '___ar-QA' : '');\n\t\tif (menuItemID) {\n\t\t\tthis.setState({ selectedID: menuItemID, currentPreviewURL: event.target.getAttribute('href') });\n\t\t}\n\t\t\n\t\tif (dataLink) {\n\t\t\tdocument.getElementById(\"close-menu\").click();\n\t\t\tthis.setState({ hidePreviewWrapper: true });\n\t\t} else {\n\t\t}\n\t};\n \n private toggleOptions = (e, megaMenu) => {\n var elem = e.target.tagName === 'path' ? e.target.parentElement.parentElement : e.target.tagName === 'svg' ? e.target.parentElement : e.target\n var x = elem.getAttribute(\"aria-expanded\");\n if(x !== null) {\n var overlay = typeof document !== 'undefined' && document.createElement('div');\n var theSpan = typeof document !== 'undefined' && document.createElement(\"span\"); \n theSpan.id = 'close-megamenu'\n theSpan.className = 'closeMegamenu'\n \n if (x == \"true\") {\n x = \"false\"\n if(document.querySelector('.overlay_dark')) {\n document.querySelector('.overlay_dark').remove();\n document.getElementsByTagName(\"html\")[0].style.overflowY = 'auto';\n }\n document.documentElement.classList.remove('megamenuOpen');\n } else {\n x = \"true\"\n if(megaMenu) {\n overlay.className = 'overlay_dark';\n if(!document.querySelector('.overlay_dark')) {\n overlay.appendChild(theSpan); \n document.querySelector('body').prepend(overlay);\n document.getElementsByTagName(\"html\")[0].style.overflowY = 'hidden';\n }\n document.documentElement.classList.add('megamenuOpen');\n }\n }\n // @ts-ignore\n document.querySelectorAll('.toggleOptions').forEach( x=> x.setAttribute(\"aria-expanded\", \"false\"));\n elem.setAttribute(\"aria-expanded\", x);\n \n if(megaMenu) {\n var activeItem = elem.nextElementSibling?.querySelectorAll('ul > div#secondaryMenuList > li#active > a')[0];\n if(activeItem) {\n elem.nextElementSibling?.querySelectorAll('ul > div#secondaryMenuList > li#active > a')[0]?.click()\n } else {\n elem.nextElementSibling?.querySelectorAll('ul > div#secondaryMenuListGrid > li:nth-child(2) > a')[0]?.click()\n }\n }\n }\n };\n\n private handleClick = () => {\n document.querySelectorAll('.secondaryMenuClass').forEach( x=> x.animate([\n { height: `80%` },\n { height: `0%` }\n \n ], {\n duration: 300 //Dunno if can be Infinite\n }\n )\n );\n\n setTimeout(() => {\n // @ts-ignore\n document.querySelectorAll('.toggleOptions').forEach( x=> x.setAttribute(\"aria-expanded\", \"false\"));\n if(document.querySelector('.overlay_dark')) {\n document.querySelector('.overlay_dark').remove();\n document.getElementsByTagName(\"html\")[0].style.overflowY = 'auto';\n document.documentElement.classList.remove('megamenuOpen');\n }\n }, 300);\n }\n\n\tpublic render() {\n var pathArray = this.props.location.pathname.split('/');\n var subMenuPath = [\n { path: 'education/', index: 0, style: 'purple' }, \n { path: '/education', index: 0, style: 'purple' },\n { path: 'ar/education/', index: 0, style: 'purple' }, \n { path: '/ar/education', index: 0, style: 'purple' },\n { path: 'research/', index: 1, style: 'blue' }, \n { path: '/research', index: 1, style: 'blue' },\n { path: 'ar/research/', index: 1, style: 'blue' }, \n { path: '/ar/research', index: 1, style: 'blue' },\n { path: 'community/', index: 2, style: 'red' }, \n { path: '/community', index: 2, style: 'red' },\n { path: 'ar/community/', index: 2, style: 'red' }, \n { path: '/ar/community', index: 2, style: 'red' }\n ]\n\n let arrayIndex = this.props.currLanguage.link === '/ar' ? 2 : 1\n let arrayPos = this.props.currLanguage.link === '/ar' ? 3 : 2\n\n\t\treturn (\n <>\n \n \n\t\t);\n\t}\n}\n\nexport const query = graphql`\n\tfragment MainMenu on ContentfulMenu {\n\t\tnode_locale\n\t\ttwitterLink\n\t\tinstagramLink\n\t\tmenuItems {\n\t\t\tid\n\t\t\tlabel\n\t\t\tpath\n\t\t\tsubpages {\n\t\t\t\t... on ContentfulPageEducationCitySpeakerSeries {\n id\n slug\n title\n }\n ... on ContentfulPageVertical {\n id\n title\n slug\n }\n ... on ContentfulMenuItem {\n id\n label\n path\n subpages {\n ... on ContentfulPageVertical {\n id\n title\n slug\n }\n }\n }\n\t\t\t}\n introText\n\t\t}\n\t\tsecondaryMenuItems {\n\t\t\tid\n\t\t\ttitle\n\t\t\tpath\n\t\t}\n\t\tmapCategories {\n\t\t\ttitle\n\t\t\tid\n\t\t\treferences {\n\t\t\t\tcontentful_id\n\t\t\t\ttitle\n\t\t\t\tslug\n\t\t\t\tfilterVerticalCategory {\n\t\t\t\t\ttitle\n\t\t\t\t\tslug\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n","import * as React from 'react';\nimport { WrappedComponentProps, injectIntl } from 'react-intl';\nimport * as styles from './MobileMenuSocialCopyright.module.scss';\ninterface Props {\n pageContext?: any;\n\tchildren?: any; \n\trefSocialLinks?: HTMLAnchorElement[]; \n\tfooterCopyrightMessage?: string; \n\ttwitterLink?: string; \n\tinstagramLink?: string;\n\tconnectModule?: boolean;\n alternateURL?: string;\n langs?: any;\n}\n\nclass MobileMenuSocialCopyright extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n \n \n \n \n \n \n \n \n\t\t\t\t\t\n Facebook\n \n\t\t\t\t\t\n LinkedIn\n \n\t\t\t\t\t\n Instagram\n \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default injectIntl(MobileMenuSocialCopyright);","import * as React from 'react';\nimport { Link } from 'gatsby';\n\n// Since DOM elements cannot receive activeClassName,\n// destructure the prop here and pass it only to Link\nconst GatsbyLinkExternalSupport = ({ children, to, ...other }: any) => {\n\t// Tailor the following test to your environment.\n\t// This example assumes that any internal link (intended for Gatsby)\n\t// will start with exactly one slash, and that anything else is external.\n\tconst internal = /^\\/(?!\\/)/.test(to as string);\n\n\t// Use Gatsby Link for internal links, and for others\n\tif (internal && !other.openinnewtab) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t);\n\t}\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport default GatsbyLinkExternalSupport;\n","import * as React from 'react';\n\nimport * as styles from './MobileMenuSubMenu.module.scss';\nimport { TimelineMax } from 'gsap/dist/gsap.min';\nimport { EASE_CUSTOM_IN_OUT } from '../../utils/Constants';\nimport { Link } from 'gatsby';\nimport { FormattedMessage } from 'react-intl';\nimport GatsbyLinkExternalSupport from '../../ui/GatsbyLinkExternalSupport';\n\nexport type SubMenuItem = { node?: any; title?: string; contentful_id?: string; id: string; label?: string; slug?: string; path?: string };\nconst initialState = { vertical: null };\ntype State = Readonly;\n\nexport class MobileMenuSubMenu extends React.Component<{\n children?: any;\n\tisMainMenu: boolean;\n\tmapActive?: boolean;\n\tfirstMenuItems?: SubMenuItem[];\n\tsecondaryMenuItems?: SubMenuItem[];\n\tfirstMenuItemsClickHandler?: (event) => void;\n\tsecondaryMenuItemsClickHandler?: (event) => void;\n\tmapClickHandler?: (event) => void;\n\trefListItemsArray: HTMLLIElement[];\n\tshowLengthOnSecondaryItems?: boolean;\n\twrapperClass?: string;\n\tactiveIndex: number;\n\tcloseCallback: (event) => void;\n\tanimationDirection: 1 | -1;\n isMap?: boolean;\n currLang?: string;\n selectedVertical?: string;\n selectedItem?: string;\n total?: number;\n verticalClass?: string;\n isThirdLevelMenu?: boolean;\n intl?: any;\n}, State> {\n readonly state: State = initialState;\n\t// Animation variables:\n\tprivate xItemsOut = -150;\n\n\tprivate refListItems: HTMLLIElement[] = [];\n private refAdditionalListItems: HTMLLIElement[] = [];\n\tprivate refWrapper: HTMLDivElement;\n\t//@ts-ignore:\n\tprivate refList: HTMLUListElement;\n\n\tprivate timeline: TimelineMax;\n\n\tprivate visible = false;\n\n\tpublic show = (instant = false) => {\n\t\tif (!this.visible) {\n\t\t\tthis.visible = true;\n\n\t\t\tif (this.timeline) {\n\t\t\t\tthis.timeline.kill();\n\t\t\t\tthis.timeline = null;\n\t\t\t}\n\n\t\t\tthis.timeline = new TimelineMax();\n\t\t\tthis.timeline.set(this.refWrapper, { display: 'block' });\n\t\t\tthis.timeline.to(this.refWrapper, 0.4, { opacity: 1, pointerEvents: 'all', force3D: true });\n\t\t\tthis.timeline.staggerTo(this.refListItems, 0.85, { x: 0, ease: EASE_CUSTOM_IN_OUT, force3D: true }, 0.05, 0);\n\t\t\tthis.timeline.staggerTo(this.refListItems, 0.85, { opacity: 1, force3D: true }, 0.05, 0.35);\n\n this.timeline.staggerTo(this.refAdditionalListItems, 0.85, { x: 0, ease: EASE_CUSTOM_IN_OUT, force3D: true }, 0.05, 0);\n\t\t\tthis.timeline.staggerTo(this.refAdditionalListItems, 0.85, { opacity: 1, force3D: true }, 0.05, 0.35);\n\n\t\t\tif (instant) {\n\t\t\t\tthis.timeline.progress(1);\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic hide = (instant = false) => {\n\t\tif (this.visible) {\n\t\t\tthis.visible = false;\n\n\t\t\tif (this.timeline) {\n\t\t\t\tthis.timeline.kill();\n\t\t\t\tthis.timeline = null;\n\t\t\t}\n\n\t\t\tthis.timeline = new TimelineMax();\n\t\t\tthis.timeline.set(this.refWrapper, { pointerEvents: 'none' });\n\t\t\t// this.timeline.to(this.refListItems, 0.4, {opacity: 0, force3D: true);\n\t\t\tthis.timeline.to(this.refWrapper, 0.3, { opacity: 0, force3D: true }, 0);\n\t\t\tthis.timeline.set(this.refListItems, { opacity: 0, x: this.xItemsOut * this.props.animationDirection, force3D: true });\n this.timeline.set(this.refAdditionalListItems, { opacity: 0, x: this.xItemsOut * this.props.animationDirection, force3D: true });\n\t\t\tthis.timeline.set(this.refWrapper, { display: 'none' });\n\t\t\tif (instant) {\n\t\t\t\tthis.timeline.progress(1);\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic getWidth = () => {\n\t\tthis.refWrapper.style.display = 'block';\n\t\treturn this.refWrapper.clientWidth;\n\t};\n\n\tprivate shiftthemenufocus = event => {\n\t\tif (event.key == 'Enter') {\n\t\t\tthis.props.firstMenuItemsClickHandler;\n\t\t}\n\t};\n\n\tpublic shiftthemenufocus1 = event => {\n\t\tvar parent = event.target.parentElement.firstChild.getAttribute(\"href\")\n\n\t\tif (event.key == 'Enter') {\n\t\t\tif (parent == '#map') {\n\t\t\t\tthis.props.mapClickHandler;\n window.setTimeout(() => {\n document.getElementById('mapMenu').getElementsByTagName('ul')[0].focus();\n }, 0);\n\t\t\t} else {\n\t\t\t\tthis.props.secondaryMenuItemsClickHandler(event);\n\t\t\t}\n\t\t}\n\t};\n\n componentDidUpdate(): void {\n if(this.props.selectedVertical) {\n let elems = document.querySelectorAll(\".selectedVertical\");\n for (let i = 0; i < elems.length; i++) {\n // @ts-ignore\n elems[i].textContent = this.props.intl.formatMessage({ id: this.props.selectedVertical })\n elems[i].setAttribute(\"data-color\", this.props.verticalClass)\n\n var newSpan = document.createElement('span');\n if(this.props.selectedItem) {\n newSpan.className = 'selectedMenuVerticalItem'\n newSpan.id = 'selectedMenuVerticalItem'\n elems[i].appendChild(newSpan);\n newSpan.textContent = \" / \" + this.props.intl.formatMessage({ id: this.props.selectedItem }) + \" (\" + this.props.total + \")\";\n }\n }\n\n let ulelems = document.querySelectorAll(\"#ullistmenu\");\n for (let i = 0; i < ulelems.length; i++) ulelems[i].className = styles[this.props.verticalClass];\n\n let intro_index = 0;\n if(this.props.verticalClass === 'purple') {\n intro_index = 1\n } else if(this.props.verticalClass === 'red') {\n intro_index = 2\n } else if(this.props.verticalClass === 'orange') {\n intro_index = 3\n }\n\n let intro = document.querySelectorAll(\"#intro\");\n // @ts-ignore\n for (let i = 0; i < intro.length; i++) intro[i].innerHTML = document.getElementById('vertical-' + intro_index).innerText;\n }\n }\n\n private toggleOptions = (e) => {\n e.preventDefault();\n var elem = e.target.tagName === 'path' ? e.target.parentElement.parentElement : e.target.tagName === 'svg' ? e.target.parentElement : e.target\n var x = elem.getAttribute(\"aria-expanded\")\n if(x !== null) {\n var theSpan = typeof document !== 'undefined' && document.createElement(\"span\"); \n theSpan.id = 'close-megamenu'\n theSpan.className = 'closeMegamenu'\n \n if (x == \"true\") {\n x = \"false\"\n document.documentElement.classList.remove('megamenuOpen');\n } else {\n x = \"true\"\n }\n // @ts-ignore\n document.querySelectorAll('.toggleOptions').forEach( x=> x.setAttribute(\"aria-expanded\", \"false\"));\n elem.setAttribute(\"aria-expanded\", x);\n }\n };\n\n\tpublic render() {\n\t\tconst secondaryStartIndex = this.props.firstMenuItems ? this.props.firstMenuItems.length : 0;\n\t\treturn (\n\t\t\t (this.refWrapper = ref)}\n\t\t\t\tclassName={`${styles.wrapper} ${this.props.wrapperClass ? this.props.wrapperClass : ''} ${this.props.activeIndex > -1 ? styles.hasSelection : ''}`}\n\t\t\t>\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}","import * as React from 'react';\n\nimport * as styles from './MobileMenuSubMenu.module.scss';\nimport * as stylesPreview from './MobileMenuPreviewItem.module.scss';\nimport { TimelineMax } from 'gsap/dist/gsap.min';\nimport { FormattedMessage } from 'react-intl';\nimport { ResultItem } from './MobileMenu';\nimport { GatsbyImageWrapper } from '../ui/GatsbyImageWrapper';\nimport { Globals } from '../../utils/Globals';\n\nexport class MobileMenuPreviewItem extends React.Component<{ currentID: string; url: string; currentLanguage: string; menuData: { [key: string]: ResultItem }; closeCallback: (event) => void; isDesktop?: boolean; }> {\n\tprivate refWrapper: HTMLDivElement;\n\n\tprivate timeline: TimelineMax;\n\n\tprivate visible = false;\n\n\tprivate currData: ResultItem = undefined;\n\n\tpublic show = instant => {\n\t\tif (!this.visible) {\n\t\t\tthis.visible = true;\n\n\t\t\tif (this.timeline) {\n\t\t\t\tthis.timeline.kill();\n\t\t\t\tthis.timeline = null;\n\t\t\t}\n\n\t\t\tthis.timeline = new TimelineMax();\n\t\t\tthis.timeline.set(this.refWrapper, { display: 'block' });\n\t\t\tthis.timeline.to(this.refWrapper, 0.4, { opacity: 1, pointerEvents: 'all', force3D: true });\n\t\t\tif (instant) {\n\t\t\t\tthis.timeline.progress(1);\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic hide = instant => {\n\t\tif (this.visible) {\n\t\t\tthis.visible = false;\n\n\t\t\tif (this.timeline) {\n\t\t\t\tthis.timeline.kill();\n\t\t\t\tthis.timeline = null;\n\t\t\t}\n\n\t\t\tthis.timeline = new TimelineMax();\n\t\t\tthis.timeline.set(this.refWrapper, { pointerEvents: 'none' });\n\t\t\tthis.timeline.to(this.refWrapper, 0.3, { opacity: 0, force3D: true }, 0);\n\t\t\tthis.timeline.set(this.refWrapper, { display: 'none' });\n\t\t\tif (instant) {\n\t\t\t\tthis.timeline.progress(1);\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic getWidth = () => {\n\t\tthis.refWrapper.style.display = 'block';\n\t\treturn this.refWrapper.clientWidth;\n\t};\n\n\tpublic render() {\n\t\tif (this.props.menuData && this.props.currentID !== '') {\n\t\t\tif (Globals.CURRENT_LANGUAGE_PREFIX === 'ar/') {\n\t\t\t\tif (!this.props.currentID.includes('___ar-QA')) {\n\t\t\t\t\tthis.currData = this.props.menuData[this.props.currentID + '___ar-QA'];\n\t\t\t\t} else {\n\t\t\t\t\tthis.currData = this.props.menuData[this.props.currentID];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (this.props.currentID.includes('___ar-QA')) {\n\t\t\t\t\tthis.currData = this.props.menuData[this.props.currentID.replace(/___ar-QA/g, '')];\n\t\t\t\t} else {\n\t\t\t\t\tthis.currData = this.props.menuData[this.props.currentID];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst type = this.currData && this.currData.type && this.currData.type.length > 0 ? this.currData.type[0] : undefined;\n\t\tconst description =\n\t\t\tthis.currData &&\n\t\t\t(this.currData.ct === 'entity'\n\t\t\t\t? this.currData.entityDescription\n\t\t\t\t\t? this.currData.entityDescription.entityDescription\n\t\t\t\t\t: undefined\n\t\t\t\t: this.currData.subtitle\n\t\t\t\t? this.currData.subtitle.subtitle\n\t\t\t\t: undefined);\n\n\t\treturn (\n\t\t\t
    (this.refWrapper = ref)} className={`${styles.wrapper} ${this.props.isDesktop ? stylesPreview.mainMenuPreviewDesktopWrapper : '' } ${styles.mainMenuPreviewWrapper}`}>\n\t\t\t\t
    \n\t\t\t\t\t{this.currData && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{this.currData.heroImage && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{type && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{this.currData.filterVerticalCategory && }\n\t\t\t\t\t\t\t\t\t\t{this.currData.filterVerticalCategory && {this.currData.filterVerticalCategory.title}}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{this.currData.title}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{description && (\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n","// @ts-nocheck\nconst API_KEY = 'AIzaSyDcaRAmXxf0YNrhHPuf56dzjHiBvysQB_M';\n\nexport default class MapLoader {\n\tprivate static promise;\n\tmap: google.maps.Map;\n\n\tpublic static load() {\n\t\tif (!MapLoader.promise) {\n\t\t\t// load once\n\t\t\tMapLoader.promise = new Promise(resolve => {\n\t\t\t\twindow['__onGapiLoaded'] = () => {\n\t\t\t\t\t//console.log('gapi loaded');\n\t\t\t\t\t//@ts-ignore:\n\t\t\t\t\tresolve(window.gapi);\n\t\t\t\t};\n\t\t\t\t// console.log('loading..');\n\t\t\t\tconst node = document.createElement('script');\n\t\t\t\tnode.src = 'https://maps.googleapis.com/maps/api/js?key=' + API_KEY + '&callback=__onGapiLoaded';\n\t\t\t\tnode.type = 'text/javascript';\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(node);\n\t\t\t});\n\t\t}\n\n\t\treturn MapLoader.promise;\n\t}\n\n\tpublic initMap = () => {\n\t\treturn MapLoader.load().then(() => {\n\t\t\t//@ts-ignore:\n\t\t\twindow.GOOGLE_MAPS_LOADED = true;\n\t\t\t//@ts-ignore:\n\t\t\tif (window.GOOGLE_MAPS_LOADED_CACALLBACK) {\n\t\t\t\t//@ts-ignore:\n\t\t\t\twindow.GOOGLE_MAPS_LOADED_CACALLBACK();\n\t\t\t}\n\t\t});\n\t};\n}\n","// @ts-nocheck\nimport * as React from 'react';\nimport * as styles from './Map.module.scss';\nimport { ResultItem } from './MobileMenu';\nimport { WrappedComponentProps, injectIntl } from 'react-intl';\n\nclass Map extends React.Component<\n\t{ className: string; menuData: { [key: string]: ResultItem }; currentLanguage: string; open: boolean; activeMarkerID: string; activeMarker: object } & WrappedComponentProps\n> {\n\tprivate map: any;\n\tprivate wrapper: HTMLDivElement;\n\tprivate markersAdded = false;\n\tprivate currentMarkers: google.maps.Marker[] = [];\n\n\tprivate currentActiveMarker = null;\n\tprivate windowWidth: number;\n\tprivate panBy: number = 0;\n\n\tprivate infoWindow = null;\n\n\tprivate setDarkTheme = async () => {\n\t\tlet mapThemeData = [\n\t\t\t{\n\t\t\t\telementType: 'geometry',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#212121'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\telementType: 'labels.icon',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#757575'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\telementType: 'labels.text.stroke',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#212121'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'administrative',\n\t\t\t\telementType: 'geometry',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#757575'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'administrative.country',\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#9e9e9e'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'administrative.land_parcel',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'administrative.locality',\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#bdbdbd'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'poi',\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#757575'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'poi.park',\n\t\t\t\telementType: 'geometry',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#181818'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'poi.park',\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#616161'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'poi.park',\n\t\t\t\telementType: 'labels.text.stroke',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#1b1b1b'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road',\n\t\t\t\telementType: 'geometry.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#2c2c2c'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road',\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#8a8a8a'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.arterial',\n\t\t\t\telementType: 'geometry',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#373737'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.highway',\n\t\t\t\telementType: 'geometry',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#3c3c3c'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.highway.controlled_access',\n\t\t\t\telementType: 'geometry',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#4e4e4e'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.local',\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#616161'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'transit',\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#757575'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'water',\n\t\t\t\telementType: 'geometry',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#000000'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'water',\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolor: '#3d3d3d'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t\tthis.map.setOptions({ styles: mapThemeData });\n\t};\n\n\tprivate setLightTheme = async () => {\n\t\tlet mapThemeData = [\n\t\t\t{\n\t\t\t\tfeatureType: 'administrative',\n\t\t\t\telementType: 'labels',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'on'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tgamma: '1.82'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'administrative',\n\t\t\t\telementType: 'labels.text.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'on'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tgamma: '1.96'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlightness: '-9'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'administrative',\n\t\t\t\telementType: 'labels.text.stroke',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'landscape',\n\t\t\t\telementType: 'all',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'on'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlightness: '25'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tgamma: '1.00'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tsaturation: '-100'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'poi.business',\n\t\t\t\telementType: 'all',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'poi.park',\n\t\t\t\telementType: 'all',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road',\n\t\t\t\telementType: 'geometry.stroke',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road',\n\t\t\t\telementType: 'labels.icon',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.highway',\n\t\t\t\telementType: 'geometry',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\thue: '#ffaa00'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tsaturation: '-43'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'on'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.highway',\n\t\t\t\telementType: 'geometry.stroke',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.highway',\n\t\t\t\telementType: 'labels',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'simplified'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\thue: '#ffaa00'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tsaturation: '-70'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.highway.controlled_access',\n\t\t\t\telementType: 'labels',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'on'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.arterial',\n\t\t\t\telementType: 'all',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'on'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tsaturation: '-100'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlightness: '30'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'road.local',\n\t\t\t\telementType: 'all',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tsaturation: '-100'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlightness: '40'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'transit.station.airport',\n\t\t\t\telementType: 'geometry.fill',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'on'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tgamma: '0.80'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tfeatureType: 'water',\n\t\t\t\telementType: 'all',\n\t\t\t\tstylers: [\n\t\t\t\t\t{\n\t\t\t\t\t\tvisibility: 'off'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t\tthis.map.setOptions({ styles: mapThemeData });\n\t};\n\n\tprivate mapsAPILoadedCallback = async () => {\n\t\tthis.map = new google.maps.Map(this.wrapper, {\n\t\t\tcenter: { lat: 25.313964, lng: 51.4394043 },\n\t\t\tzoom: 15,\n\t\t\tdisableDefaultUI: true\n\t\t});\n\t\tthis.map.panBy(this.panBy, 0);\n\t\tlet darkMode = document.body.classList.contains('dark-mode');\n\t\tif (darkMode) {\n\t\t\twindow.google && this.setDarkTheme();\n\t\t} else {\n\t\t\twindow.google && this.setLightTheme();\n\t\t}\n\t\tthis.setupMarkers();\n\t};\n\n\tprivate setPanBy = () => {\n\t\tlet desktop = this.props.currentLanguage === 'ar-QA' ? 730 : -730;\n\t\tlet mobile = this.props.currentLanguage === 'ar-QA' ? 431 : -431;\n\t\tthis.windowWidth = window.innerWidth;\n\t\tthis.panBy = desktop * 0.5;\n\t\tif (this.windowWidth < 768) {\n\t\t\tthis.panBy = desktop * 0.5;\n\t\t} else if (this.windowWidth < 1380) {\n\t\t\tthis.panBy = mobile * 0.5;\n\t\t}\n\t};\n\n\tprivate setupMarkers = () => {\n\t\tif (this.map && this.props.menuData && this.markersAdded === false) {\n\t\t\tif (this.currentMarkers.length >= 0) {\n\t\t\t\tObject.values(this.currentMarkers).forEach(marker => marker.setMap(null));\n\t\t\t\tthis.currentMarkers = [];\n\t\t\t}\n\n\t\t\tconst values = Object.values(this.props.menuData);\n\t\t\tvalues.forEach(node => {\n\t\t\t\t// @ts-ignore\n\t\t\t\tif (node.node_locale === this.props.currentLanguage && node.location && node.location.placeLocation) {\n\t\t\t\t\tlet marker = new google.maps.Marker({\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tposition: { lat: node.location.placeLocation.lat, lng: node.location.placeLocation.lon },\n\t\t\t\t\t\ticon: {\n\t\t\t\t\t\t\tpath: google.maps.SymbolPath.CIRCLE,\n\t\t\t\t\t\t\tscale: 6,\n\t\t\t\t\t\t\tstrokeWeight: 10,\n\t\t\t\t\t\t\tfillOpacity: 1,\n\t\t\t\t\t\t\tstrokeColor: '#ff2080',\n\t\t\t\t\t\t\tstrokeOpacity: 0,\n\t\t\t\t\t\t\tfillColor: '#E95C2F'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap: this.map\n\t\t\t\t\t});\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tmarker.setTitle(node.location.placeName);\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tmarker.set('address', node.location.placeAddress);\n\t\t\t\t\tmarker.addListener('click', () => this.markerClickHandler(node));\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tthis.currentMarkers[node.contentful_id] = marker;\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.markersAdded = true;\n\t\t\tif (this.currentMarkers[this.props.activeMarkerID]) this.highlightActiveMarker();\n\t\t}\n\t};\n\n\tprivate highlightActiveMarker = () => {\n\t\tlet newMarker = null;\n\t\tlet curLang = this.props.currentLanguage === 'ar-QA' ? 'rtl' : 'ltr';\n\t\tif (this.props.activeMarkerID.includes('___ar-QA')) {\n\t\t\tnewMarker = this.currentMarkers[this.props.activeMarkerID.replace(/___ar-QA/g, '')];\n\t\t} else {\n\t\t\tnewMarker = this.currentMarkers[this.props.activeMarkerID];\n\t\t}\n\t\tif (this.currentActiveMarker && newMarker !== this.currentActiveMarker) {\n\t\t\tif (this.currentActiveMarker.getAnimation()) {\n\t\t\t\tthis.currentActiveMarker.setAnimation(null);\n\t\t\t\t// @ts-ignore\n\t\t\t\tif (!this.props.activeMarker.visible) {\n\t\t\t\t\tthis.infoWindow.close(this.map);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.currentActiveMarker = null;\n\t\t}\n\t\tif (newMarker) {\n\t\t\tthis.map.setZoom(16);\n\t\t\t// @ts-ignore\n\t\t\tthis.map.panTo(newMarker.position);\n\t\t\tthis.map.panBy(this.panBy, 0);\n\t\t\tthis.currentActiveMarker = newMarker;\n\t\t\tif (!this.currentActiveMarker.getAnimation()) {\n\t\t\t\tthis.currentActiveMarker.setAnimation(google.maps.Animation.BOUNCE);\n\t\t\t}\n\n\t\t\tif (this.infoWindow) {\n\t\t\t\tthis.infoWindow.close();\n\t\t\t}\n\t\t\tthis.infoWindow = window.google && new google.maps.InfoWindow({ maxWidth: 300 });\n\t\t\tthis.infoWindow &&\n\t\t\t\tthis.infoWindow.setOptions({\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tcontent:\n\t\t\t\t\t\t\"
    \" +\n\t\t\t\t\t\t\"

    \" +\n\t\t\t\t\t\tnewMarker.getTitle() +\n\t\t\t\t\t\t\"

    ',\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tposition: newMarker.position,\n\t\t\t\t\tpixelOffset: new google.maps.Size(0, -25)\n\t\t\t\t});\n\t\t\tthis.infoWindow && this.infoWindow.open(this.map);\n\t\t}\n\t};\n\n\tprivate markerClickHandler = node => {\n\t\t//@ts-ignore:\n\t\twindow.location.hash = '#map-' + node.contentful_id;\n\t};\n\n\tcomponentDidUpdate(prevProps: Readonly<{ menuData: { [p: string]: ResultItem }; currentLanguage: string; activeMarkerID: string }>): void {\n\t\tlet darkMode = typeof document !== 'undefined' && document.body.classList.contains('dark-mode');\n\t\tif (prevProps.currentLanguage !== this.props.currentLanguage) {\n\t\t\tthis.markersAdded = false;\n\t\t}\n\t\tif (darkMode) {\n\t\t\twindow.google && this.setDarkTheme();\n\t\t} else {\n\t\t\twindow.google && this.setLightTheme();\n\t\t}\n\t\tthis.setPanBy();\n\t\tthis.setupMarkers();\n\t\tthis.highlightActiveMarker();\n\t}\n\n\tcomponentDidMount(): void {\n\t\tif ((window as any).GOOGLE_MAPS_LOADED !== true) {\n\t\t\t(window as any).GOOGLE_MAPS_LOADED_CACALLBACK = this.mapsAPILoadedCallback;\n\t\t} else {\n\t\t\tthis.mapsAPILoadedCallback();\n\t\t}\n\n\t\twindow.addEventListener('resize', this.resizeHandler);\n\t\tthis.resizeHandler();\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.resizeHandler);\n\t}\n\n\tprivate resizeHandler = () => {\n\t\tthis.setPanBy();\n\t};\n\n\tpublic render() {\n\t\treturn
    (this.wrapper = ref)} className={`${styles.wrapper} ${this.props.open ? styles.open : ''} ${this.props.className}`} />;\n\t}\n}\n\n// @ts-ignore\nexport default injectIntl(Map);\n","import * as React from 'react';\n\nimport * as styles from './MobileMenu.module.scss';\nimport { TimelineMax, TweenMax } from 'gsap/dist/gsap.min';\nimport { EASE_CUSTOM_IN_OUT } from '../../utils/Constants';\nimport MobileMenuSocialCopyright from './MobileMenuSocialCopyright';\nimport { getActiveMenu, parseSecondaryMenus, SecondaryMenusParsed } from './MobileMenuHelpers';\nimport { MobileMenuSubMenu } from './MobileMenuSubMenu';\nimport { MobileMenuPreviewItem } from './MobileMenuPreviewItem';\nimport MapLoader from '../../utils/MapLoader';\nimport Map from './Map';\nimport { FormattedMessage, WrappedComponentProps } from 'react-intl';\nimport DarkModeToggle from '../../ui/DarkModeToggle';\nimport SelectLanguage from '../SelectLanguage';\nimport { Link } from 'gatsby';\nimport { graphql, PageProps } from 'gatsby';\n\nconst initialState = { activeMenuIndexes: new Array(5), selectedID: '', currentPreviewURL: '', menuData: null, mapActive: false, mapListMode: true, hidePreviewWrapper: false, selectedVertical: null, verticalClass: null, selectedItem: null, total: 0 };\ntype State = Readonly & { menuData: { [key: string]: ResultItem } };\n\nexport type ResultItem = {\n\tcontentful_id: string;\n\ttitle: string;\n\tphone: string;\n\tfax: string;\n\temail: string;\n\tnode_locale: string;\n\ttype: string[] | null;\n\tct: string;\n\tentityDescription?: {\n\t\tentityDescription?: string;\n\t};\n\tsubtitle?: {\n\t\tsubtitle?: string;\n\t};\n\tfilterEntity?: {\n\t\tslug: string;\n\t\ttitle: string;\n\t};\n\tfilterVerticalCategory?: any;\n\tfilterProgramType?: {\n\t\ttitle: string;\n\t};\n\topeningHours?: any;\n\tlocation: {\n\t\tcontentful_id: string;\n\t\tplaceName: string;\n\t\tplaceAddress: string;\n\t\tplaceLocation?: {\n\t\t\tlon: number;\n\t\t\tlat: number;\n\t\t};\n\t};\n\theroImage?: any;\n};\n\nexport class MobileMenu extends React.Component<\n\t{\n pageContext?: any;\n\t\tchildren?: any;\n\t\tprograms: any;\n\t\tplaces: any;\n\t\tentities: any;\n\t\tdata: PageProps[];\n\t\tcurrLanguage: any;\n\t\topen: boolean;\n\t\tfooterCopyrightMessage: string;\n\t\tcloseHandler: (event) => void;\n\t\tid?: any;\n alternateURL?: string;\n langs?: any;\n location?: any;\n\t} & WrappedComponentProps,\n\tState\n> {\n\treadonly state: State = initialState;\n\n\t//Refs:\n\tprivate refNav: HTMLElement;\n\tprivate refBg: HTMLDivElement;\n\t//@ts-ignore:\n\tprivate refLogo: Link;\n\t//@ts-ignore:\n\tprivate refMobileNavigationButton: HTMLDivElement;\n\tprivate refInnerWrapper: HTMLDivElement;\n\tprivate refLayoutWrapper: HTMLDivElement;\n\tprivate refSocialLinks: HTMLAnchorElement[] = [];\n\n\t// Menus nested by index refs:\n\tprivate refsMenuListItems: Array[] = [[], [], [], [], []];\n\tprivate refsMenuWrapperOuterWrappers: HTMLDivElement[] = [];\n\tprivate refSubmenus: Array[] = [[], [], [], [], []];\n\n\t//Active menu state:\n\tprivate currMenuLevelIndex = 0;\n\tprivate activeSubmenuIndexes = new Array(4);\n\n\t//Sizing variables:\n\tprivate windowWidth: number;\n\t//@ts-ignore:\n\tprivate mobileMode = false;\n\tprivate fullMenuMode: boolean = false;\n\tprivate fullMenuBreak = 1380;\n\n\t//For holding parsed sub menu data sets (see componentDidUpdate):\n\tprivate secondaryMenusData: SecondaryMenusParsed = [[], [], [], []]; //Needs to match the 3 verticals + map = 4\n\n\t// Animation state:\n\tprivate activeTimeline: TimelineMax = null;\n\tprivate activeMenu: PageProps;\n\tprivate refMenuItemPreview: MobileMenuPreviewItem;\n\n\tprivate animationDirection: 1 | -1 = 1;\n\n\tpublic instantOpen = false;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tif (typeof window !== 'undefined') {\n\t\t\tfetch('/menupreviews.json')\n .then((resp) => resp.json())\n .then((response) => {\n\t\t\t\tthis.setState({ menuData: response });\n\t\t\t});\n\t\t}\n\n\t\tthis.activeMenu = getActiveMenu(this.props.data, this.props.currLanguage);\n\n\t\tthis.checkAnimationDirection();\n\t\tparseSecondaryMenus(this.secondaryMenusData, this.props.currLanguage, this.props.programs, this.props.places, this.props.entities, this.activeMenu['mapCategories'], this.props.intl);\n\t}\n\n //@ts-ignore:\n\tasync openMap() {\n\t\tif (this.state.mapActive === false) {\n\t\t\tthis.mapMenuPointClicked();\n\t\t}\n\n\t\tconst locationID = window.location.hash.substr(5);\n\n\t\tif (locationID.length > 0) {\n\t\t\tif (this.currMenuLevelIndex !== 2 && 0 !== this.activeSubmenuIndexes[2]) {\n\t\t\t\tthis.gotoMenu(2, 0, true);\n\t\t\t}\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst activeMenus = this.getActiveSubMenusArray(2);\n\n\t\t\t\tif (activeMenus[2]) {\n\t\t\t\t\tconst locationIDLookup = locationID + (this.props.currLanguage.link === '/ar' ? '___ar-QA' : '');\n\t\t\t\t\tconst activeItemIndex = activeMenus[2].props.firstMenuItems.findIndex(edge => edge.node.pageContext.id === locationID);\n\t\t\t\t\tif (activeItemIndex >= 0) {\n\t\t\t\t\t\tthis.setState({ selectedID: locationIDLookup, currentPreviewURL: activeMenus[2].props.firstMenuItems[activeItemIndex].node.path });\n\t\t\t\t\t\tthis.gotoMenu(3, activeItemIndex, true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t}\n\t}\n\n\tprivate checkAnimationDirection = () => {\n\t\tif (this.props.currLanguage.link === '/ar') {\n\t\t\tthis.animationDirection = -1;\n\t\t} else {\n\t\t\tthis.animationDirection = 1;\n\t\t}\n\t};\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.currLanguage.langKey !== this.props.currLanguage.langKey) {\n\t\t\tthis.activeMenu = getActiveMenu(this.props.data, this.props.currLanguage);\n\t\t\tthis.checkAnimationDirection();\n\t\t\tparseSecondaryMenus(this.secondaryMenusData, this.props.currLanguage, this.props.programs, this.props.places, this.props.entities, this.activeMenu['mapCategories'], this.props.intl);\n\t\t\tthis.resizeHandler();\n\t\t}\n\n\t\tif (prevProps.open !== this.props.open) {\n\t\t\tif (this.activeTimeline) {\n\t\t\t\tthis.activeTimeline.kill();\n\t\t\t}\n\t\t\tif (this.props.open) {\n\t\t\t\tthis.activeTimeline = new TimelineMax();\n\t\t\t\tthis.activeTimeline.set(this.refNav, { visibility: 'visible', force3D: true });\n\t\t\t\tthis.activeTimeline.set(this.refNav, { pointerEvents: 'all' });\n\t\t\t\tthis.activeTimeline.to(this.refBg, 0.65, { opacity: 0.18, force3D: true }, 0);\n\n\t\t\t\tthis.activeTimeline.to(this.refSocialLinks, 0.85, { opacity: 1, force3D: true }, 0);\n\t\t\t\tthis.activeTimeline.to(this.refSocialLinks, 0.85, { y: 0, ease: EASE_CUSTOM_IN_OUT, force3D: true }, 0);\n\n\t\t\t\tif (this.currMenuLevelIndex === 0) {\n\t\t\t\t\t(this.refSubmenus[0][0] as MobileMenuSubMenu).show(this.instantOpen);\n\t\t\t\t}\n\n\t\t\t\tthis.activeTimeline.to(this.refInnerWrapper, 0.65, { xPercent: 0, ease: EASE_CUSTOM_IN_OUT, force3D: true }, 0);\n\n\t\t\t\tthis.instantOpen = false;\n\t\t\t} else {\n\t\t\t\tthis.removeMapFromWindowLocation();\n\t\t\t\tthis.activeTimeline = new TimelineMax();\n\t\t\t\tthis.activeTimeline.set(this.refNav, { pointerEvents: 'none', force3D: true });\n\t\t\t\tthis.activeTimeline.to(this.refBg, 0.35, { opacity: 0, force3D: true }, 0);\n\n\t\t\t\tif (this.currMenuLevelIndex === 0) {\n\t\t\t\t\t(this.refSubmenus[0][0] as MobileMenuSubMenu).hide();\n\t\t\t\t}\n\n\t\t\t\tthis.activeTimeline.to(this.refSocialLinks, 0.15, { opacity: 0, force3D: true }, 0);\n\t\t\t\tthis.activeTimeline.to(this.refInnerWrapper, 0.3, { xPercent: this.animationDirection === 1 ? -100 : 100, ease: EASE_CUSTOM_IN_OUT, force3D: true }, 0);\n\n\t\t\t\tthis.activeTimeline.set(this.refNav, { visibility: 'hidden', pointerEvents: 'none' });\n\t\t\t\tthis.activeTimeline.set(this.refSocialLinks, { opacity: 0, y: 25, force3D: true });\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate setMapMapToggleActive = event => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tif (this.state.mapListMode === true) {\n\t\t\tthis.setState({ mapListMode: false });\n\t\t}\n\t};\n\n\tprivate setMapListToggleActive = event => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tif (this.state.mapListMode === false) {\n\t\t\tthis.setState({ mapListMode: true });\n\t\t}\n\t};\n\n\tprivate topBackButtonClicked = event => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tthis.gotoMenu(this.currMenuLevelIndex - 1, this.activeSubmenuIndexes[this.currMenuLevelIndex - 1]);\n\t};\n\n\tprivate topBackButtontabbed = event => {\n\t\tif (event.key == 'Enter') {\n\t\t\tthis.topBackButtonClicked(event);\n const mapBackButtonVisible = this.state.mapActive && this.state.activeMenuIndexes[2] > -1;\n\t\t\twindow.setTimeout(() => {\n if(mapBackButtonVisible) {\n document.getElementById('mapnavtopbackbtn').focus();\n } else {\n document.getElementById('mapMenu').getElementsByTagName('ul')[0].focus();\n }\n\t\t\t}, 0);\n\t\t} else if (event.key == 'Tab') {\n\t\t\t\n function isInViewport(el) {\n return (window.getComputedStyle(el).getPropertyValue('display') !== 'none')\n }\n \n window.setTimeout(() => {\n var visibleSubmenu = document.getElementById('mapnavtopbackbtn').nextElementSibling.nextElementSibling.children[2]\n visibleSubmenu.getElementsByTagName('ul')[0].focus()\n var children = visibleSubmenu.children;\n for(var i=0; i< children.length; i++) {\n var child = children[i];\n if(isInViewport(child)) {\n child.getElementsByTagName('ul')[0].focus();\n }\n }\n }, 0);\n\t\t}\n\t};\n\n\tprivate topshortmenuBackButtontabbed = event => {\n\t\tif (event.key == 'Enter') {\n\t\t\tthis.mobileBackNavigationItemClicked(event);\n\t\t}\n\t};\n\n\tprivate mobileBackNavigationItemClicked = event => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tthis.gotoMenu((this.currMenuLevelIndex === 3 && this.state.hidePreviewWrapper) ? this.currMenuLevelIndex - 2 : this.currMenuLevelIndex - 1, this.state.hidePreviewWrapper ? this.activeSubmenuIndexes[this.currMenuLevelIndex - 2] : this.activeSubmenuIndexes[this.currMenuLevelIndex - 1]);\n\t\tif (this.currMenuLevelIndex < 1 && this.state.mapActive === true) {\n\t\t\tthis.setState({ mapActive: false });\n\t\t}\n\t\tif (this.state.mapListMode === false) {\n\t\t\tthis.setState({ mapListMode: true });\n\t\t}\n if(this.currMenuLevelIndex !== 2)\n this.setState({ selectedItem: '' });\n\t};\n\n\tprivate verticalMenuItemClicked = event => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tconst menuItemIndex = parseInt(event.target.dataset.index);\n\t\tif (menuItemIndex !== this.activeMenu['menuItems'].length && this.state.mapActive === true) {\n\t\t\tthis.setState({ mapActive: false });\n\t\t}\n\n let val;\n let verticalClass;\n\n if(menuItemIndex === 0) {\n val = 'Education'\n verticalClass = 'purple'\n } else if(menuItemIndex === 1) {\n val = 'Research'\n verticalClass = 'blue'\n } else if(menuItemIndex === 2) {\n val = 'Community'\n verticalClass = 'red'\n } else if(menuItemIndex === 3) {\n val = 'World Cup'\n verticalClass = 'orange'\n }\n\n this.setState({ selectedVertical: val, verticalClass: verticalClass });\n\t\tthis.gotoMenu(1, menuItemIndex);\n document.documentElement.style.overflowY = 'scroll';\n\t};\n\n\tprivate secondaryMenuItemClicked = (event) => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n this.setState({ selectedItem: event.target.dataset.id, total: event.target.dataset.items });\n\t\tconst menuItemIndex = parseInt(event.target.dataset.index);\n\t\tthis.gotoMenu(2, menuItemIndex);\n document.documentElement.style.overflowY = 'scroll';\n\t};\n\n\tprivate tertiaryMenuItemClicked = event => {\n\t\tconst dataLink = event.target.getAttribute('data-link')\n\t\tevent.preventDefault();\n\t\tconst menuItemIndex = parseInt(event.target.dataset.index);\n\t\tconst menuItemID = event.target.dataset.id + (this.props.currLanguage.link === '/ar' ? '___ar-QA' : '');\n\t\tif (menuItemID) {\n\t\t\tthis.setState({ selectedID: menuItemID, currentPreviewURL: event.target.getAttribute('href') });\n\t\t}\n\t\t\n\t\tif (dataLink && dataLink === false) {\n\t\t\tthis.gotoMenu(3, menuItemIndex, true, dataLink);\n\t\t\tdocument.getElementById(\"close-menu\").click();\n\t\t\tthis.setState({ hidePreviewWrapper: true });\n\t\t} else {\n\t\t\tthis.gotoMenu(3, menuItemIndex);\n\t\t}\n document.documentElement.style.overflowY = 'scroll';\n\t};\n\n\tprivate mapMenuItemClicked = event => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tconst menuItemIndex = parseInt(event.target.dataset.index);\n\t\tthis.gotoMenu(2, menuItemIndex);\n document.documentElement.style.overflowY = 'scroll';\n\t};\n\n\tprivate mapMenuPointClicked = (event?) => {\n\t\tnew MapLoader().initMap();\n\t\tthis.gotoMenu(1, this.activeMenu['menuItems'].length, !event);\n\t\tif (this.activeSubmenuIndexes[1] === this.activeMenu['menuItems'].length) {\n\t\t\tthis.setState({ mapActive: true });\n\t\t} else {\n\t\t\tthis.setState({ mapActive: false });\n\t\t\tthis.removeMapFromWindowLocation(event);\n\t\t}\n\t};\n\n\tprivate removeMapFromWindowLocation(event?) {\n\t\tif (window.location.hash && window.location.hash.indexOf('#map') === 0) {\n\t\t\twindow.location.hash = '';\n\t\t\tif (event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate getActiveSubMenusArray(menuLevelIndex: number) {\n\t\tlet activeMenus = [this.refSubmenus[0][0] as MobileMenuSubMenu];\n\t\tif (menuLevelIndex > 0) {\n\t\t\tactiveMenus.push(this.refSubmenus[1][this.activeSubmenuIndexes[1]] as MobileMenuSubMenu);\n\t\t}\n\t\tif (menuLevelIndex > 1) {\n\t\t\tactiveMenus.push(this.refSubmenus[2][this.activeSubmenuIndexes[1]][this.activeSubmenuIndexes[2]]);\n\t\t}\n\t\tif (menuLevelIndex > 2) {\n\t\t\tactiveMenus.push(this.refMenuItemPreview as any);\n\t\t}\n\t\treturn activeMenus;\n\t}\n\n\tprivate getMenuToWidth = (activeSubmenusArray: MobileMenuSubMenu[], link) => {\n\t\tlet joinedWidths = 0;\n\t\tif (this.fullMenuMode && this.state.mapActive && activeSubmenusArray.length > 2) {\n\t\t\tjoinedWidths = activeSubmenusArray[0].getWidth() + activeSubmenusArray[activeSubmenusArray.length - 1].getWidth() + 250;\n\t\t} else if (activeSubmenusArray.length === 1) {\n\t\t\tjoinedWidths = this.fullMenuMode ? 350 : 215;\n\t\t} else if (this.fullMenuMode) {\n\t\t\tlink ? joinedWidths = 900 : activeSubmenusArray.forEach(menu => (joinedWidths += menu && menu.getWidth()));\n\t\t} else {\n\t\t\tjoinedWidths = 350;\n\t\t}\n\t\treturn joinedWidths;\n\t};\n\n\tprivate gotoMenu(menuLevelIndex: number, menuItemIndex: number, instant = false, link = false) {\n\t\tlet duration = instant ? 0 : 0.4;\n\t\tif (this.currMenuLevelIndex < menuLevelIndex) {\n\t\t\t// New higher menu clicked:\n\n\t\t\tthis.activeSubmenuIndexes[menuLevelIndex] = menuItemIndex;\n\t\t\tlet activeMenus = this.getActiveSubMenusArray(menuLevelIndex);\n\t\t\tconst toWidth = this.getMenuToWidth(activeMenus, link);\n\t\t\t!link && activeMenus[menuLevelIndex].show(instant);\n\t\t\tTweenMax.to(this.refLayoutWrapper, duration, { width: link ? toWidth : toWidth, ease: EASE_CUSTOM_IN_OUT });\n\t\t\tthis.currMenuLevelIndex = menuLevelIndex;\n\n\t\t\tif (menuLevelIndex === 1) {\n\t\t\t\twindow.setTimeout(function() {\n\t\t\t\t\tactiveMenus[menuLevelIndex]['refListItems'][0].querySelector('a').focus();\n\t\t\t\t}, 300);\n\t\t\t} else if (menuLevelIndex === 2) {\n\t\t\t\twindow.setTimeout(function() {\n\t\t\t\t\tactiveMenus[menuLevelIndex]['refListItems'][0].querySelector('a').focus();\n\t\t\t\t}, 300);\n\t\t\t} else if (menuLevelIndex === 3) {\n\t\t\t\twindow.setTimeout(() => {\n\t\t\t\t\tvar seletor = !link && activeMenus[menuLevelIndex]['refWrapper']['offsetParent'];\n\t\t\t\t\tvar elem = seletor && seletor.getElementsByTagName('h3')[0];\n\t\t\t\t\telem && elem.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t} else if (this.currMenuLevelIndex === menuLevelIndex) {\n\t\t\t// Same menu clicked (toggle it away):\n\t\t\tlet activeMenus = this.getActiveSubMenusArray(menuLevelIndex);\n\n\t\t\t//Hide current active one:\n\t\t\t!link && activeMenus[menuLevelIndex].hide(instant);\n\t\t\tif (menuItemIndex !== this.activeSubmenuIndexes[menuLevelIndex]) {\n\t\t\t\t//Set new active index:\n\t\t\t\tthis.activeSubmenuIndexes[menuLevelIndex] = menuItemIndex;\n\t\t\t\tactiveMenus = this.getActiveSubMenusArray(menuLevelIndex);\n\t\t\t\t!link && activeMenus[menuLevelIndex].show(instant);\n\n\t\t\t\t// Accesibility fix on key tabbing\n\t\t\t\tif (menuLevelIndex == 1 || menuLevelIndex == 2) {\n\t\t\t\t\tvar selector = activeMenus[menuLevelIndex]['refListItems'][0];\n\t\t\t\t\tvar elem = selector.getElementsByTagName('a');\n\t\t\t\t\tvar activemenuelement = elem[0];\n\t\t\t\t\tactivemenuelement.focus();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.activeSubmenuIndexes[this.currMenuLevelIndex] = -1;\n\t\t\t\tthis.currMenuLevelIndex = this.currMenuLevelIndex - 1;\n\t\t\t\t// this.activeSubmenuIndexes[this.currMenuLevelIndex] = -1;\n\t\t\t\tactiveMenus = this.getActiveSubMenusArray(this.currMenuLevelIndex);\n\n\t\t\t\tconst toWidth = this.getMenuToWidth(activeMenus, link);\n\t\t\t\tTweenMax.to(this.refLayoutWrapper, duration, { width: toWidth, ease: EASE_CUSTOM_IN_OUT });\n\t\t\t}\n\t\t} else {\n\t\t\t//Lower menu selected:\n\t\t\tlet activeMenus = this.getActiveSubMenusArray(this.currMenuLevelIndex);\n\t\t\twhile (this.currMenuLevelIndex >= menuLevelIndex) {\n\t\t\t\t!link && activeMenus[this.currMenuLevelIndex] && activeMenus[this.currMenuLevelIndex].hide(instant);\n\t\t\t\tthis.activeSubmenuIndexes[this.currMenuLevelIndex] = -1;\n\t\t\t\tthis.currMenuLevelIndex--;\n\t\t\t}\n\t\t\tthis.currMenuLevelIndex = menuLevelIndex;\n\n\t\t\t//Set new active index:\n\t\t\tthis.activeSubmenuIndexes[menuLevelIndex] = menuItemIndex;\n\t\t\tactiveMenus = this.getActiveSubMenusArray(menuLevelIndex);\n\t\t\tactiveMenus[menuLevelIndex].show(instant);\n\n\t\t\t// Accesibility fix on key tabbing\n\t\t\t//var theanswer = activeMenus[menuLevelIndex]['refListItems'][0];\n\t\t\t//var fajr = $(theanswer).find(\"a\");\n\t\t\t//var activemenuelement = fajr[0];\n\t\t\t//activemenuelement.focus();\n\n\t\t\tconst toWidth = this.getMenuToWidth(activeMenus, link);\n\t\t\tTweenMax.to(this.refLayoutWrapper, duration, { width: toWidth, ease: EASE_CUSTOM_IN_OUT });\n\t\t}\n\t\tif (this.currMenuLevelIndex < 3) {\n\t\t\tthis.setState({ selectedID: '', currentPreviewURL: '' });\n\t\t}\n\t\tthis.setState({ activeMenuIndexes: this.activeSubmenuIndexes });\n\t}\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener('resize', this.resizeHandler);\n\t\tthis.resizeHandler();\n\n\t\tTweenMax.set(this.refBg, { opacity: 0, force3D: true });\n\t\tTweenMax.set(this.refSocialLinks, { opacity: 0, y: 25, force3D: true });\n\t\tTweenMax.set(this.refInnerWrapper, { xPercent: this.animationDirection === 1 ? -100 : 100, force3D: true });\n\t\tTweenMax.set(this.refNav, { visibility: 'hidden', pointerEvents: 'none', force3D: true });\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.resizeHandler);\n\t}\n\n\tprivate resizeHandler = () => {\n\t\tthis.windowWidth = window.innerWidth;\n\t\tthis.fullMenuMode = this.windowWidth >= this.fullMenuBreak;\n\t\tif (this.windowWidth < 768) {\n\t\t\tthis.mobileMode = true;\n\t\t} else {\n\t\t\tlet activeMenus = this.getActiveSubMenusArray(this.currMenuLevelIndex);\n\t\t\tconst toWidth = this.getMenuToWidth(activeMenus, null);\n\t\t\tTweenMax.set(this.refLayoutWrapper, { width: toWidth });\n\t\t}\n\t\tif (!this.props.open) {\n\t\t\tTweenMax.set(this.refInnerWrapper, { xPercent: this.animationDirection === 1 ? -100 : 100, force3D: true });\n\t\t}\n\t};\n\n\tpublic render() {\n\t\tconst mapMenuItemIndex = this.activeMenu['menuItems'].length;\n\t\tconst mapBackButtonVisible = this.state.mapActive && this.state.activeMenuIndexes[2] > -1;\n\t\tconst mobileBackButtonVisible = this.state.activeMenuIndexes[1] > -1;\n\t\tthis.refsMenuListItems[1][mapMenuItemIndex] = [];\n var pathArray = this.props.location.pathname.split('/');\n var subMenuPath = [\n { path: 'education/', index: 0, style: 'purple' }, \n { path: '/education', index: 0, style: 'purple' },\n { path: 'ar/education/', index: 0, style: 'purple' }, \n { path: '/ar/education', index: 0, style: 'purple' },\n { path: 'research/', index: 1, style: 'blue' }, \n { path: '/research', index: 1, style: 'blue' },\n { path: 'ar/research/', index: 1, style: 'blue' }, \n { path: '/ar/research', index: 1, style: 'blue' },\n { path: 'community/', index: 2, style: 'red' }, \n { path: '/community', index: 2, style: 'red' },\n { path: 'ar/community/', index: 2, style: 'red' }, \n { path: '/ar/community', index: 2, style: 'red' }\n ]\n let arrayIndex = this.props.currLanguage.link === '/ar' ? 2 : 1\n let arrayPos = this.props.currLanguage.link === '/ar' ? 3 : 2\n const isMobile = typeof window !== 'undefined' && window.innerWidth <= 768;\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\n\t\t);\n\t}\n}\n\nexport const query = graphql`\n\tfragment MobileMenu on ContentfulMenu {\n\t\tnode_locale\n\t\ttwitterLink\n\t\tinstagramLink\n\t\tmenuItems {\n\t\t\tid\n\t\t\tlabel\n\t\t\tpath\n\t\t\tsubpages {\n\t\t\t\t... on ContentfulPageEducationCitySpeakerSeries {\n id\n slug\n title\n }\n ... on ContentfulPageVertical {\n id\n title\n slug\n }\n ... on ContentfulMenuItem {\n id\n label\n\n subpages {\n ... on ContentfulPageVertical {\n id\n title\n slug\n }\n }\n }\n\t\t\t}\n introText\n\t\t}\n\t\tsecondaryMenuItems {\n\t\t\tid\n\t\t\ttitle\n\t\t\tpath\n\t\t}\n\t\tmapCategories {\n\t\t\ttitle\n\t\t\tid\n\t\t\treferences {\n\t\t\t\tcontentful_id\n\t\t\t\ttitle\n\t\t\t\tslug\n\t\t\t\tfilterVerticalCategory {\n\t\t\t\t\ttitle\n\t\t\t\t\tslug\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`;\n","import * as React from 'react';\nimport { Link, PageProps } from 'gatsby';\nimport \"./Header.scss\"\nimport Hamburger from './Hamburger';\nimport { MainMenu } from './MainMenu/MainMenu';\nimport { MobileMenu } from './MobileMenu/MobileMenu';\nimport { WrappedComponentProps, injectIntl } from 'react-intl';\nimport { getPagePath, getAbsolutePagePath } from '../utils/URLHelper';\nimport { FormattedMessage } from 'react-intl';\nimport Search from './Search/Search';\nimport { isMobile } from \"react-device-detect\";\n\nconst initialState = { menuOpen: false };\ntype State = Readonly;\n\nclass Header extends React.Component<\n\t{\n pageContext?: any;\n\t\tprograms: any;\n\t\tplaces: any;\n\t\tentities: any;\n\t\tmenuData: PageProps[];\n\t\tlangs: any[];\n\t\tfooterCopyrightMessage: string;\n\t\talternateURL: string;\n\t\tcurrPageTitle: string;\n\t\tpageTitle?: string;\n\t\tlocation: any;\n topBarInfo?: any;\n\t} & WrappedComponentProps,\n\tState\n> {\n\treadonly state: State = initialState;\n\tprivate refMenu: MobileMenu;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tif (typeof window !== 'undefined') {\n\t\t\twindow.addEventListener('hashchange', this.hashChangeHandler);\n\t\t}\n\t}\n\n\tcomponentDidMount(): void {\n\t\tsetTimeout(this.hashChangeHandler, 0);\n\n document.addEventListener('userway:init_completed', function (event) {\n // @ts-ignore\n var instance = event.detail.userWayInstance\n instance.iconVisibilityOff()\n })\n\n document.addEventListener('userway:render_completed', function () {\n let userwayIcon = document.getElementById('accessibilityWidget')\n \n if(userwayIcon)\n userwayIcon.style.display = 'flex'\n })\n\t}\n\n\tprivate hashChangeHandler = () => {\n\t\tif (typeof window !== 'undefined' && window.location.hash && window.location.hash.indexOf('#map') === 0) {\n\t\t\tif (!this.state.menuOpen) {\n\t\t\t\tthis.refMenu.instantOpen = true;\n\t\t\t\tthis.setState({ menuOpen: true });\n\t\t\t}\n\t\t\tsetTimeout(() => {\n this.refMenu.openMap();\n\t\t\t}, 0);\n\t\t}\n\t};\n\n private mapClickHandler = (e) => {\n e.preventDefault();\n if (!this.state.menuOpen) {\n this.refMenu.instantOpen = true;\n this.setState({ menuOpen: true });\n }\n setTimeout(() => {\n this.refMenu.openMap();\n }, 0);\n\t};\n\n\tprivate closeHandler = event => {\n\t\tif (event) {\n\t\t\tconst href = event.target.getAttribute('href');\n\t\t\tif (href && href.indexOf('#') === 0) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n // @ts-ignore\n document.querySelectorAll('.toggleOptions').forEach( x=> x.setAttribute(\"aria-expanded\", \"false\"));\n\t\tif (this.state.menuOpen) {\n\t\t\tthis.setState({ menuOpen: false });\n document.getElementById('NavigationBg') && document.getElementById('NavigationBg').classList.remove(\"menu-open\")\n\t\t} else {\n document.documentElement.style.overflowY = 'scroll';\n }\n\t};\n\n\tprivate toggleHandler = event => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n this.setState({\n menuOpen: !this.state.menuOpen\n }, () => {\n if(this.state.menuOpen) {\n document.getElementById('NavigationBg') && document.getElementById('NavigationBg').classList.add(\"menu-open\")\n document.getElementById('progress-container') && document.getElementById('progress-container').classList.add(\"inMenu\")\n document.documentElement.style.overflowY = 'hidden';\n } else {\n document.getElementById('NavigationBg') && document.getElementById('NavigationBg').classList.remove(\"menu-open\")\n document.getElementById('progress-container') && document.getElementById('progress-container').classList.remove(\"inMenu\")\n document.documentElement.style.overflowY = 'scroll';\n }\n });\n\t};\n\n private isTapStory = () => {\n\t\tconst splitLocation = this.props.location.pathname.split(\"/\").filter(split => split != \"\")\n if(this.props.langs[1].selected)\n splitLocation.pop()\n\t\treturn splitLocation.includes(\"tap\") && splitLocation.length >= 3\n\t}\n\n private handleAccessibilityWidget = (event) => {\n if (event) {\n\t\t\tevent.preventDefault();\n\t\t}\n // @ts-ignore\n typeof UserWay !== 'undefined' && UserWay.widgetOpen()\n }\n\n private handleClick = () => {\n document.getElementById('chatBtn').click()\n }\n\n private toggleOptions = (e, megaMenu) => {\n e.preventDefault();\n var elem = e.target.tagName === 'path' ? e.target.parentElement.parentElement : e.target.tagName === 'svg' ? e.target.parentElement : e.target\n var x = elem.getAttribute(\"aria-expanded\")\n if(x !== null) {\n var theSpan = typeof document !== 'undefined' && document.createElement(\"span\"); \n theSpan.id = 'close-megamenu'\n theSpan.className = 'closeMegamenu'\n \n if (x == \"true\") {\n x = \"false\"\n document.documentElement.classList.remove('megamenuOpen');\n } else {\n x = \"true\"\n if(megaMenu) {\n document.documentElement.classList.add('megamenuOpen');\n }\n }\n // @ts-ignore\n document.querySelectorAll('.toggleOptions').forEach( x=> x.setAttribute(\"aria-expanded\", \"false\"));\n elem.setAttribute(\"aria-expanded\", x);\n \n if(megaMenu) {\n var activeItem = elem.nextElementSibling?.querySelectorAll('ul > div#secondaryMenuList > li#active > a')[0];\n if(activeItem) {\n elem.nextElementSibling?.querySelectorAll('ul > div#secondaryMenuList > li#active > a')[0]?.click()\n } else {\n elem.nextElementSibling?.querySelectorAll('ul > div#secondaryMenuList > li:first-child > a')[0]?.click()\n }\n }\n }\n };\n\n\tprivate closeDialogue = () => {\n document.getElementById('explore-qf').setAttribute(\"aria-expanded\", \"false\");\n }\n\n\trender() {\n const currLanguage = this.props.langs[1].selected ? this.props.langs[1] : this.props.langs[0];\n\t\treturn (\n\t\t\t
    \n
    \n \n \n \n
    \n
      \n
    • \n this.toggleOptions(e, true)}>\n \n \n \n \n \n
      \n
      \n
      \n

      \n
      \n

      \n \n

      \n
      \n
      \n \n \n \n \n \n \n
      \n
      \n
      \n

      \n

      \n \n
      \n \n \n \n

      \n
      \n
      \n \"Botaina\"\n
      \n
      \n
      \n
      \n
    • \n
    • \n \n \n \n
    • \n
    • \n \n \n \n
    • \n
    • \n
      \n \n
      \n
    • \n {\n isMobile && \n }\n
    \n
    \n
    \n
    \n {\n !this.isTapStory() && (\n isMobile ? (\n <>\n (this.refMenu = ref)}\n programs={this.props.programs}\n places={this.props.places}\n entities={this.props.entities}\n closeHandler={this.closeHandler}\n open={this.state.menuOpen}\n footerCopyrightMessage={this.props.footerCopyrightMessage}\n currLanguage={currLanguage}\n // @ts-ignore\n data={this.props.menuData}\n intl={this.props.intl}\n id=\"mobilemenu\"\n alternateURL={this.props.alternateURL}\n langs={this.props.langs}\n location={this.props.location}\n pageContext={this.props.pageContext}\n >\n \n \n \n \n \n\n ) : (\n <>\n (this.refMenu = ref)}\n programs={this.props.programs}\n places={this.props.places}\n entities={this.props.entities}\n closeHandler={this.closeHandler}\n open={this.state.menuOpen}\n footerCopyrightMessage={this.props.footerCopyrightMessage}\n currLanguage={currLanguage}\n // @ts-ignore\n data={this.props.menuData}\n intl={this.props.intl}\n id=\"mobilemenu\"\n alternateURL={this.props.alternateURL}\n langs={this.props.langs}\n location={this.props.location}\n pageContext={this.props.pageContext}\n >\n \n \n \n \n ))\n }\n
    \n
    \n\t\t);\n\t}\n}\n\nexport default injectIntl(Header);","import { __assign } from \"tslib\";\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport { MissingTranslationError, MessageFormatError } from './error';\nimport { TYPE } from '@formatjs/icu-messageformat-parser';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce(function (all, k) {\n all[k] = __assign({\n timeZone: timeZone\n }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n var keys = Object.keys(__assign(__assign({}, opts1), opts2));\n return keys.reduce(function (all, k) {\n all[k] = __assign(__assign({}, opts1[k] || {}), opts2[k] || {});\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n var mfFormats = IntlMessageFormat.formats;\n return __assign(__assign(__assign({}, mfFormats), f1), {\n date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)),\n time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone))\n });\n}\nexport var formatMessage = function formatMessage(_a, state, messageDescriptor, values, opts) {\n var locale = _a.locale,\n formats = _a.formats,\n messages = _a.messages,\n defaultLocale = _a.defaultLocale,\n defaultFormats = _a.defaultFormats,\n fallbackOnEmptyString = _a.fallbackOnEmptyString,\n onError = _a.onError,\n timeZone = _a.timeZone,\n defaultRichTextElements = _a.defaultRichTextElements;\n if (messageDescriptor === void 0) {\n messageDescriptor = {\n id: ''\n };\n }\n var msgId = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage;\n // `id` is a required field of a Message Descriptor.\n invariant(!!msgId, \"[@formatjs/intl] An `id` must be provided to format a message. You can either:\\n1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)\\nor [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR\\n2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)\\nto autofix this issue\");\n var id = String(msgId);\n var message =\n // In case messages is Object.create(null)\n // e.g import('foo.json') from webpack)\n // See https://github.com/formatjs/formatjs/issues/1914\n messages && Object.prototype.hasOwnProperty.call(messages, id) && messages[id];\n // IMPORTANT: Hot path if `message` is AST with a single literal node\n if (Array.isArray(message) && message.length === 1 && message[0].type === TYPE.literal) {\n return message[0].value;\n }\n // IMPORTANT: Hot path straight lookup for performance\n if (!values && message && typeof message === 'string' && !defaultRichTextElements) {\n return message.replace(/'\\{(.*?)\\}'/gi, \"{$1}\");\n }\n values = __assign(__assign({}, defaultRichTextElements), values || {});\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n if (!message) {\n if (fallbackOnEmptyString === false && message === '') {\n return message;\n }\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale.\n onError(new MissingTranslationError(messageDescriptor, locale));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n } catch (e) {\n onError(new MessageFormatError(\"Error formatting default message for: \\\"\".concat(id, \"\\\", rendering default message verbatim\"), locale, messageDescriptor, e));\n return typeof defaultMessage === 'string' ? defaultMessage : id;\n }\n }\n return id;\n }\n // We have the translated message\n try {\n var formatter = state.getMessageFormat(message, locale, formats, __assign({\n formatters: state\n }, opts || {}));\n return formatter.format(values);\n } catch (e) {\n onError(new MessageFormatError(\"Error formatting message: \\\"\".concat(id, \"\\\", using \").concat(defaultMessage ? 'default message' : 'id', \" as fallback.\"), locale, messageDescriptor, e));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n } catch (e) {\n onError(new MessageFormatError(\"Error formatting the default message for: \\\"\".concat(id, \"\\\", rendering message verbatim\"), locale, messageDescriptor, e));\n }\n }\n if (typeof message === 'string') {\n return message;\n }\n if (typeof defaultMessage === 'string') {\n return defaultMessage;\n }\n return id;\n};","import { IntlFormatError } from './error';\nimport { filterProps, getNamedFormat } from './utils';\nvar NUMBER_FORMAT_OPTIONS = ['style', 'currency', 'unit', 'unitDisplay', 'useGrouping', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits',\n// ES2020 NumberFormat\n'compactDisplay', 'currencyDisplay', 'currencySign', 'notation', 'signDisplay', 'unit', 'unitDisplay', 'numberingSystem',\n// ES2023 NumberFormat\n'trailingZeroDisplay', 'roundingPriority', 'roundingIncrement', 'roundingMode'];\nexport function getFormatter(_a, getNumberFormat, options) {\n var locale = _a.locale,\n formats = _a.formats,\n onError = _a.onError;\n if (options === void 0) {\n options = {};\n }\n var format = options.format;\n var defaults = format && getNamedFormat(formats, 'number', format, onError) || {};\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options) {\n if (options === void 0) {\n options = {};\n }\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n } catch (e) {\n config.onError(new IntlFormatError('Error formatting number.', config.locale, e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options) {\n if (options === void 0) {\n options = {};\n }\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n } catch (e) {\n config.onError(new IntlFormatError('Error formatting number.', config.locale, e));\n }\n return [];\n}","import { getNamedFormat, filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar RELATIVE_TIME_FORMAT_OPTIONS = ['numeric', 'style'];\nfunction getFormatter(_a, getRelativeTimeFormat, options) {\n var locale = _a.locale,\n formats = _a.formats,\n onError = _a.onError;\n if (options === void 0) {\n options = {};\n }\n var format = options.format;\n var defaults = !!format && getNamedFormat(formats, 'relative', format, onError) || {};\n var filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options) {\n if (options === void 0) {\n options = {};\n }\n if (!unit) {\n unit = 'second';\n }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(new FormatError(\"Intl.RelativeTimeFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-relativetimeformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n } catch (e) {\n config.onError(new IntlFormatError('Error formatting relative time.', config.locale, e));\n }\n return String(value);\n}","import { __assign } from \"tslib\";\nimport { filterProps, getNamedFormat } from './utils';\nimport { IntlFormatError } from './error';\nvar DATE_TIME_FORMAT_OPTIONS = ['formatMatcher', 'timeZone', 'hour12', 'weekday', 'era', 'year', 'month', 'day', 'hour', 'minute', 'second', 'timeZoneName', 'hourCycle', 'dateStyle', 'timeStyle', 'calendar',\n// 'dayPeriod',\n'numberingSystem', 'fractionalSecondDigits'];\nexport function getFormatter(_a, type, getDateTimeFormat, options) {\n var locale = _a.locale,\n formats = _a.formats,\n onError = _a.onError,\n timeZone = _a.timeZone;\n if (options === void 0) {\n options = {};\n }\n var format = options.format;\n var defaults = __assign(__assign({}, timeZone && {\n timeZone: timeZone\n }), format && getNamedFormat(formats, type, format, onError));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' && !filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second && !filteredOptions.timeStyle && !filteredOptions.dateStyle) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = __assign(__assign({}, filteredOptions), {\n hour: 'numeric',\n minute: 'numeric'\n });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0],\n _b = _a[1],\n options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n } catch (e) {\n config.onError(new IntlFormatError('Error formatting date.', config.locale, e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0],\n _b = _a[1],\n options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n } catch (e) {\n config.onError(new IntlFormatError('Error formatting time.', config.locale, e));\n }\n return String(date);\n}\nexport function formatDateTimeRange(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var from = _a[0],\n to = _a[1],\n _b = _a[2],\n options = _b === void 0 ? {} : _b;\n var timeZone = config.timeZone,\n locale = config.locale,\n onError = config.onError;\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, timeZone ? {\n timeZone: timeZone\n } : {});\n try {\n return getDateTimeFormat(locale, filteredOptions).formatRange(from, to);\n } catch (e) {\n onError(new IntlFormatError('Error formatting date time range.', config.locale, e));\n }\n return String(from);\n}\nexport function formatDateToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0],\n _b = _a[1],\n options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n } catch (e) {\n config.onError(new IntlFormatError('Error formatting date.', config.locale, e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0],\n _b = _a[1],\n options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n } catch (e) {\n config.onError(new IntlFormatError('Error formatting time.', config.locale, e));\n }\n return [];\n}","import { filterProps } from './utils';\nimport { IntlFormatError } from './error';\nimport { ErrorCode, FormatError } from 'intl-messageformat';\nvar PLURAL_FORMAT_OPTIONS = ['type'];\nexport function formatPlural(_a, getPluralRules, value, options) {\n var locale = _a.locale,\n onError = _a.onError;\n if (options === void 0) {\n options = {};\n }\n if (!Intl.PluralRules) {\n onError(new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n } catch (e) {\n onError(new IntlFormatError('Error formatting plural.', locale, e));\n }\n return 'other';\n}","import { __assign } from \"tslib\";\nimport { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar LIST_FORMAT_OPTIONS = ['type', 'style'];\nvar now = Date.now();\nfunction generateToken(i) {\n return \"\".concat(now, \"_\").concat(i, \"_\").concat(now);\n}\nexport function formatList(opts, getListFormat, values, options) {\n if (options === void 0) {\n options = {};\n }\n var results = formatListToParts(opts, getListFormat, values, options).reduce(function (all, el) {\n var val = el.value;\n if (typeof val !== 'string') {\n all.push(val);\n } else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n } else {\n all.push(val);\n }\n return all;\n }, []);\n return results.length === 1 ? results[0] : results.length === 0 ? '' : results;\n}\nexport function formatListToParts(_a, getListFormat, values, options) {\n var locale = _a.locale,\n onError = _a.onError;\n if (options === void 0) {\n options = {};\n }\n var ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(new FormatError(\"Intl.ListFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-listformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n var richValues_1 = {};\n var serializedValues = values.map(function (v, i) {\n if (typeof v === 'object') {\n var id = generateToken(i);\n richValues_1[id] = v;\n return id;\n }\n return String(v);\n });\n return getListFormat(locale, filteredOptions).formatToParts(serializedValues).map(function (part) {\n return part.type === 'literal' ? part : __assign(__assign({}, part), {\n value: richValues_1[part.value] || part.value\n });\n });\n } catch (e) {\n onError(new IntlFormatError('Error formatting list.', locale, e));\n }\n // @ts-ignore\n return values;\n}","import { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar DISPLAY_NAMES_OPTONS = ['style', 'type', 'fallback', 'languageDisplay'];\nexport function formatDisplayName(_a, getDisplayNames, value, options) {\n var locale = _a.locale,\n onError = _a.onError;\n var DisplayNames = Intl.DisplayNames;\n if (!DisplayNames) {\n onError(new FormatError(\"Intl.DisplayNames is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-displaynames\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n } catch (e) {\n onError(new IntlFormatError('Error formatting display name.', locale, e));\n }\n}","import { __assign } from \"tslib\";\nimport { createFormatters, DEFAULT_INTL_CONFIG } from './utils';\nimport { InvalidConfigError, MissingDataError } from './error';\nimport { formatNumber, formatNumberToParts } from './number';\nimport { formatRelativeTime } from './relativeTime';\nimport { formatDate, formatDateToParts, formatTime, formatTimeToParts, formatDateTimeRange } from './dateTime';\nimport { formatPlural } from './plural';\nimport { formatMessage } from './message';\nimport { formatList, formatListToParts } from './list';\nimport { formatDisplayName } from './displayName';\nfunction messagesContainString(messages) {\n var firstMessage = messages ? messages[Object.keys(messages)[0]] : undefined;\n return typeof firstMessage === 'string';\n}\nfunction verifyConfigMessages(config) {\n if (config.onWarn && config.defaultRichTextElements && messagesContainString(config.messages || {})) {\n config.onWarn(\"[@formatjs/intl] \\\"defaultRichTextElements\\\" was specified but \\\"message\\\" was not pre-compiled. \\nPlease consider using \\\"@formatjs/cli\\\" to pre-compile your messages for performance.\\nFor more details see https://formatjs.io/docs/getting-started/message-distribution\");\n }\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n var formatters = createFormatters(cache);\n var resolvedConfig = __assign(__assign({}, DEFAULT_INTL_CONFIG), config);\n var locale = resolvedConfig.locale,\n defaultLocale = resolvedConfig.defaultLocale,\n onError = resolvedConfig.onError;\n if (!locale) {\n if (onError) {\n onError(new InvalidConfigError(\"\\\"locale\\\" was not configured, using \\\"\".concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details\")));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n } else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.NumberFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\")));\n } else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length && onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.DateTimeFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\")));\n }\n verifyConfigMessages(resolvedConfig);\n return __assign(__assign({}, resolvedConfig), {\n formatters: formatters,\n formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat),\n formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat),\n formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat),\n formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatDateTimeRange: formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat),\n formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules),\n // @ts-expect-error TODO: will get to this later\n formatMessage: formatMessage.bind(null, resolvedConfig, formatters),\n // @ts-expect-error TODO: will get to this later\n $t: formatMessage.bind(null, resolvedConfig, formatters),\n formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat),\n formatListToParts: formatListToParts.bind(null, resolvedConfig, formatters.getListFormat),\n formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames)\n });\n}","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __assign, __rest, __spreadArray } from \"tslib\";\nimport { createIntl as coreCreateIntl, formatMessage as coreFormatMessage } from '@formatjs/intl';\nimport * as React from 'react';\nimport { DEFAULT_INTL_CONFIG, assignUniqueKeysToParts } from '../utils';\nimport { isFormatXMLElementFn } from 'intl-messageformat';\nfunction assignUniqueKeysToFormatXMLElementFnArgument(values) {\n if (!values) {\n return values;\n }\n return Object.keys(values).reduce(function (acc, k) {\n var v = values[k];\n acc[k] = isFormatXMLElementFn(v) ? assignUniqueKeysToParts(v) : v;\n return acc;\n }, {});\n}\nvar formatMessage = function formatMessage(config, formatters, descriptor, rawValues) {\n var rest = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n rest[_i - 4] = arguments[_i];\n }\n var values = assignUniqueKeysToFormatXMLElementFnArgument(rawValues);\n var chunks = coreFormatMessage.apply(void 0, __spreadArray([config, formatters, descriptor, values], rest, false));\n if (Array.isArray(chunks)) {\n return React.Children.toArray(chunks);\n }\n return chunks;\n};\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport var createIntl = function createIntl(_a, cache) {\n var rawDefaultRichTextElements = _a.defaultRichTextElements,\n config = __rest(_a, [\"defaultRichTextElements\"]);\n var defaultRichTextElements = assignUniqueKeysToFormatXMLElementFnArgument(rawDefaultRichTextElements);\n var coreIntl = coreCreateIntl(__assign(__assign(__assign({}, DEFAULT_INTL_CONFIG), config), {\n defaultRichTextElements: defaultRichTextElements\n }), cache);\n var resolvedConfig = {\n locale: coreIntl.locale,\n timeZone: coreIntl.timeZone,\n fallbackOnEmptyString: coreIntl.fallbackOnEmptyString,\n formats: coreIntl.formats,\n defaultLocale: coreIntl.defaultLocale,\n defaultFormats: coreIntl.defaultFormats,\n messages: coreIntl.messages,\n onError: coreIntl.onError,\n defaultRichTextElements: defaultRichTextElements\n };\n return __assign(__assign({}, coreIntl), {\n formatMessage: formatMessage.bind(null, resolvedConfig,\n // @ts-expect-error fix this\n coreIntl.formatters),\n // @ts-expect-error fix this\n $t: formatMessage.bind(null, resolvedConfig, coreIntl.formatters)\n });\n};","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __extends } from \"tslib\";\nimport { createIntlCache } from '@formatjs/intl';\nimport * as React from 'react';\nimport { DEFAULT_INTL_CONFIG, invariantIntlContext, shallowEqual } from '../utils';\nimport { Provider } from './injectIntl';\nimport { createIntl } from './createIntl';\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n fallbackOnEmptyString: config.fallbackOnEmptyString,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n onWarn: config.onWarn,\n wrapRichTextChunksInFragment: config.wrapRichTextChunksInFragment,\n defaultRichTextElements: config.defaultRichTextElements\n };\n}\nvar IntlProvider = /** @class */function (_super) {\n __extends(IntlProvider, _super);\n function IntlProvider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cache = createIntlCache();\n _this.state = {\n cache: _this.cache,\n intl: createIntl(processIntlConfig(_this.props), _this.cache),\n prevConfig: processIntlConfig(_this.props)\n };\n return _this;\n }\n IntlProvider.getDerivedStateFromProps = function (props, _a) {\n var prevConfig = _a.prevConfig,\n cache = _a.cache;\n var config = processIntlConfig(props);\n if (!shallowEqual(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config\n };\n }\n return null;\n };\n IntlProvider.prototype.render = function () {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, {\n value: this.state.intl\n }, this.props.children);\n };\n IntlProvider.displayName = 'IntlProvider';\n IntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n return IntlProvider;\n}(React.PureComponent);\nexport default IntlProvider;","import * as React from 'react';\n//@ts-ignore:\nimport * as styles from './Footer.module.scss';\nimport { FormattedMessage, injectIntl, WrappedComponentProps } from 'react-intl';\nimport { makeAbsolute, getPagePath } from '../utils/URLHelper';\nimport GatsbyLinkExternalSupport from '../ui/GatsbyLinkExternalSupport';\nimport loadable from '@loadable/component';\nimport { Link, PageProps } from 'gatsby';\nimport MainMenuSocialCopyright from './MobileMenu/MobileMenuSocialCopyright';\nconst MinimizableWebChat = loadable(() => import('../lib/webchat/MinimizableWebChat'))\ninterface Props {\n\tsiteGlobals: any;\n\tmenuData: PageProps[];\n\tcurrLanguage: any;\n\tpageTitle?: any;\n\tshowStatementNotification?: boolean;\n\tcurrPageTitle?: any;\n\tlocationPathName?: any;\n footerBarInfo?: any;\n}\n\nconst initialState = { userDetails: null, darkmode: null };\ntype State = Readonly;\n\nclass Footer extends React.Component {\n\treadonly state: State = initialState;\n\n\tconstructor(props) {\n\t\tsuper(props);\n this.handleClick = this.handleClick.bind(this);\n\t}\n\n private handleClick = () => {\n document.getElementById('chatBtn').click()\n }\n\n\tconvertNewLines(_text) {\n\t\tlet lines = _text.toString().split('\\n');\n\t\tlet elements = [];\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\telements.push(lines[i]);\n\t\t\tif (i < lines.length - 1) {\n\t\t\t\telements.push(
    );\n\t\t\t}\n\t\t}\n\t\treturn elements;\n\t}\n\n\trender() {\n\t\tlet { siteGlobals, menuData, currLanguage } = this.props;\n\t\tconst activeMenu = menuData.filter(menuFragment => menuFragment['node_locale'] === currLanguage.langKey)[0];\n\t\tconst pressEmail = ['mailto:', 'pressoffice@qf.org.qa'];\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n currLanguage.langKey !== 'ar-QA' ? (\n
    \n

    \n
    At the heart of everything we do is
    \n
    the knowledge that our future lies
    \n
    in
    unlocking
    the most precious
    \n
    resource of all—
    human potential.
    \n

    \n
    \n ) : (\n
    \n

    \n
    إن ما نقوم به يعتمد على
    \n
    فلسفة مفادها أن مستقبلنا
    \n
    يكمن في
    إطلاق
    أثمن الموارد
    \n
    على الإطلاق –
    ألا وهو الإنسان.
    \n

    \n
    \n )\n }\n\t\t\t\t\t\t
    \n
    \n
      \n
    • \n \n \n \n
    • \n
    • \n \n \n \n
    • \n
    • \n \n \n \n
    • \n
    • \n \n \n \n
    • \n
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t{activeMenu['secondaryMenuItems'].map((menuItem, index) => {\n\n if(menuItem.path === '/ar/https://stories.qf.org.qa/world-cup/ar' || menuItem.path === 'https://stories.qf.org.qa/world-cup/' || menuItem.path === '/search' || menuItem.path === '/ar/search')\n return\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\t\t{menuItem.path.indexOf('#') === 0 ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t{menuItem.title}\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t{menuItem.title}\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n
    • \n {currLanguage.langKey === 'ar-QA' ? 'استعراض عام' : 'The Year in Review' }\n
    • \n
    • \n {currLanguage.langKey === 'ar-QA' ? 'المناقصات' : 'Tenders' }\n
    • \n
    • \n {currLanguage.langKey === 'ar-QA' ? 'تسجيل الموردين' : 'Supplier Registration' }\n
    • \n
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{txt => (\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.convertNewLines(txt)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{pressEmail[1]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
      \n
    • \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{activeMenu['menuItems'].map((menuItem, index) => {\n let lastItem = activeMenu['menuItems'][2]\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{menuItem.label}\n\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t\t\t{menuItem.subpages?.map(link => {\n return (\n <>\n {\n // @ts-ignore\n (link.slug && link.slug !== '/ar/undefined') ? (\n
    • \n {\n // @ts-ignore\n {link.title}\n }\n
    • \n ) : (\n null\n )\n }\n {\n // @ts-ignore\n link?.subpages?.map(sublink => {\n return (\n
    • \n {\n // @ts-ignore\n {sublink.title}\n }\n
    • \n );\n })}\n \n );\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t
    \n\n { (lastItem && index === 1) &&\n <>\n
    \n
    \n \n {lastItem.label}\n
      \n {lastItem.subpages?.map(link => {\n return (\n <>\n {\n // @ts-ignore\n (link.slug && link.slug !== '/ar/undefined') ? (\n
    • \n {\n // @ts-ignore\n {link.title}\n }\n
    • \n ) : (\n null\n )\n }\n {\n // @ts-ignore\n link?.subpages?.map(sublink => {\n return (\n
    • \n {\n // @ts-ignore\n {sublink.title}\n }\n
    • \n );\n })}\n \n );\n })}\n
    \n
    \n \n }\n\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n
    \n

    \n \n {txt => (\n <>\n {this.convertNewLines(txt)}{' '}\n \n <>{msg}} />\n \n \n )}\n \n

    \n
    \n \n
    \n
    \n \n

    \n \n

    \n
    \n
    \n \"Botaina\"\n
    \n
    \n\t\t\t\t
    \n
    \n
    \n
    \n {siteGlobals.footerCopyrightMessage.footerCopyrightMessage}\n
    \n \n \n \n
    \n
    \n
    \n
    \n {\n \n }\n
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default injectIntl(Footer);","import * as React from 'react';\n//@ts-ignore:\nimport * as styles from './Footer.module.scss';\nimport { FormattedMessage, injectIntl, WrappedComponentProps } from 'react-intl';\nimport { TweenMax, gsap } from 'gsap/dist/gsap.min';\nimport { ScrollToPlugin } from 'gsap/dist/ScrollToPlugin';\nimport { getPagePath } from '../../utils/URLHelper';\nimport GatsbyLinkExternalSupport from '../GatsbyLinkExternalSupport';\n\ninterface Props {\n\tcurrLanguage: any;\n\tpageTitle?: any;\n\tshowStatementNotification?: boolean;\n\tcurrPageTitle?: any;\n\tlocationPathName?: any;\n}\n\nconst initialState = { userDetails: null, showCookieDialog: false };\ntype State = Readonly;\n\nclass IDKTFooter extends React.Component {\n\tprivate cookieBanner;\n\treadonly state: State = initialState;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.closeCookieDialog = this.closeCookieDialog.bind(this);\n\t}\n\n\tprivate topArrowClickHandler = event => {\n\t\tif (event) {\n\t\t\tevent.preventDefault();\n\t\t\tgsap.to(window, { duration: 0.5, scrollTo: { y: 0, autoKill: false }, ease: 'easeInOut' });\n\t\t}\n\t};\n\n\tprivate closeCookieDialog = event => {\n\t\tif (event) {\n\t\t\tif (event.target.id == 'closebutton') {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t\tlocalStorage.setItem('qf-cookie-consent', '1');\n\t\t\tthis.setState({\n\t\t\t\tshowCookieDialog: false\n\t\t\t});\n\t\t\tTweenMax.to(this.cookieBanner, 0.5, { y: 100, yPercent: 100, force3D: true, delay: 0.5 });\n\t\t}\n\t};\n\n\tprivate showCookieDialog = () => {\n\t\tthis.setState({\n\t\t\tshowCookieDialog: true\n\t\t});\n\t\t!localStorage.getItem('qf-cookie-consent') && TweenMax.to(this.cookieBanner, 0.5, { y: 0, yPercent: -100, force3D: true, delay: 2 });\n\t};\n\n\tasync componentDidMount() {\n\t\tthis.showCookieDialog();\n\t\tgsap.registerPlugin(ScrollToPlugin);\n\t}\n\n\tconvertNewLines(_text) {\n\t\tlet lines = _text.split('\\n');\n\t\tlet elements = [];\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\telements.push(lines[i]);\n\t\t\tif (i < lines.length - 1) {\n\t\t\t\telements.push(
    );\n\t\t\t}\n\t\t}\n\t\treturn elements;\n\t}\n\n\trender() {\n\t\t// @ts-ignore\n\t\tlet { siteGlobals, currLanguage } = this.props;\n\t\tlet showCookieDialog = this.state;\n\t\tconst madaLink = currLanguage.langKey === 'ar-QA' ? 'https://mada.org.qa/?lang=ar' : 'https://mada.org.qa'\n const idktnewsletterLink = currLanguage.langKey === 'ar-QA' ? '/ar/idkt/newsletter' : '/idkt/newsletter'\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\tIDKT@qf.org.qa\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t+974 4454 0818\n\t\t\t\t\t\t\t\t
    \n
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t \n \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{siteGlobals.footerCopyrightMessage.footerCopyrightMessage}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t{this.props.intl.formatMessage({\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t{showCookieDialog && (\n\t\t\t\t\t
    (this.cookieBanner = div)}>\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default injectIntl(IDKTFooter);\n","import _defineProperty from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nvar DEFAULT_OPTIONS = {\n styles: \"\\n*:focus {\\n outline: none !important;\\n}\\n*::-moz-focus-inner {\\n border: none !important;\\n}\",\n stylesheetTarget: typeof document !== 'undefined' && document.head\n};\nvar ACCEPTED_KEYS = [9,\n// Tab\n37,\n// ArrowLeft\n38,\n// ArrowTop\n39,\n// ArrowRight\n40 // ArrowDown\n];\nvar createStylesheet = function createStylesheet(options) {\n var styleNode = document.createElement('style');\n var targetNode = options.stylesheetTarget;\n styleNode.innerText = options.styles;\n return {\n apply: function apply() {\n targetNode.append(styleNode);\n },\n unapply: function unapply() {\n if (styleNode.parentNode === targetNode) {\n targetNode.removeChild(styleNode);\n }\n }\n };\n};\nvar createListeners = function createListeners(styleSheet) {\n var usingKeyboard = false;\n var handleKeydown = function handleKeydown(ev) {\n if (!usingKeyboard && ACCEPTED_KEYS.includes(ev.keyCode)) {\n usingKeyboard = true;\n }\n };\n var handleMousedown = function handleMousedown() {\n usingKeyboard = false;\n };\n var handleFocusin = function handleFocusin() {\n if (!usingKeyboard) {\n styleSheet.apply();\n } else {\n styleSheet.unapply();\n }\n };\n document.addEventListener('keydown', handleKeydown);\n document.addEventListener('mousedown', handleMousedown);\n document.addEventListener('focusin', handleFocusin); // Trigger the focus handler if there's a focused element\n\n if (document.activeElement && document.activeElement.tagName !== 'BODY' && document.activeElement.tagName !== 'HTML') {\n handleFocusin();\n }\n return function () {\n document.removeEventListener('keydown', handleKeydown);\n document.removeEventListener('mousedown', handleMousedown);\n document.removeEventListener('focusin', handleFocusin);\n };\n};\nvar keyboardOnlyOutlines = function keyboardOnlyOutlines(options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n var stylesheet = createStylesheet(options);\n var destroyListeners = createListeners(stylesheet);\n return function () {\n stylesheet.unapply();\n destroyListeners();\n };\n};\nexport default keyboardOnlyOutlines;","import _classCallCheck from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _possibleConstructorReturn from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js\";\nimport _getPrototypeOf from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\";\nimport _inherits from \"/home/wspadmin/Microsite-Agent/_work/2/s/node_modules/@babel/runtime/helpers/esm/inherits.js\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\nimport keyboardOnlyOutlines from '@moxy/keyboard-only-outlines';\nvar KeyboardOnlyOutlines = /*#__PURE__*/function (_Component) {\n function KeyboardOnlyOutlines() {\n var _this;\n _classCallCheck(this, KeyboardOnlyOutlines);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, KeyboardOnlyOutlines, [].concat(args));\n _defineProperty(_this, \"keyboardOutlinesOptions\", void 0);\n return _this;\n }\n _inherits(KeyboardOnlyOutlines, _Component);\n return _createClass(KeyboardOnlyOutlines, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.applyKeyboardOutlines();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.applyKeyboardOutlines();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.disposeKeyboardOutlines();\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }, {\n key: \"applyKeyboardOutlines\",\n value: function applyKeyboardOutlines() {\n var options = {};\n if (this.props.stylesheetTarget != null) {\n options.stylesheetTarget = this.props.stylesheetTarget;\n }\n if (this.props.styles != null) {\n options.styles = this.props.styles;\n } // Skip if nothing changed\n\n if (shallowEqual(options, this.keyboardOutlinesOptions)) {\n return;\n }\n this.keyboardOutlinesOptions = options;\n this.disposeKeyboardOutlines();\n this.dispose = keyboardOnlyOutlines(options);\n }\n }, {\n key: \"disposeKeyboardOutlines\",\n value: function disposeKeyboardOutlines() {\n if (this.dispose) {\n this.dispose();\n this.dispose = undefined;\n }\n }\n }]);\n}(Component);\nexport { KeyboardOnlyOutlines as default };\n_defineProperty(KeyboardOnlyOutlines, \"propTypes\", {\n children: PropTypes.node,\n stylesheetTarget: PropTypes.object,\n styles: PropTypes.string\n});\n_defineProperty(KeyboardOnlyOutlines, \"defaultProps\", {\n children: null\n});","import * as React from 'react';\n\nimport * as styles from './UIBreadcrumb.module.scss';\nimport { Link } from 'gatsby';\nimport { FormattedMessage } from 'react-intl';\nimport ViewableMonitor from '../components/ui/ViewableMonitor';\n\nconst URLPathMapping = {\n\tevents: 'Events',\n\t'education-city-speaker-series': 'Education City Speaker Series',\n\tstories: 'Stories',\n\teducation: 'Education',\n\tresearch: 'Research',\n\tcommunity: 'Community',\n\t'media-center': 'Media Center',\n\tsearch: 'Search',\n\tabout: 'About'\n};\nconst URLPathMappingAR = {\n\tevents: 'الفعاليات',\n\t'education-city-speaker-series': 'سلسلة محاضرات المدينة التعليمية',\n\tstories: 'قصص',\n\teducation: 'التعليم',\n\tresearch: 'البحوث',\n\tcommunity: 'المجتمع',\n\t'media-center': 'المركز الإعلامي',\n\tsearch: 'بحث',\n\tabout: 'عن المؤسسة'\n};\nexport class UIBreadcrumb extends React.Component<{ currPageTitle: string; currLanguage: any; location: any, isExpertPage?: boolean }> {\n\tprivate currRenderPath: { title: string; link?: string }[] = [];\n\n\tpublic render() {\n\t\tlet path = this.props.location.pathname;\n\t\tlet prependLanguage = this.props.currLanguage.link.length > 1;\n\t\tconst isFrontPage = path === '/' || path === '/ar';\n\t\tif (!isFrontPage) {\n\t\t\tif (prependLanguage) {\n\t\t\t\tpath = path.substr(this.props.currLanguage.link.length);\n\t\t\t}\n\n\t\t\tconst pathParts = path.split('/');\n\n\t\t\tthis.currRenderPath = [];\n\n\t\t\tif (pathParts.length >= 2) {\n\t\t\t\tlet pathPart = this.props.currLanguage.link === '/' ? URLPathMapping[pathParts[1]] : URLPathMappingAR[pathParts[1]];\n\t\t\t\tif (pathPart) {\n\t\t\t\t\tthis.currRenderPath.push({ title: pathPart, link: prependLanguage ? this.props.currLanguage.link + '/' + pathParts[1] : '/' + pathParts[1] });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.currRenderPath[this.currRenderPath.length - 1] === undefined || this.currRenderPath[this.currRenderPath.length - 1].title !== this.props.currPageTitle) {\n\t\t\t\tthis.currRenderPath.push({ title: this.props.currPageTitle });\n\t\t\t}\n\n\t\t\tif(pathParts.length > 3 && path.indexOf('/idkt') != -1) {\n\t\t\t\tthis.currRenderPath[0].link = `${this.props.currLanguage.link === '/' ? '/idkt/about' : '/ar/idkt/about'}`\n\t\t\t}\n\n\t\t\tif(pathParts.length >= 4 && path.indexOf('/experts/') != -1) {\n\t\t\t\t//@ts-ignore:\n\t\t\t\tthis.currRenderPath.splice(1, 0, { title : null, link: null });\n\t\t\t}\n\t\t}\n\n\t\treturn (\n \n \n \n\t\t);\n\t}\n}\n","import React from 'react';\nimport { Component } from 'react';\nimport Header from '../components/Header';\nimport { IntlProvider } from 'react-intl';\nimport '../styles/index.scss';\nimport Footer from '../components/Footer';\nimport IDKTFooter from '../ui/IDKT/Footer';\nimport { Globals } from '../utils/Globals';\nimport { graphql, StaticQuery, Script, PageProps } from 'gatsby';\nimport KeyboardOnlyOutlines from '@moxy/react-keyboard-only-outlines';\nimport { UIBreadcrumb } from '../ui/UIBreadcrumb';\nimport { ThemeProvider } from 'react-hook-theme';\n\nconst initialState = { showNotification: false, alternateUrl: '', title: 'Qatar Foundation', currentLocation: null };\ntype State = Readonly;\n\nclass TemplateWrapper extends Component<{ children: any; location: any; layoutData: PageProps }, State> {\n\treadonly state: State = initialState;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t}\n\n\tasync componentDidMount() {\n\t\tawait fetch('https://cdn.contentful.com/spaces/2h1qowfuxkq7/environments/master/entries/1UkArCmwqoGeweAo8yiMgG?access_token=58c4afc16acba8b5b5a1f79a13f22cb0e140a4e3a5ab3355da49ff6bfd9a7978')\n\t\t.then((resp) => resp.json())\t\n .then(async response => {\n this.setState({ showNotification: response.fields.showStatementNotification });\n });\n\t}\n\n\trender() {\n\t\tlet { children, location } = this.props;\n\t\tconst { langs } = this.props.layoutData['site'].siteMetadata.languages;\n // @ts-ignore\n\t\tconst currLangKey = this.props.pageContext.languageCode === 'ar-QA' ? 'ar' : 'en';\n\t\tconst activeGlobalsData = this.props.layoutData['siteGlobals'].edges[currLangKey === 'en' ? 0 : 1].node;\n\n\t\t//@ts-ignore:\n\t\tconst pageTitle = this.props.pageContext.title;\n\n\t\t//Used in URLHelper.ts\n\t\tGlobals.CURRENT_LANGUAGE_PREFIX = currLangKey === 'en' ? '' : 'ar/';\n\n\t\tlet langsMenu = langs.map(function(language) {\n\t\t\treturn {\n\t\t\t\tlangKey: language.languageCode,\n\t\t\t\tselected: currLangKey === language.langKey,\n\t\t\t\tlink: '/' + language.langPath\n\t\t\t};\n\t\t});\n\n\t\tconst i18nMessages = require(`../data/messages/${currLangKey}`);\n\t\tconst menuData = this.props.layoutData['allContentfulMenu'].edges.map(node => node.node);\n const currLanguage = langsMenu[1].selected ? langsMenu[1] : langsMenu[0];\n\n\t\tconst childrenWithProps = React.Children.map(children, child => React.cloneElement(child, { location: location }));\n let path = this.props.location.pathname;\n\t\tconst isFrontPage = path === '/' || path === '/ar' || path === '/ar/';\n\t\treturn (\n \n \n \n \n \n \n \n
    \n {\n (!isFrontPage) && \n }\n {childrenWithProps}\n
    \n {\n // @ts-ignore\n this.props.pageContext.currSlug && this.props.pageContext.currSlug.indexOf('/idkt') != -1 ? (\n \n ) :\n (\n \n )\n }\n
    \n
    \n \n\t\t);\n\t}\n}\n\nexport default props => (\n\t } {...props} />}\n\t/>\n);\n","import { gsap } from 'gsap/dist/gsap.min';\nimport { CustomEase } from '../lib/gsap-bonus/CustomEase.min';\ngsap.registerPlugin(CustomEase)\n\nexport const EASE_CUSTOM_IN_OUT = CustomEase.create('custom', 'M0,0 C0.6,0 0.1,1 1,1');\nexport const EASE_CUSTOM_IN = CustomEase.create('custom', 'M0,0,C0,0.6,0.1,1,1,1');\nexport const EASE_CUSTOM_OUT = CustomEase.create('custom', 'M0,0,C0.6,0,1,0.1,1,1');\nexport const BASE_URL = 'https://qf.org.qa';\n\nexport const BLOB_ENDPOINT = 'BlobEndpoint=https://qfwebsitecdn.blob.core.windows.net/;QueueEndpoint=https://qfwebsitecdn.queue.core.windows.net/;FileEndpoint=https://qfwebsitecdn.file.core.windows.net/;TableEndpoint=https://qfwebsitecdn.table.core.windows.net/;SharedAccessSignature=sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2025-01-01T14:48:37Z&st=2019-05-28T06:48:37Z&spr=https,http&sig=28INH7YjuchdbvfsAnRg6nnjP11fjPRtFURm4eSqDu8%3D';\nexport const PPF_FILE_CONTAINER = 'ppf-art-contest';\nexport const PUE_25_SCHOLERSHIPS_FILE_CONTAINER = 'pue-25-scholarships';\nexport const EIU_ENDPOINT = 'https://prod-07.westeurope.logic.azure.com:443/workflows/cc6738d4be434706b876b180f0e77ab3/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=N8Xm3N7IH2B9kyWoHDmvFAdCPdn6EOLvDIfmOohR8Z8';\n","export class Globals {\n\tpublic static BASE_URL: string = 'https://www.qf.org.qa';\n\tpublic static CURRENT_LANGUAGE_PREFIX: string = 'en';\n\tpublic static SITE_FIRST_LOAD: boolean = true;\n public static IS_TOUCH_DEVICE = () => {\n\t\t// @ts-ignore\n\t\treturn (('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0));\n\t}\n}\n","import { Globals } from './Globals';\n\nconst URLTypeMapping = {\n\tevent: ['events', 'events'],\n\tarticle: ['stories', 'stories'],\n tapStory: ['stories/tap', 'stories/tap'],\n\tentity: ['', ''],\n\tpress: ['media-center', 'media-center'],\n\tsearch: ['search', 'search'],\n\tprogram: ['program', 'program'],\n\tpersona: ['about/profile', 'about/profile'],\n\tmediaGallery: ['media-center/media-galleries', 'media-center/media-galleries'],\n\tterms: ['terms-of-use', 'terms-of-use'],\n\thotline: ['balagh-qf-whistle-blower-hotline', 'balagh-qf-whistle-blower-hotline'],\n\talert: ['statements.qf.org.qa', ''],\n\tec: ['education/education-city', 'education/education-city'],\n\tec_website: ['https://educationcity.qa/en/home', 'https://educationcity.qa/ar/home '],\n\teducation: ['education', 'education'],\n\tresearch: ['research', 'research'],\n\tcommunity: ['community', 'community'],\n\tabout: ['about', 'about'],\n\tecss: ['education-city-speaker-series', 'education-city-speaker-series'],\n\texperts: ['media-center/experts', 'media-center/experts'],\n\tecss_experts: ['education-city-speaker-series/experts', 'education-city-speaker-series/experts'],\n\t// IDKT Paths\n\tidkt: ['idkt', 'idkt'],\n\ttechnologies: ['idkt/technologies', 'idkt/technologies'],\n\tinfoBank: ['idkt/info-bank', 'idkt/info-bank'],\n\tidktAbout: ['idkt/about', 'idkt/about'],\n\ttechnologyTransfer: ['idkt/road-to-technology-transfer', 'idkt/road-to-technology-transfer'],\n\tforIndustry: ['idkt/for-industry', 'idkt/for-industry'],\n\tforResearchers: ['idkt/for-researchers', 'idkt/for-researchers'],\n\tforEntrepreneurs: ['idkt/for-entrepreneurs', 'idkt/for-entrepreneurs'],\n statement: ['statements', 'statements'],\n};\n\nexport function getPagePath(slug: string, type: 'event' | 'article' | 'search' | 'press' | 'program' | 'entity' | 'persona' | 'ec' | 'education' | 'research' | 'community' | 'terms' | 'hotline' | 'about' | 'idkt' | 'technologies' | 'infoBank' | 'idktAbout' | 'technologyTransfer' | 'forIndustry' | 'forResearchers' | 'forEntrepreneurs' | 'mediaGallery' | 'ecss' | 'tapStory' | 'ec_website' | 'statement', vertical?: string) {\n\treturn `/${Globals.CURRENT_LANGUAGE_PREFIX}${URLTypeMapping[type][Globals.CURRENT_LANGUAGE_PREFIX === '' ? 0 : 1]}${vertical ? vertical + '/' : slug ? '/' : ''}${slug}`;\n}\n\nexport function getECSSPagePath() {\n\treturn `https://www.qf.org.qa/${Globals.CURRENT_LANGUAGE_PREFIX}/education-city-speaker-series#section-1`;\n}\n\nexport function getAbsolutePagePath(type: string) {\n\treturn `${URLTypeMapping[type][Globals.CURRENT_LANGUAGE_PREFIX === '' ? 0 : 1]}`;\n}\n\nexport function validURL(url: string) {\n\tvar regex = /(http|https):\\/\\/(\\w+:{0,1}\\w*)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%!\\-\\/]))?/;\n\tif (!regex.test(url)) {\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n}\n\nexport function makeAbsolute(url: string) {\n\tif (url?.indexOf('/') === 0) {\n\t\treturn url;\n\t} else {\n\t\tif (url?.indexOf('#') !== 0) {\n\t\t\treturn '/' + url;\n\t\t} else {\n\t\t\treturn url;\n\t\t}\n\t}\n}\n\nexport function sanitizeUrl(url: string) {\n\treturn url.replace(/\\/+/g, '/').replace(/\\/+$/, '');\n}\n\nexport function getRelativeURL(url: string) {\n var the_arr = url?.replace('://','').split('/');\n the_arr?.shift();\n return( '/'+the_arr?.join('/') );\n}\n\nexport function isExternal(url) {\n var match = url.match(/^([^:\\/?#]+:)?(?:\\/\\/([^\\/?#]*))?([^?#]+)?(\\?[^#]*)?(#.*)?/);\n if (typeof match[1] === \"string\" && match[1].length > 0 && match[1].toLowerCase() !== location.protocol) return true;\n if (typeof match[2] === \"string\" && match[2].length > 0 && match[2].replace(new RegExp(\":(\"+{\"http:\":80,\"https:\":443}[location.protocol]+\")?$\"), \"\") !== location.host) return true;\n return false;\n}","module.exports = {\n\toverview: 'نبذة',\n\tidkt: 'مكتب التطوير الصناعي ونقل المعرفة',\n\tidkt_long: 'مكتب التطوير الصناعي ونقل المعرفة',\n\tnavigation: \"تصفح موقعنا\",\n\ttechnologies: \"التقنيات\",\n\tabout: \"نبذة عن عملنا\",\n\tinfobank: \"بنك المعلومات\",\n\troad_to_technology_transfer: \"مسيرة نقل التكنولوجيا\",\t\n\tfor_industry: \"لأرباب الصناعة\",\n\twhat_we_offer: \"ماذا نقدم\",\n\thow_licensing_works: \"كيف تحصل على ترخيص\",\n\tresources_for_industry: \"مصادر لأصحاب الصناعة\",\n\tfor_researchers: \"للباحثين\",\n\thow_commercialization_works: \"كيف نسوق ابتكارك تجاريًا\",\n\tresources_for_researchers: \"مصادر للباحثين\",\n\tfor_entrepreneurs: \"لرواد الأعمال\",\n\thow_to_launch_a_startup: \"كيف تطلق شركة ناشئة\",\n\tresources_for_entrepreneurs: \"مصادر لرواد الأعمال\",\n\n\t// ecosystem\n\tqstp_popup_content: 'تشكل واحة قطر للعلوم والتكنولوجيا مركزًا متخصصًا في الابتكارات، وتدعم عمليات التسويق التجاري للابتكارات عبر توفير مرافق وخدمات تتمتع بمزايا المناطق الحرة لتيسير إجراءات تسجيل الشركات والاستفادة من حاضنات الأعمال والحصول على التمويل الموجه تحديدًا لشركات التكنولوجيا. ويعمل مكتبنا عن كثب مع واحة قطر للعلوم والتكنولوجيا في مشروعات ريادية متنوعة',\n\t\"tamu-q_popup_content\": 'تمتلك جامعة تكساس إي أند أم في قطر مراكز بحثية في مجال الهندسة تركز على الغاز والوقود وسلامة العمليات والشبكات الذكية والحوسبة المتطورة والحلول المستدامة للاستفادة من المياه والطاقة.',\n\t\"vcu-q_popup_content\": 'تسعى جامعة فرجينيا كومنولث كلية فنون التصميم في قطر للإسهام في حركة التنمية البشرية والاجتماعية والاقتصادية والبيئية في قطر والمنطقة من خلال تبني الإبداع في الابتكارات وأشكال التعبير وأوجه التعاون المختلفة.',\n\t\"wcm-q_popup_content\": 'تعمل وايل كورنيل للطب – قطر على تطوير قدرات مخبرية أساسية في عدد من المجالات، منها الجينوميات والبروتيوميات، والبيولوجيا الحاسوبية والإحصاءات الحيوية، والمربى الأحيائي \"فيفاريوم\"، والفحص المجهري، والدعم المخبري الأساسي.',\n\tqgp_popup_content: 'يركز برنامج قطر جينوم على تعزيز بحوث الجينوم من خلال إنشاء قواعد بيانات ضخمة تضم تسلسلًا كاملًا للجينوم وغيره من البيانات المتعلقة بعلوم \"الأوميكس\"، إلى جانب بيانات شاملة للنمط الظاهري.',\n\tqbb_popup_content: 'يُعد قطر بيوبنك مستودعًا للعينات البيولوجية والمعلومات المتعلقة بصحة المواطنين والمقيمين في دولة قطر لفترة طويلة وأساليب حياتهم. تُتيح هذه المبادرة للعلماء المحليّين إمكانية إجراء بحوث طبية حيوية حول المشكلات الصحية السائدة في دولة قطر وربط هؤلاء الباحثين بنظرائهم داخل قطر وخارجها.',\n\tqbri_popup_content: 'يهدف معهد قطر لبحوث الطب الحيوي إلى تحسين الرعاية الصحية وتطويرها من خلال الابتكار في الوقاية والتشخيص والعلاج من الأمراض التي تؤثر على سكان قطر والمنطقة',\n\thbku_popup_content: 'جامعة حمد بن خليفة جامعة رائدة عمليًّا وتعليميًّا وبحثيًّا، ركيزتها الابتكار؛ من أجل تقديم حلول للتحديات التي تواجه دولة قطر والعالم بأسره',\n\tqcri_popup_content: 'يجري معهد قطر لبحوث الحوسبة بحوثًا في مجال الحوسبة المتعددة التخصصات وذات المعايير العالمية التي تتعلق باحتياجات قطر والمنطقة العربية والعالم بأسره. ويضطلع المعهد ببحوث أساسية في تلك المجالات مثل تقنيات اللغة العربية والحوسبة الاجتماعية وتحليلات البيانات والأمن السيبراني',\n\tqeeri_popup_content: 'يطور معهد قطر لبحوث البيئة والطاقة تقنيات مبتكرة في مجالات تحلية المياه ومعالجتها، وتحسين جودة المياه وإعادة استخدامها، وتغذية خزان المياه الجوفية، والتغير المناخي وعلوم الغلاف الجوي. كما يطور حلولًا في مجال الخلايا الشمسية الكهروضوئية وتخزين الطاقة والشبكات الذكية',\n\n\t// for-industry\n\tfind_popup_content: 'ابحث في قاعدة بياناتنا الخاصة بالتكنولوجيات عن الحلول المبتكرة أو تواصل معنا لمناقشة التحديات الفنية التي تواجهها.',\n\tevaluate_popup_content: \"نتيح إمكانية توقيع اتفاقيات عدم إفصاح لحماية المعلومات المشمولة بحقوق الملكية وتشجيع الحوار المفتوح واستكشاف الفرص. وتسمح هذه الاتفاقيات لكلا الطرفين تقييم جدوى الشراكة المقترحة، كما تسمح لك باستخدام التكنولوجيا المقدمة من مؤسسة قطر لفترة محدودة قبل تنفيذ اتفاق لاستخراج ترخيص تجاري لها.\",\n\tnegotiate_popup_content: \"سنتعاون معًا في صياغة شروط تعود بالنفع على الطرفين، والاتفاق على أهداف مرحلية قابلة للتحقيق، وذلك بناءً على استخدامك المقترح للتكنولوجيا.\",\n\tplan_popup_content: 'نتطلع إلى التعرف على نموذج عملك وخططك لاستخدام التكنولوجيا. وفي أثناء العمل على إعداد خطتك، ضع معايير الترخيص لدينا في اعتبارك. وسوف نتعاون معك لنضمن الحصول على حماية لحقوق الملكية الفكرية في مناطق قطاعات الأسواق عند توفرها.',\n\tsign_popup_content: \"نمنح تراخيص حصرية وشبه حصرية وغير حصرية بناءً على خطة عملك. يمكننا أيضًا مساعدتك في بناء علاقات تعاونية بناءً على الملكية الفكرية الموجودة مسبقًا وقدرات الباحثين.\",\n\tdevelop_popup_content: \"نساعدك بالخبرات الفنية المتاحة لدينا وغيرها من وسائل نقل المعرفة خلال عملك على الحد من المخاطر وإثبات موثوقية المنتج/الخدمة وتلبية متطلبات السوق، وذلك من خلال أنشطة توسيع نطاق التطبيق والاختبار والتوثيق والتسويق.\",\n\tpromote_popup_content: \"•\tتعزيز النجاح: نتعاون معك في إعداد مواد دعائية مناسبة تبرز قصة نجاحك في نقل التكنولوجيا لتعزيز الجوانب المتعلقة بالعلاقات العامة.\",\n\n\t// for-entrepreneurs\n\tstudy_popup_content: 'نقدم الاستشارات المتعلقة بحقوق الملكية الفكرية والمساعدة الفنية لرواد الأعمال المحليين غير المنتسبين لمؤسسة قطر من خلال برنامجنا الخبير حيث نساعدهم في تحديد مدى جدوى أفكارهم الابتكارية. وإن كنت باحثًا في مؤسسة قطر، فيمكنك أيضًا الالتحاق ببرنامج زمالة الابتكار السابق للتسويق التجاري الذي يهدف إلى مساعدتك في الحد من المخاطر التي قد تحيط بفرصة ريادية محتملة.',\n\tprojections_popup_content: \"توفر واحة قطر للعلوم والتكنولوجيا مجموعة واسعة من الدورات التدريبية وبرامج الدعم لمساعدة رواد الأعمال الجدد في عمليات التخطيط لإطلاق شركات ناشئة ناجحة.\",\n\tlicensing_popup_content: 'نقدم اتفاقيات ترخيص حصرية وغير حصرية لاستخدام ابتكاراتنا وفقًا لاحتياجات مشروعك أو شركتك. وتُصمم هذه الاتفاقيات خصيصًا لتناسب طبيعة المنتج أو الخدمة المحددة التي تقدمها شركتك، ويجري التفاوض بشأنها وفقًا لمعايير السوق. كما تتيح الإجازة الريادية للشركة الاستفادة من الباحثين في أنشطة استراتيجية محددة، باعتبار كل حالة على حدة.',\n\testablish_popup_content: \"تعمل واحة قطر للعلوم والتكنولوجيا وفق نظام المنطقة الحرة، وهي مهيأة لتقديم الخدمات اللازمة لتسجيل شركتك.\",\n\tincubation_popup_content: 'شجعك على التقديم لبرنامج تسريع تطوير المشاريع التكنولوجية \"أكسيليريت\" التابع لواحة قطر للعلوم والتكنولوجيا وغيره من برامج الحاضنات والتوجيه والتسويق.',\n\tmvp_popup_content: 'في أثناء عملك على تطوير منتجك ليصل إلى حدٍ يسمح بطرحه في السوق، ستتاح لك فرصٌ للاستفادة من المعاهد البحثية بمؤسسة قطر للحصول على خدمات استشارية واستخدام المرافق البحثية وكذلك الاستعانة بمنتجات الملكية الفكرية الأخرى التي طورتها مؤسسة قطر. تواصل معنا لمعرفة المزيد.',\n\tfund_popup_content: \"تدبير التمويل: لاستكمال تمويل مشروعك، توفر لك واحة قطر للعلوم والتكنولوجيا فرصًا تمويلية من خلال صندوق تمويل تطوير المنتجات وصندوق تمويل المشاريع التقنية، ما يسهم في زيادة التمويل الذي قد تحصل عليه من المستثمرين المساندين ومقدمي التمويل الأولي والمستثمرين الرأسماليين.\",\n\n\t// for-researchers\n\tresearch_popup_content: \"فكّر وأنت تجري دراساتك وبحوثك كيف يمكن لنتائج عملك أن تلبي حاجة محددة يطلبها السوق؛ فمعرفتك بحدود إمكانات الحلول المتاحة حاليًّا في السوق يساعدك في تحسين منتجك على نحو يجعله متميزًا عن غيره ويزيد من فرص نجاح تسويقه تجاريًّا.\",\n\treport_popup_content: 'مع بداية ظهور نتائج عملك من ابتكارات حديثة أو محسنة لعمليات أو أدوات أو تقنيات أو مواد أو برمجيات وما إلى ذلك، لا تنس تسجيلها في النظام الإلكتروني للإفصاح عن الاختراعات، حتى يتسنى لنا حماية أفكارك والشروع في مساعي تعظيم قيمتها وأثرها المرجو. استوف جميع البيانات المطلوبة قدر الإمكان، ولا تتردد في الاتصال بنا للاستفسار عما تريد.',\n\tassess_popup_content: \"نحلل السوق والتقنيات المنافسة للوقوف على إمكانات التسويق التجاري لاختراعك وما إذا كان ينبغي تقديم طلب براءة اختراع له.\",\n\tdevelopment_popup_content: \"بينما نعمل على تحديد أفضل وسيلة ممكنة تضمن وضع ابتكارك التكنولوجي على مسار تسويق تجاري ناجح، تساندنا بأداء دور مهم يتمثل في إطلاعنا على أفكارك وشبكة علاقاتك التي تضم جهات يُحتمل الترخيص لها.\",\n\tstartup_popup_content: \"نساعد مؤسسي الشركات الناشئة في التخطيط والتأسيس والحصول على تمويل لمشروعاتهم القائمة على تقنيات مؤسسة قطر.\",\n\tmarketing_popup_content: \"نتواصل مع الشركات المعنية لمعرفة مدى اهتمامهم بالحصول على تراخيص تجارية للابتكارات؛ ولذا فإن مشاركتك في التواصل مع الشركات المحتمل الترخيص لها والرد على استفساراتهم يمكن أن يعزز من جهودنا التسويقية على نحو مذهل.\",\n\tlicense_popup_content: \"نتفاوض مع الطرف المرخص له لتحديد نطاق حقوقه في استخدام التكنولوجيا التي ابتكرتها (دون التنازل عن ملكية مؤسسة قطر) إلى جانب التزاماته المالية وغيرها من الالتزامات تجاه مؤسسة قطر.\",\n\tcommercialization_popup_content: \"في الوقت الذي يعمل فيه المرخص له على تجهيز التكنولوجيا لطرحها في السوق، قد يُطلَب منك تقديم مساعدة فنية وفقًا لبنود الاتفاق التي جرى التفاوض عليها.\",\n\trevenue_popup_content: \"ستحصل على حصة من عائدات الترخيص التي ستتلقاها مؤسسة قطر، وتتشارك هذه العائدات أيضًا كيانات أخرى تسهم في الابتكار إلى جانب معاهد مؤسسة قطر ومراكزها.\",\n\t\n\tother_popup_content: \"تحتضن مؤسسة قطر إلى جانب ذلك نخبة من الجامعات العالمية الرائدة. تفضل بزيارة\",\n\tgoto_website: \"تفضل بزيارة الموقع الإلكتروني\",\n\tgoto_higher_education: \"مواقع الجامعات وبرامج التعليم العالي\",\n\tsubscribe_newsletter_heading: 'اشترك في نشرتنا الإخبارية ربع السنوية',\n\tsubscribe_newsletter_text: 'مع كل عدد جديد ستعرف المزيد عن الابتكارات الجديدة في مؤسسة قطر، والباحثين المبدعين القائمين عليها، والموارد المتاحة لجميع رواد الأعمال؛ من ذوي الخبرة والمستجدين على حد سواء.',\n\tsubscribe: 'اشترك'\n}","module.exports = {\n\toverview: 'Overview',\n\tidkt: 'IDKT',\n\tidkt_long: 'Industry Development and\\nKnowledge Transfer',\n\tnavigation: \"Navigation\",\n\ttechnologies: \"Technologies\",\n\tabout: \"About\",\n\tinfobank: \"Info Bank\",\n\troad_to_technology_transfer: \"Road to Technology Transfer\",\n\tfor_industry: \"For Industry\",\n\twhat_we_offer: \"What we offer\",\n\thow_licensing_works: \"How licensing works\",\n\tresources_for_industry: \"Resources for Industry\",\n\tfor_researchers: \"For Researchers\",\n\thow_commercialization_works: \"How Commercialization Works\",\n\tresources_for_researchers: \"Resources for Researchers\",\n\tfor_entrepreneurs: \"For Entrepreneurs\",\n\thow_to_launch_a_startup: \"How to Launch a Startup\",\n\tresources_for_entrepreneurs: \"Resources for Entrepreneurs\",\n\n\t// ecosystem\n\tqstp_popup_content: 'Qatar Science & Technology Park (QSTP) supports commercialization through this innovation hub by offering free-zone facilities and services for corporate registration, incubation, and funding specifically designed for tech-based companies. IDKT works closely with QSTP on various entrepreneurship efforts.',\n\t\"tamu-q_popup_content\": 'Texas A&M University at Qatar has engineering research centers focused on gas and fuels, process safety, smart grids, advanced computing, and sustainable water and energy utilization.',\n\t\"vcu-q_popup_content\": 'VCUarts Qatar strives to contribute to the vitality of human, social, economic, and environmental development in Qatar and the region through creative innovation, expression, and collaboration.',\n\t\"wcm-q_popup_content\": 'Weill Cornell Medicine–Qatar (WCM-Q) is developing core laboratory capabilities, including genomics and proteomics cores, computational biology and biostatistics cores, a vivarium, a microscopy core, and a basic laboratory support core.',\n\tqgp_popup_content: 'Qatar Genome Programme (QGP) is focused on promoting genomic research by generating large databases combining whole genome sequencing and other omics data with comprehensive phenotypic data.',\n\tqbb_popup_content: 'Qatar Biobank (QBB) is a repository of biological samples and information on health and lifestyle of Qatari citizens and long-term residents, enabling scientists to conduct vital medical research on prevalent health issues and connecting them with their peers in Qatar and abroad.',\n\tqbri_popup_content: 'Qatar Biomedical Research Institute (QBRI) aims to improve and transform healthcare through innovation in prevention, diagnosis, and treatment of diseases affecting the Qatari population and the region.',\n\thbku_popup_content: 'Hamad Bin Khalifa University (HBKU) is an innovation-based entrepreneurial university leading in education and research, solving critical challenges facing Qatar and the world.',\n\tqcri_popup_content: 'Qatar Computing Research Institute (QCRI) conducts world-class multidisciplinary cutting-edge research that is relevant to the needs of Qatar, the wider Arab region, and the world in the areas of social computing, data analytics, and cybersecurity.',\n\tqeeri_popup_content: 'Qatar Environment and Energy Research Institute (QEERI) is developing innovative technologies in water desalination and treatment; water quality and reuse; aquifer recharge; and climate change and atmospheric science. It is also developing solutions in solar photovoltaics (PV), energy storage, and smart grids.',\n\n\t// for-industry\n\tfind_popup_content: \"Search our technology database for solutions or contact us to discuss your technical challenges.\",\n\tevaluate_popup_content: \"We offer non-disclosure agreements to protect proprietary information and encourage open dialogue and exploration. This allows both parties to assess the viability of the proposed partnership. Evaluation agreements allow you access to the QF technology for a limited time before executing a commercial license.\",\n\tnegotiate_popup_content: \"Together we will develop mutually beneficial terms and achievable milestones based on your proposed use of the technology.\",\n\tplan_popup_content: \"We look forward to learning of your business model and plans for the technology. As you develop your plan, keep our licensing criteria in mind. And we will work together with you to ensure IP protection is sought in the market sector regions when available.\",\n\tsign_popup_content: \"We offer exclusive, partially exclusive, and non-exclusive licensing based on your business plan. We can also help you develop collaboration opportunities based on pre-existing IP and researcher capabilities.\",\n\tdevelop_popup_content: \"We provide available technical insights and other knowledge transfer as you reduce risk, prove reliability, and satisfy the market requirements through scale-up, testing, documentation, and marketing.\",\n\tpromote_popup_content: \"We collaborate with you to develop appropriate public relations materials that showcase the technology transfer success.\",\n\n\t// for-entrepreneurs\n\tstudy_popup_content: \"To help non-QF entrepreneurs within Qatar determine the viability of an innovative idea, we offer IP and technical consultation through our Al Khabeer Program. If you are a QF researcher, we also offer a pre-commercialization Innovation Fellowship in order to help de-risk a potential entrepreneurial opportunity, subject to approval.\",\n\tprojections_popup_content: \"QSTP offers a wide range of training and support programs to help new entrepreneurs plan a successful startup.\",\n\tlicensing_popup_content: \"We offer exclusive and non-exclusive licenses to our innovations based your business needs. Tailored to your company’s specific product/service type, these agreements are negotiated according to market norms. Entrepreneurial Leave allows the company to utilize researchers for certain strategic activities on a case-by-case basis.\",\n\testablish_popup_content: \"QSTP is in a free zone and is set up to provide services to register your company.\",\n\tincubation_popup_content: \"We encourage you to apply to QSTP’s XLR8 and other programs for incubation, mentorship, and marketing opportunities.\",\n\tmvp_popup_content: \"As you work on developing your product just enough to enter the market, there will be opportunities to access QF research institutes for consulting services, facilities use, and additional QF-developed IP. Contact us to learn more.\",\n\tfund_popup_content: \"To supplement your own funding, QSTP offers funding through its Product Development Fund and its Tech Venture Fund that can augment what you may obtain from angel and seed investors and venture capitalists.\",\n\n\t// for-researchers\n\tresearch_popup_content: \"As you conduct your investigations, consider how the results of your work can address a need in the market. Knowing the limitations of current solutions helps ensure your work is better than what already exists, increasing the chances of successful commercialization.\",\n\treport_popup_content: \"As your work yields new or improved processes, tools, techniques, materials, software, and so on, submit an online invention disclosure so we can protect your idea and begin the process of maximizing its impact. Complete all of the fields as best you can, and feel free to contact us if you have questions.\",\n\tassess_popup_content: \"We analyze the market and competing technologies to determine your invention’s commercialization potential and whether a patent should be pursued.\",\n\tdevelopment_popup_content: \"As we determine the best way to position your technology for successful commercialization, you play a valuable role by sharing your ideas and network of contacts for potential licensees.\",\n\tstartup_popup_content: \"We assist startup founders in planning, creating, and finding funding for ventures based on QF technologies.\",\n\tmarketing_popup_content: \"We reach out to relevant companies to determine their licensing interest. Your involvement in responding to potential licensees can dramatically enhance our marketing efforts.\",\n\tlicense_popup_content: \"We negotiate with the licensee to specify their rights to use your technology (without relinquishing QF’s ownership) as well as their financial and other obligations to QF.\",\n\tcommercialization_popup_content: \"As the licensee prepares the technology for market use, you might be asked to provide technical insight, according to the negotiated terms of the agreement.\",\n\trevenue_popup_content: \"You receive a portion of the license revenues received by QF, which are also shared with other contributing entities and QF institutes and centers.\",\n\t\n\tother_popup_content: \"QF’s ecosystem also includes other leading universities from around the world.\",\n\tgoto_website: \"Go to website\",\n\tgoto_higher_education: \"Go to universities and higher education programs\",\n\tsubscribe_newsletter_heading: 'Subscribe to our quarterly newsletter',\n\tsubscribe_newsletter_text: 'With each issue, you can expect to learn more about new innovations coming out of QF, the prolific researchers behind them, and the resources available to both first time and veteran entreprenuers.',\n\tsubscribe: 'Subscribe'\n}","module.exports = {\n\t...require(\"./IDKT/ar.js\"),\n\tselectLanguage: 'اختر لغتك',\n\t'email:': 'البريد الإلكتروني:',\n\temail: 'البريد الإلكتروني',\n\t'tel:': 'رقم الهاتف:',\n\tSections: 'الأقسام',\n\tNavigation: 'مؤسسة قطر',\n\tEducation: 'التعليم',\n\tResearch: 'البحوث',\n\tCommunity: 'المجتمع',\n\tAll: 'الكل',\n\tHome: 'الصفحة الرئيسية',\n\tevent: 'الفعاليات',\n\tArticle: 'قصة',\n\t'Related Articles': 'مواد ذات الصلة',\n\tplace: 'الأماكن',\n\tentity: 'الكيانات',\n entities: 'الكيانات',\n places: 'الأماكن',\n\tprogram: 'البرامج',\n\tpeople: 'الأعضاء',\n\tpage: 'الصفحات',\n\tarticle: 'قصة ذات صلة',\n\tStory: 'قصة ذات صلة',\n\tuniversity: 'الجامعات',\n\tschool: 'المدارس',\n\tpress_release: 'بيانات صحفية',\n\tsingular_place: 'مكان',\n\tsingular_entity: 'جهة',\n\tsingular_program: 'برنامج',\n\tsingular_people: 'عضو',\n\tsingular_university: 'جامعة',\n\tsingular_school: 'مدرسة',\n\tsingular_page: 'صفحة',\n\tsingular_article: 'قصة',\n\tsingular_event: 'فعالية؛',\n\tsingular_press_release: 'بيانات صحفية',\n\tplural_place: 'الأماكن',\n\tplural_event: 'الفعاليات',\n\tplural_entity: 'الكيانات',\n\tplural_program: 'البرامج',\n\tplural_people: 'الأشخاص',\n\tplural_campaign: 'الحملات',\n\tplural_university: 'الجامعات',\n\tplural_school: 'المدارس',\n\tplural_page: 'الصفحات',\n\tplural_article: 'القصص',\n\tplural_press_release: 'البيانات الصحفية',\n\tplural_press_media_mention: 'ما كُتب عن المؤسسة',\n\tsearch_filter_school: 'مدارس',\n\tsearch_filter_university: 'جامعات',\n\tsearch_filter_program: 'برامج',\n\tsearch_filter_place: 'أماكن',\n\tsearch_filter_entity: 'كيانات',\n\tsearch_filter_article: 'قصص',\n\tsearch_filter_event: 'فعاليات',\n\tsearch_filter_people: 'أعضاء',\n\tsearch_filter_page: 'صفحات',\n\tsearch_filter_press_release: 'بيانات صحفية',\n\tsearch_filter_press_media_mention: 'ما كُتب عن المؤسسة',\n\tsearch_filter_list_entity: 'كيان',\n\tsearch_filter_list_place: 'مكان',\n\tsearch_filter_list_type: 'نوع',\n\tsearch_filter_list_part_of_qatar: 'عضو في مؤسسة قطر',\n\tsearch_filter_list_department: 'قسم',\n\tsearch_filter_list_category: 'فئة',\n\tsearch_filter_list_tags: 'وسم',\n\tsearch_filter_list_month: 'شهر',\n\tsearch_filter_list_year: 'سنة',\n\tsearch_filter_list_campaign: 'حملة',\n\tsearch_filter_list_program: 'برنامج',\n\tprograms_filter_list_schools: 'تصنيف حسب المدرسة',\n\tprograms_filter_list_degrees: 'تصنيف حسب الدرجة الأكاديمية',\n\tsearch_category_article: 'قصص',\n\tsearch_category_event: 'فعاليات',\n\t'Program & School': 'برنامج ومدرسة',\n\tDegree: 'الدرجة الأكاديمية',\n\tFilters: 'تصنيفات',\n\tSearch: 'بحث',\n\tMap: 'خريطة',\n\t'See on map': 'انظر الخريطة',\n\tBack: 'العودة',\n\tList: 'قائمة',\n\tFax: 'رقم الفاكس',\n\tPhone: 'رقم الهاتف',\n\t'E-mail': 'البريد الإلكتروني',\n\tAddress: 'العنوان',\n\t'Offered at': 'متاح في',\n\t'Go to website': 'اذهب إلى الموقع الإلكتروني',\n\topening_hours: 'أوقات العمل',\n\tShare: 'مشاركة',\n\t'Click here to register': 'اضغط هنا للتسجيل',\n\t'Click here to join the seminar': 'اضغط هنا لمشاهدة المحاضرة',\n\t'Related Event(s)': 'فعاليات ذات صلة',\n\t'Featured Event(s)': 'أبرز الفعاليات',\n\t'No results': 'لا توجد نتائج.',\n\t'search.result.plural': 'تم العثور على {value} نتيجة/نتائج',\n\t'search.result.singular': 'وجدت نتيجة واحدة',\n\t'search.result.spellingsuggestion': 'هل قصدت {link}؟',\n\tmessageNoSearchStarted: 'لاتوجد نتائج، جرّب استعلام بحث أو اختر معيار آخر للبحث.',\n\tDate: 'التاريخ',\n\tTime: 'الوقت',\n\tWhere: 'المكان/أين',\n\t'Retry this query with advanced search': 'ابحث مرة أخرى مع إعدادات البحث المتقدم؟',\n\t'See all results': 'إظهار جميع النتائج',\n\t'Organized by': 'الجهة المنظمة',\n\tpath_entity_base: '/entity/', // Check this\n\t'Browse by Category': 'تصفح بحسب النوع',\n\t'Browse all Events': 'تصفح جميع الفعاليات',\n\t'Browse all Media Mentions': 'تصفّح ما كُتب عن المؤسسة',\n\t'Interested in more events?': 'مهتم بمزيد من الفعاليات؟',\n\t'page.link': 'تعرف على المزيد',\n\t'location.get_directions': 'تعرف على كيفية الوصول',\n\tin: ' | ',\n\tType: 'نوع',\n\tSchools: 'مدارس',\n\tUniversities: 'جامعات',\n\tPrograms: 'برامج',\n\tEntities: 'كيانات',\n\tPlaces: 'أماكن',\n\t'image.pagination': 'صورة {index} من {total}',\n\t'scrolllist.pagination': '{index} من {total}',\n\t'Q.': 'سؤال:',\n\t'A.': 'جواب:',\n\t'Press Releases': 'البيانات الصحفية',\n\t'Other Media': 'مؤسسة قطر حول العالم',\n\t'general-inquiries-footer-text': 'للاستفسارات الإعلامية بإمكانكم\\n التواصل معنا عبر',\n\t'balagh-qf-hotline-footer-text': 'للإبلاغ عن حالات الاحتيال أو الحيلولة دون وقوعها،\\n يُرجى زيارة صفحة',\n\t'Anti-Fraud and Whistle-Blowing Hotline': '\"بلاغ\" - الخط الساخن لمكافحة الاحتيال والإبلاغ عن المخالفات.',\n\tSearchHelpText: 'البحث في موقع مؤسسة قطر',\n\tmmsctwtarialabel: 'صفحة مؤسسة قطر على تويتر',\n\tmmscfbarialabel: 'صفحة مؤسسة قطر على فيسبوك',\n\tmmsclinkedinarialabel: 'صفحة مؤسسة قطر على لينكد إن',\n\tmmscsnapchatarialabel: 'صفحة مؤسسة قطر على سنابتشات',\n\tmmscinstaarialabel: 'صفحة مؤسسة قطر على إنستغرام',\n\tmmsctwttitle: 'صفحة مؤسسة قطر على تويتر',\n\tmmscfbtitle: 'صفحة مؤسسة قطر على فيسبوك',\n\tmmsclinkedintitle: 'صفحة مؤسسة قطر على لينكد إن',\n\tmmscsnapchattitle: 'صفحة مؤسسة قطر على سنابتشات',\n\tmmscinstatitle: 'صفحة مؤسسة قطر على إنستغرام',\n\timggallerymodnavprevtitle: 'الصورة السابقة',\n\timggallerymodnavprevarialabel: 'الصورة السابقة',\n\timggallerymodnavnexttitle: 'الصورة التالية',\n\timggallerymodnavnextarialabel: 'الصورة التالية',\n\tsidescrollerstorylistmodnavprevtitle: 'الصورة السابقة',\n\tsidescrollerstorylistmodnavprevarialabel: 'الصورة السابقة',\n\tsidescrollerstorylistmodnavnexttitle: 'الصورة التالية',\n\tsidescrollerstorylistmodnavnextarialabel: 'الصورة التالية',\n\tscrolllistmodnavprevtitle: ' السابق',\n\tscrolllistmodnavprevarialabel: ' السابق',\n\tscrolllistmodnavnexttitle: ' التالي',\n\tscrolllistmodnavnextarialabel: ' التالي',\n\tGototopbuttontitle: 'زر التوجه لأعلى الصفحة',\n\tGototopbuttonarialabel: 'زر التوجه لأعلى الصفحة',\n menu: 'القائمة',\n\topenmenutitle: 'فتح القائمة',\n\topenmenuarialabel: 'فتح القائمة',\n\theaderlogotitle: 'الصفحة الرئيسية لمؤسسة قطر',\n\theaderlogoarialabel: 'الصفحة الرئيسية لمؤسسة قطر',\n\tQFlogomenubartitle: 'شعار مؤسسة قطر',\n\tQFlogomenubararialabel: 'شعار مؤسسة قطر',\n\tclosemenutitle: 'إغلاق القائمة',\n\tclosemenuarialabel: 'إغلاق القائمة',\n\tsearchicontitle: 'البحث في موقع مؤسسة قطر',\n\tsearchiconarialabel: 'البحث في موقع مؤسسة قطر',\n\tsearchinputtitle: 'أدخل كلمة البحث',\n\teducation_teaser: 'استكشف جامعاتنا ومدارسنا',\n\teducation_link: 'استكشف فرص التعليم في مؤسسة قطر',\n\tresearch_teaser: 'تعرّف على مبادراتنا البحثية',\n\tresearch_link: 'استكشف البحوث في مؤسسة قطر',\n\tcommunity_teaser: 'استكشف برامجنا في مجال تنمية المجتمع',\n\tcommunity_link: 'استكشف مجتمع مؤسسة قطر',\n\teducation_city_title: 'هذه المدينة التعليمية.',\n\teducation_city_content:\n\t\t'المدينة التعليمية، أبرز مبادرات مؤسسة قطر، مكان فريد من نوعه. فرحلة قصيرة واحدة حول أرجائها، ماشيًا كنت أو راكبًا في إحدى عربات الترام، تكفي لزيارة عدد لا بأس به من الجامعات العالمية المرموقة. وإذا عبرت الشارع، ستطالعك واحدة من أكبر المكتبات في المنطقة، وبعدها يمكنك أن تشارك في نقاش مفتوح في رحاب جامعة تقبع خلف المكتبة.',\n\teducation_city_link: 'تعرف على المزيد',\n\tlatest_news_title: 'آخر الأخبار',\n\tlatest_news_content: 'في مؤسسة قطر، هناك العديد من الفعاليات على مدار السنة. إليك آخر أخبارنا.',\n\tlatest_news_link: 'تصفح جميع الأخبار',\n\tlatest_stories_link: 'تصفح جميع القصص',\n\tMore: 'المزيد من القصص',\n\tstay_in_touch: 'لنكون دائمًا على اتصال',\n\tfollow_us_text: 'هل تودّ مشاهدة وقراءة المزيد عن مؤسستنا؟ إن قنوات التواصل الاجتماعي لدينا ستبقيك على اطلاع دائم بأحدث الأخبار.',\n\tsign_up_newsletter: 'هل أنت مهتم بباقة أخبارنا وفعالياتنا الشهرية؟ اشترك في نشرتنا الإخبارية.',\n\tsign_up_newsletter_exists: 'لقد اشتركت بالفعل في نشرتنا الإخبارية الشهرية',\n\tsign_up_newsletter_success: 'نشكرك على الاشتراك',\n\tsign_up_newsletter_invalid: 'البريد الإلكتروني غير صالح',\n\tsign_up_newsletter_error: 'حدث خطأ. إعداد إشعار الدفع',\n\temail_validation: \"الرجاء إدخال عنوان البريد الإلكتروني\",\n\tqr_campaign_title: 'قصص لا تقرأ أبدا \\n قصص منسية.',\n\tqr_campaign_text: 'ما لا ُيقرأ يذهب طي النسيان. \\n لا تدع إمكاناتك تتلاشى.\\n اقرأ، وارسم مستقبلًا طالما تمنيته.',\n\tqr_campaign_link: 'تعرف على المزيد عن حملة \"قطر تقرأ\"',\n\tqr_goto_qf_site_link: 'للمتابعة لموقع مؤسسة قطر',\n\t'Browse Events by Location': 'استعرض الأنشطة بحسب أماكن انعقادها',\n\tclosealertdialogueboxclosebtntitle: 'Close The Alert Dialogue Box',\n\tclosealertdialogueboxclosebtnarialabel: 'Close The Alert Dialogue Box',\n\tdarkmode: 'الوضع المعتم',\n\tlightmode: 'الوضع العادي',\n\tpush_success: 'تم تفعيل خاصية الإشعارات بنجاح',\n\tpush_enable_error: 'حدث خطأ أثناء إعداد إشعار الدفع ، يرجى المحاولة مرة أخرى!',\n\tpush_not_allowed: 'خاصية الإشعارات غير مسموح بها',\n\tpush_disabled: 'خاصية الإشعارات متوقفة',\n\tpush_disable_error: 'حدث خطأ أثناء تعطيل خاصية الإشعارات. يرجى المحاولة مرة أخرى',\n\tpush_generic_error: 'حدث خطأ أثناء إعداد إشعار الدفع',\n\tname: \"الاسم الكامل\",\n email: \"البريد الإلكتروني\",\n title: \"الاسم\",\n\tcompany: \"الجهة\",\n\tnationality: \"الجنسية\",\n country: \"بلد الإقامة\",\n\tname_validation: \"الرجاء إدخال الاسم\",\n email_validation: \"الرجاء إدخال عنوان البريد الإلكتروني\",\n title_validation: \"الرجاء إدخال المنصب الوظيفي الحالي\",\n company_validation: \"الرجاء إدخال اسم الشركة\",\n\tselect_validation: \"اختر\",\n\tsubscribe_to_newsletter: \"اشترك في نشرتنا الإخبارية\",\n\tdownload_report: \"تحميل التقرير\",\n\tform_submit_thankyou: \"نشكركم على استكمال النموذج\",\n\tdownload_report_text: \"اضغط هنا لتحميل التقرير\",\n\tmada_text: 'هذا الموقع قابل للنفاذ ومعتمد من قبل مدى',\n\tmada_logo: 'شعار مدى',\n\tsearch_filter_spokes_people: 'معلقون وخبراء',\n\tsearch_filter_ecss: 'سلسلة محاضرات المدينة التعليمية',\n\tsingular_spokes_people: 'معلقون وخبراء',\n\tplural_spokes_people: 'معلقون وخبراء',\n\tsingular_expert_profile: 'معلقون وخبراء',\n\tplural_expert_profile: 'معلقون وخبراء',\n\t\"How did you hear about the event?\": \"كيف سمعت عن الجلسة النقاشية؟\",\n\tsingular_ecss: 'سلسلة محاضرات المدينة التعليمية',\n\tplural_ecss: 'سلسلة محاضرات المدينة التعليمية',\n\tform_register_thankyou: \"شكرًا على التسجيل للجلسة.\",\n\twebinar_link: \"رابط الجلسة النقاشية\",\n\tadd_to_calendar: \"أضف إلى التقويم\",\n\tregister: \"تسجيل\",\n\tregistering: \"التسجيل...\",\n\t\"Register to attend\": \"سجل لحضور الجلسة\",\n\twebinar_note: \"قريبًا سنرسل لك بريدًا إلكترونيًا بالتفاصيل الكاملة لكيفية مشاهدة الجلسة النقاشية.\",\n\tecss_short: \"سلسلة محاضرات المدينة التعليمية\",\n\tecss_title: \"سلسلة محاضرات المدينة التعليمية\",\n\tecss: \"سلسلة محاضرات\\nالمدينة التعليمية\",\n\tecss_subtitle: \"تتحدث ليلى سعد، مؤلفة صاحبة كتاب أعلى مبيعًا، عن تجربتها الشخصية مع العنصرية، ومسؤوليتنا الاجتماعية لاتخاذ إجراءات تستهدف رصد الممارسات العنصرية ونبذها من مجتمعاتنا.\",\n\tjoin_webinar: \"انضم إلى الجلسة النقاشية.\",\n\tphone: \"الهاتف\",\n\ttitle_of_the_artwork: \"عنوان العمل الفني\",\n\tartists_statement: \"بيان الفنان (100 كلمة كحد أقصى)\",\n\tartists_statement_info: \"سيعرض هذا البيان مع العمل على الموقع الإلكتروني للمعرض الفني. وهو وصف مختصر حول تجربتك الفنية وتفسير لاختياراتك الفنية. لا يجب أن تكون التفسيرات حرفية أو قطعية، بل ينبغي أن تكون دعوة للمشاهد للتعمق في العمل، مع مراعاة سياق موضوع المعرض.\",\n\tartists_biography: \"السيرة الذاتية للفنان (100 كلمة كحد أقصى)\",\n\tartists_biography_info: \"وصف موجز عن مسيرتك الفنية والمهنية. سيُعرض هذا المحتوى بجوار عملك الفني على الموقع الإلكتروني للمعرض.\",\n\tartwork_dimensions: \"أبعاد العمل الفني\",\n\tartwork_dimensions_info: \"• العرض والارتفاع والعمق (إن وجد)\\n• في حالة الأعمال الفنية غير التقليدية، يرجى تقديم البعد التقريبي للحجم\\n• إذا كان العمل على شكل فيديو، يرجى ذكر مدته\",\n\tartwork_material: \"المواد المستخدمة في العمل الفني\",\n\tartwork_material_info: \"وصف واضح للمواد التي استخدمت لإنتاج العمل الفني\",\n\tartwork_image: \"عمل فني مصوّر\",\n\tartwork_image_info: \"إذا كانت مشاركتك على شكل عمل فني رقمي متحرك، أو فيديو، أو أداء تمثيلي، يرجى إرسال رابط التسجيل الكامل هنا.\\n\\nأنواع الملفات: zip. أو .jpg أو jpeg. أو png. أو .pdf\\nحجم الملف: 10 ميجابايت كحد أقصى (يقبل ملف واحد من كل مشارك)\",\n\tartwork_link: \"رابط العمل الفني\",\n\tartwork_link_info: \"إذا كانت مشاركتك على شكل عمل فني رقمي متحرك، أو فيديو، أو أداء تمثيلي، يرجى إرسال رابط التسجيل الكامل هنا.\",\n\tartwork_copyrights_info: \"يقدم كل مشارك عملًا فنيًا واحدًا. \\n\\nسيظل العمل الفني في ملكية الفنان. ولكن في حال تقديم العمل الفني، يمكن استخدام المشاركات الإلكترونية بواسطة مؤسسة قطر وشركائها، ويحق لها نشرها للعامة، بما في ذلك أي معلومات تعريفية أخرى تقدمها، كالصور وغيرها، في إطار المسابقة الفنية.\",\n\tartwork_terms_conditions: \"الأحكام والشروط\",\n\tartwork_terms_conditions_info: \"من خلال تقديم العمل الفني عبر الإنترنت، يتعهد الفنان بالتالي:\",\n\tartwork_terms_conditions_info_1: \"أصالة العمل الفني وإنجازه من قبل الفنان نفسه\",\n\tartwork_terms_conditions_info_2: \"أن الفنان هو المالك الوحيد والمطلق للعمل، وأن العمل لا يخضع بأي شكل من الأشكال للحقوق أو المطالبات أو الامتيازات أو الرهون أو الفوائد الأمنية أو غيرها من الرهونات تجاه أي شخص.\",\n\tartwork_terms_conditions_info_3: \"عدم انتهاك العمل لحقوق أي شخص أو كيان، بما في ذلك العلامات التجارية وحقوق النشر والخصوصية وحقوق الدعاية.\",\n\tartwork_terms_conditions_info_5: \"يحق لمؤسسة قطر ما يلي:\",\n\tartwork_terms_conditions_info_6: \"مراجعة كل مشاركة قبل عرضها على الموقع الإلكتروني\",\n\tartwork_terms_conditions_info_7: \"نشر ومشاركة وتوزيع الأعمال الفنية للمشاركين\",\n\tartwork_terms_conditions_info_8: \"إعادة إنتاج الأعمال الفنية عبر الإنترنت أو طباعتها، بما في ذلك، على سبيل المثال لا الحصر، عبر موقعها الإلكتروني، ومنصات التواصل الاجتماعي، وغيرها من صفحات الإنترنت، وذلك بهدف الترويج للمعرض أو لأغراض الأرشفة.\",\n\tartwork_terms_conditions_info_9: \"يحق لمؤسسة قطر رفض التالي:\",\n\tartwork_terms_conditions_info_10: \"التقديمات غير المكتملة\",\n\tartwork_terms_conditions_info_11: \"التقديمات التي لا تعكس الغرض من المعرض\",\n\tartwork_terms_conditions_agree: \"أوافق على الأحكام والشروط\",\n\tupload_placeholder: \"إضافة تفاصيل\",\n\trequired_field: \"هذه الخانة مطلوبه\",\n\tinvalid_phone: \"الرجاء إدخال رقم الجوال\",\n\tinvalid_link: \"أدخل رابط صحيح من فضلك\",\n\tsubmit: \"أرسل\",\n\tsubmiting: \"تقديم...\",\n\tfile_size_limit_exceeded: \"(1MB أقصى) .تم تجاوز حد حجم الملف\",\n\tppf_form_thankyou: \"!شكرًا لإرسال مشاركتك\",\n\tfirst_name: \"الاسم الأول\",\n\tlast_name: \"اسم العائلة\",\n\tqid: \"رقم بطاقة الهوية القطرية للطالب\",\n\tdob: \"تاريخ الميلاد\",\n\tgender: \"النوع\",\n\tacademic_gpa: \"المعدل التراكمي الأكاديمي\",\n\tupload_current_transcript: \"حمّل كشف العلامات الحالي\",\n\tcurrent_school: \"المدرسة الحالية\",\n\tstudent_name: \"اسم الطالب\",\n\tstudent_phone: \"رقم هاتف الطالب\",\n\tstudent_email: \"البريد الإلكتروني للطالب\",\n\tparent_phone: \"رقم هاتف ولي الأمر\",\n\tparent_email: \"البريد الإلكتروني لولي الأمر\",\n\tconfidential_references: \"رسائل تزكية سرية\",\n\tconfidential_references_text: \"يُرجى إرسال أسئلة التزكيات أدناه إلى اثنين من المعلمين الحاليين وواحد من كبار المدراء في المدرسة. وحتى تكون الطلبات صالحة للمراجعة، يجب أن تكون التزكيات على أوراق المدرسة الرسمية وأن تُرسل على البريد الإلكتروني لمدير القبول، فيكي رايت (vwright@qf.org.qa) في موعد أقصاه يوم الأحد 22 نوفمبر 2020. يُرجى العلم بأن رسائل التزكية سرية ولا ينبغي أن يشاركها أو يطلع عليها أولياء الأمور و/أو الطلاب.\",\n\trecommendatio_questions_heading: \"أسئلة التزكيات:\",\n\trecommendatio_question_1: \"منذ متى تعرف هذا الطالب؟\",\n\trecommendatio_question_2: \"يُرجى توضيح سبب توصيتك بهذا الطالب للجنة الاختيار؟\",\n\trecommendatio_question_3: \"ماذا سيحضر هذا الطالب إلى مجتمع مؤسسة قطر؟\",\n\trecommendatio_question_4: \"هل لديك أية تحفظات على شخصية هذا الطالب وقدراته الأكاديمية؟\",\n\trecommendatio_question_5: \"هل لديك تعليقات إضافية ينبغي أن نعرفها عن هذا الطالب؟\",\n\tessay_topic: \"مقال من 500 كلمة\",\n\tessay_topic_question: \"لماذا ترغب في الانضمام إلى إحدى مدارس مؤسسة قطر وكيف ستسهم في مجتمعنا؟\",\n\tessay_topic_text: \"المقال في أغلب الأحيان يكون الجزء الأكثر أهمية من طلبك؛ فهو يعطي لجنة المنح الدراسية انطباعًا عنك وعن تفانيك لتحقيق أهدافك، لذلك عليك أن تحرص على أن يكون في أفضل صورة ممكنة.\",\n\tessays_formatting_heading: \"تنسيق مقالات المنح الدراسية:\",\n\tessays_format_1: \"تباعد مزدوج\",\n\tessays_format_2: \"خط Times New Roman\",\n\tessays_format_3: \"حجم الخط 12\",\n\tessays_format_4: \"هوامش بطول إنش واحد من الأعلى والأسفل والجوانب\",\n\tother_useful_tips_heading: \"نصائح مفيدة أخرى ينبغي الانتباه لها:\",\n\tother_useful_tip_1: \"فكر فيما ستقول ونظم أفكارك عند كتابتها في مخطط عام\",\n\tother_useful_tip_2: \"احرص خلال كتابة المقال على توضيح كل فكرة ضمنتها في المخطط العام\",\n\tother_useful_tip_3: \"استخدم في مقالك لغة واضحة وموجزة وبسيطة\",\n\tother_useful_tip_4: \"تأكد من تدقيق وتحرير مقالك\",\n\tother_useful_tip_5: \"حمّل المقال المكتمل\",\n\ti_would_like_to_apply_to: \"أود أن أتقدم بطلب إلى: يُرجى اختيار ثلاث مدارس مختلفة في مؤسسة قطر\",\n\tfirst_choice_school: \"الخيار الأول للمدرسة\",\n\tsecond_choice_school: \"الخيار الثاني للمدرسة\",\n\tthird_choice_school: \"الخيار الثالث للمدرسة\",\n\tscholarship_terms: 'أوافق على أنني قرأت المعلومات المذكورة أعلاه. وأدرك أن هذه هي الخطوة الأولى التي سيتم النظر فيها للحصول على \"منحة الجدارة للتعليم ما قبل الجامعي\"، وأنه سيتم إخطاري عبر البريد الإلكتروني في 13 ديسمبر 2020 إذا تم اختياري للانتقال إلى الخطوة التالية، وسيتم أيضًا إبلاغ الطلاب الذين لم يتم اختيارهم عبر البريد الإلكتروني.',\n\tdate_placeholder: \"شهر / يوم / سنة\",\n\tupload_recommendations: \"إرسال خطابات التوصية\",\n\tupload_recommendations1: \"(خطاب التوصية 1 (معلم حالي\",\n\tupload_recommendations2: \"(خطاب التوصية 2 (معلم حالي\",\n\tupload_recommendations3: \"(خطاب التوصية 3 (موظف إداري رفيع المستوى\",\n\tqf_alumni_portal_launch_signup_heading: \"سنطلق بوابة خريجي مؤسسة قطر في الأشهر القادمة.\",\n\tqf_alumni_portal_launch_signup_text: \"أدخل اسمك وعنوان بريدك الإلكتروني، وسنتواصل معك فور إطلاق البوابة الإلكترونية!\",\n\tnotify_me: \"تواصل معي\",\n\tppf_form_thankyou: \"!شكرًا لإرسال مشاركتك\",\n\tqf_brand_audit_heading: \"نود معرفة تصوراتك حول مؤسسة قطر\",\n\tqf_brand_audit_content: \"هل يمكن أن تمنحنا خمس دقائق من وقتك وتكمل هذا الاستبيان القصير؟\",\n\tqf_brand_audit_cta: \"أكمل الاستبيان\",\n\t\"Register on the Education City App\": \"سجل من خلال تطبيق المدينة التعليمية\",\n\tyouthOfChange_intro: \"تعرّف على بعض طلبة التغيير الشغوفين من مدارسنا وجامعاتنا المختلفة.\",\n\tinnovatorsOfChange_intro: \"تعرَّف على بعض باحثينا وأفراد مجتمعنا ورحلتهم ضمن مسيرة التغيير.\",\n\tpartnersOfChange_intro: \"تعرف على بعض شراكاتنا التي تمكّن طلبة التغيير.\",\n\tread_more: \"اقرأ المزيد\",\n\tread_less: \"اقرأ أقل\",\n\tdownload_full_gallery: \"تنزيل جميع الصور\",\n\tall_galleries: \"الصور والفيديوهات\",\n\tpublications_projects : \"مشاريع ومنشورات\",\n\taffiliation: 'الجهة التي ينتسبون إليها',\n\tlanguages: 'اللغات',\n\tpublications: 'منشورات',\n\tprojects: 'مشروعات',\n\tbook_interview: 'طلب مقابلة',\n\tbook_interview_link: 'mailto:pressoffice@qf.org.qa?subject=Book%20interview%20with%20',\n\teditors_picks: 'مختارات',\n\tselect_dropdown: 'تحديد',\n\tsoc_survey_popup_heading: \"ما أفكارك حول حملة طلبة العلم والتغيير؟\",\n\tsoc_survey_popup_cta: \"شاركنا رأيك؛ لن يستغرق الاستبيان أكثر من خمس دقائق ولن تطلب منك مشاركة أي معلومات شخصية.\",\n\tour_experts: \"خبراؤنا\",\n\t\"Most popular\": \"الأكثر إقبالًا\",\n\t\"Sign up for the session\": \"سجّل لحضور الجلسة\",\n\t\"Upcoming event\": \"الفعالية المقبلة\",\n\t\"About the speaker\": \"عن المتحدث\",\n\t\"About the moderator\": \"عن مدير الجلسة\",\n\t\"Video\": \"فيديو\",\n\t\"Qatar\": \"بتوقيت الدوحة\",\n\t\"London\": \"لندن\",\n\t\"New York\": \"نيويورك\",\n\t\"Related Articles\": \"المقالات ذات الصلة\",\n\texpertise: \"الاختصاص\",\n\t\"Register through EC app\": \"سجل عبر تطبيق المدينة التعليمية\",\n\t\"What is the most impactful role that art can play in conflict?\": \"ما الدور الأكثر تأثيرًا للفنون في أوقات النزاع؟\",\n\t\"Unite communities\": \"توحيد المجتمعات\",\n\t\"Promote peace\": \"نشر السلام\",\n\t\"Boost morale\": \"رفع المعنويات\",\n\t\"Raise awareness\": \"تعزيز الوعي\",\n\t\"Vote\": \"صوت\",\n\t\"Votes\": \"أصوات\",\n \"I am attending\": \"سأتابع الحلقة النقاشية:\",\n \"Online\": \"عبر الانترنت\",\n \"In-person\": \"عبر الحضور الشخصي\",\n \"vaccinated_statement\": \"أُؤكدُ أنني تلقيتُ ثلاث جرعات من لقاح كوفيد-١٩\",\n vaccinated_statement_error: 'هذا الحقل مطلوب.',\n capacity_validation: 'عذرًا، الحضور الفعلي لم يعد متاحًا نظرًا للطاقة الاستيعابية المسموح بها كحدّ أقصى.',\n tap_story_more: \"المزيد من القصص تفاعلية\",\n\ttap_story_tab: \"TO TRANSLATE\",\n\ttap_story_tab_arial_label: \"TO TRANSLATE\",\n\ttap_story_close: \"TO TRANSLATE\",\n tap_stories: \"قصص تفاعلية\",\n tap_story: \"قصة تفاعلية\",\n idkt_newsletter: \"النشرة الإخبارية\",\n tweet: \"غرّد\",\n about_ecss: \"عن سلسلة محاضرات المدينة التعليمية\",\n \"Featured video\": \"فيديو رئيسي\",\n \"Watch video\": \"شاهد الفيديو\",\n \"Show more sessions\": \"شاهد مزيد من الجلسات\",\n days: \"يوم\",\n hours: \"ساعة\",\n min: \"دقيقة\",\n sec: \"ثانية\",\n kickoff_text: \"العد التنازلي للنهائي\",\n more: \"المزيد\",\n in_text: \"في\",\n you_are_reading: \"تقرأ الآن\",\n up_next: \"التالي\",\n accessibility: \"سهولة الوصول\",\n media_center: \"المركز الإعلامي\",\n media_resources: \"مصادر إعلامية\",\n world_cup: \"كأس العالم\",\n \"World Cup\": \"كأس العالم\",\n \"Watch full video\": \"الفيديو الكامل\",\n getting_around: \"الوصول والتنقّل\",\n load_more_events: 'اعرف المزيد من الأنشطة',\n ecss_capacity_reached_msg: 'نشكركم على اهتمامكم بهذه الفعالية. لقد جرى حجز جميع المقاعد. يرجى مراجعة هذه الصفحة بعد الحدث لمشاهدة التسجيل.',\n \"Registration closed\": \"التسجيل مغلق\",\n 'Explore QF': 'اكتشف مؤسسة قطر',\n 'Education City': 'المدينة التعليمية',\n 'Explore QF your way': 'اكتشف مؤسسة قطر على طريقتك',\n 'explore_qf_content': 'ندرك صعوبة تصفح موقع المؤسسة أحيانًا. لذا، قمنا بإعداد مسارات مخصّصة لتلبي احتياجاتكم. ',\n 'Ask Botaina': 'اسأل بوتينة',\n 'botaina_content': 'هل تحتاج إلى إجابات حول مؤسسة قطر والكيانات التابعة لها؟',\n 'Lets chat': 'دعنا نتحدث',\n 'Im looking for': 'أبحث عن',\n\t\"Community members\": \"أعضاء مجتمع المؤسسة\",\n\t\"Prospective students\": \"طلاب محتملون\",\n \"Researchers and Entrepreneurs\": \"باحثون ورواد أعمال\",\n\t\"Journalists and Media\": \"صحفيون وإعلاميون\",\n\t\"Job Seekers\": \"باحثون عن وظائف\",\n\t\"New to Qatar Foundation\": \"حديثو العهد بالمؤسسة\"\n};","module.exports = {\n\t...require(\"./IDKT/en.js\"),\n\tselectLanguage: 'Select your language',\n\t'email:': 'Email:',\n\temail: 'Email',\n\t'tel:': 'Tel:',\n\tSections: 'Sections',\n\tNavigation: 'Qatar Foundation',\n\tEducation: 'Education',\n\tResearch: 'Research',\n\tCommunity: 'Community',\n\tAll: 'All',\n\tHome: 'Home',\n\tevent: 'Events',\n\tArticle: 'Story',\n\t'Related Articles': 'Related Stories',\n\tplace: 'Places',\n\tentity: 'Entities',\n entities: 'Entities',\n places: 'Places',\n\tprogram: 'Programs',\n\tcampaign: 'Campaigns',\n\tpeople: 'People',\n\tpage: 'Pages',\n\tarticle: 'Story',\n\tStory: 'Story',\n\tuniversity: 'Universities',\n\tschool: 'Schools',\n\tClass: 'Class',\n\t'Family Event': 'Family Event',\n\tCompetition: 'Competition',\n\tpress_release: 'Press Releases',\n\tsingular_place: 'Place',\n\tsingular_entity: 'Entity',\n\tsingular_program: 'Program',\n\tsingular_people: 'Person',\n\tsingular_campaign: 'Campaign',\n\tsingular_university: 'University',\n\tsingular_school: 'School',\n\tsingular_page: 'Page',\n\tsingular_article: 'Story',\n\tsingular_event: 'Event',\n\tsingular_press_release: 'Press release',\n\tsingular_ecss: 'ECSS',\n\tplural_ecss: 'ECSS',\n\tplural_place: 'Places',\n\tplural_event: 'Events',\n\tplural_entity: 'Entities',\n\tplural_program: 'Programs',\n\tplural_people: 'Persons',\n\tplural_campaign: 'Campaigns',\n\tplural_university: 'Universities',\n\tplural_school: 'Schools',\n\tplural_page: 'Pages',\n\tplural_article: 'Stories',\n\tplural_press_release: 'Press releases',\n\tplural_press_media_mention: 'Media Mentions',\n\tsearch_filter_school: 'Schools',\n\tsearch_filter_university: 'Universities',\n\tsearch_filter_program: 'Programs',\n\tsearch_filter_place: 'Places',\n\tsearch_filter_entity: 'Entities',\n\tsearch_filter_article: 'Stories',\n\tsearch_filter_event: 'Events',\n\tsearch_filter_people: 'People',\n\tsearch_filter_page: 'Pages',\n\tsearch_filter_press_release: 'Press Releases',\n\tsearch_filter_press_media_mention: 'Media Mentions',\n\tsearch_filter_list_entity: 'Entity',\n\tsearch_filter_list_place: 'Place',\n\tsearch_filter_list_type: 'Type',\n\tsearch_filter_list_part_of_qatar: 'Part of Qatar Foundation',\n\tsearch_filter_list_department: 'Department',\n\tsearch_filter_list_category: 'Category',\n\tsearch_filter_list_tags: 'Tags',\n\tsearch_filter_list_month: 'Month',\n\tsearch_filter_list_year: 'Year',\n\tsearch_filter_list_campaign: 'Campaign',\n\tsearch_filter_list_program: 'Program',\n\tprograms_filter_list_schools: 'Filter by school',\n\tprograms_filter_list_degrees: 'Filter by degree',\n\tsearch_category_article: 'Articles',\n\tsearch_category_event: 'Events',\n\t'Program & School': 'Program & School',\n\tDegree: 'Degree',\n\tFilters: 'Filters',\n\tSearch: 'Search',\n\tType: 'Type',\n\tMap: 'Map',\n\t'See on map': 'See on map',\n\tBack: 'Back',\n\tList: 'List',\n\tShare: 'Share',\n\tFax: 'Fax',\n\tPhone: 'Phone',\n\t'E-mail': 'Email',\n\tAddress: 'Address',\n\topening_hours: 'Opening hours',\n\t'Offered at': 'Offered at',\n\t'Go to website': 'Go to website',\n\t'Click here to register': 'Click here to register',\n\t'Click here to join the seminar': 'Click here to join the seminar',\n\t'Related Events': 'Related Events',\n\t'Featured Events': 'Featured Events',\n\t'No results': 'No results',\n\t'search.result.plural': '{value} results found',\n\t'search.result.singular': '1 result found',\n\t'search.result.spellingsuggestion': 'Did you mean {link}?',\n\t'page.link': 'Learn more',\n\t'location.get_directions': 'Get directions',\n\tmessageNoSearchStarted: 'No results, try a search query or choose a filter.',\n\tDate: 'Date',\n\tTime: 'Time',\n\tWhere: 'Where',\n\t'Retry this query with advanced search': 'Retry this query with advanced search',\n\t'See all results': 'See all results',\n\t'Organized by': 'Organized by',\n\tpath_entity_base: '/entity/',\n\t'Browse by Category': 'Browse by Category',\n\t'Browse all Events': 'Browse all events',\n\t'Browse all Media Mentions': 'Browse all media mentions',\n\t'Interested in more events?': 'Interested in more events?',\n\tin: ' | ',\n\tSchools: 'Schools',\n\tUniversities: 'Universities',\n\tPrograms: 'Programs',\n\tEntities: 'Entities',\n\tPlaces: 'Places',\n\t'image.pagination': 'Image {index} of {total}',\n\t'scrolllist.pagination': '{index} of {total}',\n\t'Q.': 'Q:',\n\t'A.': 'A:',\n\t'Press Releases': 'Press Releases',\n\t'Other Media': 'QF around the World',\n\t'general-inquiries-footer-text': 'For general media inquiries,\\n please contact',\n\t'balagh-qf-hotline-footer-text': 'Would you like to prevent or report fraud?\\n Visit',\n\t'Anti-Fraud and Whistle-Blowing Hotline': 'Balagh – Qatar Foundation Whistleblower Hotline',\n\tSearchHelpText: 'Search Qatar Foundation Website',\n\tmmsctwtarialabel: 'Qatar Foundation Twitter Page',\n\tmmscfbarialabel: 'Qatar Foundation Facebook Page',\n\tmmsclinkedinarialabel: 'Qatar Foundation Linkedin Page',\n\tmmscsnapchatarialabel: 'Qatar Foundation Snapchat Profile',\n\tmmscinstaarialabel: 'Qatar Foundation Instagram Profile',\n\tmmsctwttitle: 'Qatar Foundation Twitter Page',\n\tmmscfbtitle: 'Qatar Foundation Facebook Page',\n\tmmsclinkedintitle: 'Qatar Foundation Linkedin Page',\n\tmmscsnapchattitle: 'Qatar Foundation Snapchat Profile',\n\tmmscinstatitle: 'Qatar Foundation Instagram Profile',\n\timggallerymodnavprevtitle: 'Previous Image',\n\timggallerymodnavprevarialabel: 'Previous Image',\n\timggallerymodnavnexttitle: 'Next Image',\n\timggallerymodnavnextarialabel: 'Next Image',\n\tsidescrollerstorylistmodnavprevtitle: 'Previous Image',\n\tsidescrollerstorylistmodnavprevarialabel: 'Previous Image',\n\tsidescrollerstorylistmodnavnexttitle: 'Next Image',\n\tsidescrollerstorylistmodnavnextarialabel: 'Next Image',\n\tscrolllistmodnavprevtitle: 'Previous',\n\tscrolllistmodnavprevarialabel: 'Previous',\n\tscrolllistmodnavnexttitle: 'Next',\n\tscrolllistmodnavnextarialabel: 'Next',\n\tGototopbuttontitle: 'Go to top of the Website Button',\n\tGototopbuttonarialabel: 'Go to top of the Website Button',\n menu: \"Menu\",\n\topenmenutitle: 'Open Menu',\n\topenmenuarialabel: 'Open Menu',\n\theaderlogotitle: 'Qatar Foundation Homepage',\n\theaderlogoarialabel: 'Qatar Foundation Homepage',\n\tQFlogomenubartitle: 'Qatar Foundations Logo',\n\tQFlogomenubararialabel: 'Qatar Foundations Logo',\n\tclosemenutitle: 'Close Menu ',\n\tclosemenuarialabel: 'Close Menu ',\n\tsearchicontitle: 'Search Qatar Foundations Website',\n\tsearchiconarialabel: 'Search Qatar Foundations Website',\n\tsearchinputtitle: 'Enter Your Search Keyword',\n\teducation_teaser: 'Discover our universities and schools',\n\teducation_link: 'Explore Education at Qatar Foundation',\n\tresearch_teaser: 'Learn about our research initiatives',\n\tresearch_link: 'Explore Research at Qatar Foundation',\n\tcommunity_teaser: 'Explore our community development programs',\n\tcommunity_link: 'Explore Community at Qatar Foundation',\n\teducation_city_title: 'This is Education City.',\n\teducation_city_content:\n\t\t'Education City, our flagship initiative, is a pretty unique place. During just one short walk—or tram ride—around campus, you could be visiting an Ivy League university, cross the street to browse one of the region’s largest libraries, and then attend an open-mic at the neighboring university behind it.',\n\teducation_city_link: 'Learn more',\n\tlatest_news_title: 'Latest News',\n\tlatest_news_content: \"There's a lot going on throughout the year at Qatar Foundation. Here's some of our latest news.\",\n\tlatest_news_link: 'Browse all news',\n\tlatest_stories_link: 'Browse all stories',\n\tMore: 'More',\n\tstay_in_touch: \"Let's stay in touch\",\n\tfollow_us_text: 'Want to see and read even more from us? Our social media channels have you covered with the latest.',\n\tsign_up_newsletter: 'Interested in our monthly curation of stories and events? Sign up for our newsletter.',\n\tsign_up_newsletter_exists: 'You have already subscribed to our monthly newsletter.',\n\tsign_up_newsletter_success: 'Thanks for subscribing.',\n\tsign_up_newsletter_invalid: 'Invalid email adress.',\n\tsign_up_newsletter_error: 'An error occured. please try again',\n\temail_validation: 'Please enter a valid email address',\n\tqr_campaign_title: 'THE UNREAD BECOMES THE FORGOTTEN.',\n\tqr_campaign_text: 'THE UNREAD BECOMES THE FORGOTTEN.\\nDON’T LET YOUR POTENTIAL FADE AWAY.\\nREAD AND IMAGINE THE FUTURE YOU\\nHAVE ALWAYS WANTED.',\n\tqr_campaign_link: 'Learn more about Qatar Reads',\n\tqr_goto_qf_site_link: 'Proceed to Qatar Foundation website',\n\t'Browse Events by Location': 'Browse Events by Location',\n\tclosealertdialogueboxclosebtntitle: 'Close The Alert Dialogue Box',\n\tclosealertdialogueboxclosebtnarialabel: 'Close The Alert Dialogue Box',\n\tdarkmode: 'Dark mode',\n\tlightmode: 'Light mode',\n\tpush_success: 'Push subscription successful!',\n\tpush_enable_error: 'An error occured while enabling push notifications. please try again',\n\tpush_not_allowed: 'Notifications not allowed.',\n\tpush_disabled: 'Push notifications disabled',\n\tpush_disable_error: 'Error occured while disabling push notifications. please try again',\n\tpush_generic_error: 'An error occured setting up push notification',\n\tname: \"Full Name\",\n email: \"Email\",\n title: \"Job Title\",\n\tcompany: \"Company\",\n\tnationality: \"Nationality\",\n country: \"Country of Residence\",\n\tname_validation: \"Please enter a valid name\",\n email_validation: \" Please enter a valid email\",\n title_validation: \"\tPlease enter a valid title\",\n company_validation: \"Please enter a company name\",\n\tselect_validation: \"Select an option\",\n\tsubscribe_to_newsletter: \"Subscribe to our newsletter\",\n\tdownload_report: \"Download report\",\n\tform_submit_thankyou: \"Thank you for filling in the form\",\n\tdownload_report_text: \"Click here to download the report file\",\n\tmada_text: 'This website is accredited by Mada for accessibility',\n\tmada_logo: 'Mada Logo',\n\tsearch_filter_spokes_people: 'Expert Commentators',\n\tsearch_filter_ecss: 'ECSS',\n\tsingular_spokes_people: 'Expert Commentators',\n\tplural_spokes_people: 'Expert Commentators',\n\tsingular_expert_profile: 'Expert Commentators',\n\tplural_expert_profile: 'Expert Commentators',\n\t\"How did you hear about the event?\": \"How did you hear about the event?\",\n\n\tform_register_thankyou: \"Thank you for registering.\",\n\twebinar_link: \"Webinar Link\",\n\tadd_to_calendar: \"Add to calendar\",\n\tregister: \"Register\",\n\tregistering: \"Registering...\",\n\t\"Register to attend\": \"Register to attend the session\",\n\twebinar_note: \"You will soon receive an email from us with full details on how to watch the webinar.\",\n\tecss_short: \"ECSS\",\n\tecss_title: \"Education City Speaker Series\",\n\tecss: \"Education City\\nSpeaker Series\",\n\tecss_subtitle: \"Best-selling author Layla F. Saad will reflect on her own experiences of racism and explain how we can all fulfill a social responsibility to identify and undo racism in our own communities, through our own actions.\",\n\tjoin_webinar: \"Join webinar\",\n\tphone: \"Phone number\",\n\ttitle_of_the_artwork: \"Title of the artwork\",\n\tartists_statement: \"Artist’s statement (100 words max)\",\n\tartists_statement_info: \"This statement will be displayed under the artwork on the website during the online exhibition. It’s a short description about how you approached your artistic practice and should include an interpretation for your imagery. Interpretations need not be literal or definitive, and should stimulate and invite viewers to contemplate the work within the context of the exhibition’s theme.\",\n\tartists_biography: \"Artist's biography (100 words max.)\",\n\tartists_biography_info: \"A short description of your artistic and professional background. The same will be on display next to your artwork on the website during the online exhibition.\",\n\tartwork_dimensions: \"Artwork dimensions\",\n\tartwork_dimensions_info: \"• Width, height and depth (if applicable)\\n• In case of irregular shape artwork, an approximate dimension of its volume\\n• In case of video, duration of the video\",\n\tartwork_material: \"Artwork material\",\n\tartwork_material_info: \"An explicit description of materials used to produce the art piece.\",\n\tartwork_image: \"Artwork image\",\n\tartwork_image_info: \"In case you would like to submit a video piece, please submit a screenshot of the recording here. You can submit the full video separately as a link in the following section.\\n\\nFile types: .zip, .jpg, .jpeg, .png, and .pdf\\nSize limit: 10 MB (only one file per submission)\",\n\tartwork_link: \"Artwork link\",\n\tartwork_link_info: \"In case of animated digital artwork, video, or performance, please submit a link to the full recording here.\",\n\tartwork_terms_conditions: \"Terms & Conditions\",\n\tartwork_copyrights_info: \"Each artist can submit one piece of artwork.\\n\\nArtwork remains the ownership of the artist. However, once artwork is submitted, all digital submissions can be used by Qatar Foundation and its partners, and may be shared publicly, along with any identifying information you provide (images, etc) as part of the contest.\",\n\tartwork_terms_conditions_info: \"By submitting artwork (“the Work”) online, the Artist warrants that:\",\n\tartwork_terms_conditions_info_1: \"the Work is authentic and was created originally by the Artist\",\n\tartwork_terms_conditions_info_2: \"the Artist is the sole and absolute owner of the work, and that the Work is free and clear of any and all rights, claims, liens, mortgages, security interests, or other encumbrances held by any person\",\n\tartwork_terms_conditions_info_3: \"the Work does not infringe the rights of any person or entity, including trademark, copyright, privacy, and publicity rights.\",\n\tartwork_terms_conditions_info_5: \"Qatar Foundation has the right to:\",\n\tartwork_terms_conditions_info_6: \"review every submission before allowing any posts on the website\",\n\tartwork_terms_conditions_info_7: \"publish, share, and distribute any Work submitted\",\n\tartwork_terms_conditions_info_8: \"reproduce the Work online or print on (including not exclusively) its website, social networking platforms, and other online pages to promote the exhibition or for archival purposes\",\n\tartwork_terms_conditions_info_9: \"Qatar Foundation has the right to reject all:\",\n\tartwork_terms_conditions_info_10: \"incomplete submissions\",\n\tartwork_terms_conditions_info_11: \"submissions that do not reflect the exhibition’s purpose\",\n\tartwork_terms_conditions_agree: \"I agree to the terms & conditions\",\n\tupload_placeholder: \"Select file\",\n\trequired_field: \"This field is required\",\n\tinvalid_phone: \"Please enter a valid phone number\",\n\tinvalid_link: \"Please enter a valid url\",\n\tsubmit: \"Submit\",\n\tsubmiting: \"Submitting...\",\n\tfile_size_limit_exceeded: \"File size limit exceeded. (10MB max)\",\n\tppf_form_thankyou: \"Thank you for your submission!\",\n\tfirst_name: \"First name\",\n\tlast_name: \"Last name\",\n\tqid: \"Student QID\",\n\tdob: \"Date of birth\",\n\tgender: \"Gender\",\n\tacademic_gpa: \"Academic GPA\",\n\tupload_current_transcript: \"Upload current transcript\",\n\tcurrent_school: \"Current school\",\n\tstudent_name: \"Student name\",\n\tstudent_phone: \"Student phone number\",\n\tstudent_email: \"Student email\",\n\tparent_phone: \"Parent phone number\",\n\tparent_email: \"Parent email\",\n\tconfidential_references: \"Confidential References\",\n\tconfidential_references_text: \"Please send these recommendation questions to two current teachers and one current upper level school administrator. For applications to be reviewed, recommendations must be on official school letterhead and emailed to the Head of Admissions, Vicki G Wright (vwright@qf.org.qa), by Sunday, 22 November 2020. Please note that recommendations are confidential and should not be shared/viewed by parents and/or students.\",\n\trecommendatio_questions_heading: \"Recommendation Questions\",\n\trecommendatio_question_1: \"How long have you known this student?\",\n\trecommendatio_question_2: \"Please explain to the selection committee why you are recommending this student?\",\n\trecommendatio_question_3: \"What will this student bring to the Qatar Foundation community?\",\n\trecommendatio_question_4: \"Do you have any reservations about this student’s academic abilities and character?\",\n\trecommendatio_question_5: \"Any additional comments we should know about this student?\",\n\tessay_topic: \"Upload essay\",\n\tessay_topic_question: \"Why would you like to attend one of the Qatar Foundation schools and how will you contribute to our community?\",\n\tessay_topic_text: \"The essay is often the most important part of your application; it gives the scholarship committee a sense of who you are and your dedication to your goals. You’ll want to make sure that your scholarship essay is the best it can possibly be.\",\n\tessays_formatting_heading: \"Scholarship essays formatting:\",\n\tessays_format_1: \"Double spaced\",\n\tessays_format_2: \"Times New Roman font\",\n\tessays_format_3: \"12-point font\",\n\tessays_format_4: \"One-inch top, bottom, and side margins\",\n\tother_useful_tips_heading: \"Other useful tips to keep in mind include\",\n\tother_useful_tip_1: \"Think about what you are going to write and organize your thoughts into an outline.\",\n\tother_useful_tip_2: \"Write your essay by elaborating on each point you included in your outline.\",\n\tother_useful_tip_3: \"Use clear, concise, and simple language throughout your essay.\",\n\tother_useful_tip_4: \"Proofread and edit.\",\n\tother_useful_tip_5: \"Upload completed essay.\",\n\ti_would_like_to_apply_to: \"I would like to apply to: (please choose three different Qatar Foundation Schools)\",\n\tfirst_choice_school: \"1st Choice School\",\n\tsecond_choice_school: \"2nd Choice School\",\n\tthird_choice_school: \"3rd Choice School\",\n\tscholarship_terms: \"I agree that I have read the above information. I understand this is the first step to being considered for the ‘Pre-University Education Merit Scholarship.’ I understand that I will be notified by email on 13 December 2020 if I have been selected to move to the next step. Students who have not been selected will also be notified by email.\",\n\tdate_placeholder: \"mm/dd/yyyy\",\n\tupload_recommendations: \"Upload recommendations\",\n\tupload_recommendations1: \"Recommendation #1 (Current Teacher)\",\n\tupload_recommendations2: \"Recommendation #2 (Current Teacher)\",\n\tupload_recommendations3: \"Recommendation #3 (Upper-level Administrator)\",\n\tupload_recommendations3: \"Recommendation #3 (Upper-level Administrator)\",\n\tqf_alumni_portal_launch_signup_heading: \"We’ll be launching the official QF Alumni Portal in the coming months.\",\n\tqf_alumni_portal_launch_signup_text: \"Just enter your name and email address and we’ll notify you as soon as we launch!\",\n\tnotify_me: \"Notify me\",\n\tqf_brand_audit_heading: \"We want to know how you perceive Qatar Foundation\",\n\tqf_brand_audit_content: \"If you have 5 minutes to spare, we would really appreciate you taking our short survey.\",\n\tqf_brand_audit_cta: \"Take the quick survey\",\n\t\"Register on the Education City App\": \"Register through the Education City app\",\n\tyouthOfChange_intro: \"Here’s a glimpse of young and curious students of change from across our schools and universities.\",\n\tinnovatorsOfChange_intro: \"Explore how our researchers and engaged community members are becoming students of change.\",\n\tpartnersOfChange_intro: \"Check out some of our existing partnerships enabling students of change.\",\n\tread_more: \"Read more\",\n\tread_less: \"Read less\",\n\tdownload_full_gallery: \"Download full gallery\",\n\tall_galleries: \"All galleries\",\n\tpublications_projects : \"Publications & Projects\",\n\taffiliation: 'Affiliation',\n\tlanguages: 'Languages',\n\tpublications: 'Publications',\n\tprojects: 'Projects',\n\tbook_interview: 'Request an interview',\n\tbook_interview_link: 'mailto:pressoffice@qf.org.qa?subject=Book%20interview%20with%20',\n\teditors_picks: \"Editor’s Picks\",\n\tselect_dropdown: 'Select...',\n\tsoc_survey_popup_heading: \"What are your thoughts on the Students of Change campaign?\",\n\tsoc_survey_popup_cta: \"Take this 5-minute, anonymous survey and let us know what’s on your mind.\",\n\tour_experts: \"Our Experts\",\n\t\"Most popular\": \"Most popular\",\n\t\"Sign up for the session\": \"Sign up for the session\",\n\t\"Upcoming event\": \"Upcoming event\",\n\t\"About the speaker\": \"About the speakers\",\n\t\"About the moderator\": \"About the moderator\",\n\t\"Video\": \"Video\",\n\t\"Qatar\": \"Doha\",\n\t\"London\": \"London\",\n\t\"New York\": \"New York\",\n\texpertise: \"Expertise\",\n\t\"Register through EC app\": \"Register through the Education City app\",\n\t\"What is the most impactful role that art can play in conflict?\": \"What is the most impactful role that art can play in conflict?\",\n\t\"Unite communities\": \"Unite communities\",\n\t\"Promote peace\": \"Promote peace\",\n\t\"Boost morale\": \"Boost morale\",\n\t\"Raise awareness\": \"Raise awareness\",\n\t\"Vote\": \"vote\",\n\t\"Votes\": \"votes\",\n \"I am attending\": \"I am attending\",\n \"Online\": \"Online\",\n \"In-person\": \"In-person\",\n \"vaccinated_statement\": \"I confirm I have received three doses of the COVID-19 vaccine.\",\n vaccinated_statement_error: 'This field is required.',\n capacity_validation: 'We’re sorry, but in-person registration is no longer available due to the maximum capacity permitted being reached.',\n tap_story_more: \"More Tap Stories\",\n\ttap_story_tab: \"Go to tap story slide\",\n\ttap_story_tab_arial_label: \"Go to tap story slide\",\n\ttap_story_close: \"Close tap story\",\n tap_stories: \"Tap Stories\",\n tap_story: \"Tap Story\",\n idkt_newsletter: \"IDKT Newsletter\",\n tweet: \"Tweet\",\n about_ecss: \"About ECSS\",\n \"Featured video\": \"Featured video\",\n \"Watch video\": \"Watch full video\",\n \"Show more sessions\": \"Show more sessions\",\n days: \"Days\",\n hours: \"Hours\",\n min: \"Minutes\",\n sec: \"Seconds\",\n kickoff_text: \"Countdown to the Final\",\n more: \"More\",\n in_text: \"in\",\n you_are_reading: \"You are reading\",\n up_next: \"Up next\",\n accessibility: \"Accessibility\",\n media_center: \"Media center\",\n media_resources: \"Media resources\",\n world_cup: \"World Cup\",\n \"World Cup\": \"World Cup\",\n \"Watch full video\": \"Watch full video\",\n getting_around: \"Getting around\",\n load_more_events: 'Load more events',\n ecss_capacity_reached_msg: 'Thank you for your interest in this event. The event is now at full capacity. Please check this page after the event to watch the recording.',\n \"Registration closed\": \"Registration Closed\",\n 'Explore QF': 'Explore QF',\n 'Education City': 'Education City',\n 'Explore QF your way': 'Explore QF Your Way',\n 'explore_qf_content': \"We know this can be a complex organization to navigate. That’s why we've put together tailored journeys based on your needs.\",\n 'Ask Botaina': 'Ask Botaina',\n 'botaina_content': 'Looking for quick answers about QF and our programs?',\n 'Lets chat': 'Let’s Chat',\n 'Im looking for': 'I’m interested in',\n\t\"Community members\": \"Community members\",\n\t\"Prospective students\": \"Prospective students\",\n \"Researchers and Entrepreneurs\": \"Researchers and Entrepreneurs\",\n\t\"Journalists and Media\": \"Journalists and Media\",\n\t\"Job Seekers\": \"Job Seekers\",\n\t\"New to Qatar Foundation\": \"New to Qatar Foundation\"\n};","'use strict';\n\nvar _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');\n\nexports.__esModule = true;\nexports.onRouteUpdate = void 0;\n\nvar _extends2 = _interopRequireDefault(require('@babel/runtime/helpers/extends'));\n\n// Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/prepend()/prepend().md\n(function(arr) {\n\tarr.forEach(function(item) {\n\t\tif (item.hasOwnProperty('prepend')) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.defineProperty(item, 'prepend', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\twritable: true,\n\t\t\tvalue: function prepend() {\n\t\t\t\tvar argArr = Array.prototype.slice.call(arguments),\n\t\t\t\t\tdocFrag = document.createDocumentFragment();\n\t\t\t\targArr.forEach(function(argItem) {\n\t\t\t\t\tvar isNode = argItem instanceof Node;\n\t\t\t\t\tdocFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\n\t\t\t\t});\n\t\t\t\tthis.insertBefore(docFrag, this.firstChild);\n\t\t\t}\n\t\t});\n\t});\n})([Element.prototype, Document.prototype, DocumentFragment.prototype]); // Source: https://github.com/jserz/js_piece/blob/master/DOM/ParentNode/append()/append().md\n\n(function(arr) {\n\tarr.forEach(function(item) {\n\t\tif (item.hasOwnProperty('append')) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.defineProperty(item, 'append', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\twritable: true,\n\t\t\tvalue: function append() {\n\t\t\t\tvar argArr = Array.prototype.slice.call(arguments),\n\t\t\t\t\tdocFrag = document.createDocumentFragment();\n\t\t\t\targArr.forEach(function(argItem) {\n\t\t\t\t\tvar isNode = argItem instanceof Node;\n\t\t\t\t\tdocFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\n\t\t\t\t});\n\t\t\t\tthis.appendChild(docFrag);\n\t\t\t}\n\t\t});\n\t});\n})([Element.prototype, Document.prototype, DocumentFragment.prototype]); // from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md\n\n(function(arr) {\n\tarr.forEach(function(item) {\n\t\tif (item.hasOwnProperty('remove')) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.defineProperty(item, 'remove', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\twritable: true,\n\t\t\tvalue: function remove() {\n\t\t\t\tif (this.parentNode === null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.parentNode.removeChild(this);\n\t\t\t}\n\t\t});\n\t});\n})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);\n\nvar defaultOptions = {\n\tincludePaths: [],\n\texcludePaths: [],\n\theight: 3,\n\tprependToBody: false,\n\tcolor: '#e14524'\n}; // browser API usage: https://www.gatsbyjs.org/docs/browser-apis/#onRouteUpdate\n\nvar onRouteUpdate = function onRouteUpdate(_ref, pluginOptions) {\n\tvar pathname = _ref.location.pathname;\n\n\tif (pluginOptions === void 0) {\n\t\tpluginOptions = {};\n\t}\n\n\t// merge default options with user defined options in `gatsby-config.js`\n\tvar options = (0, _extends2.default)({}, defaultOptions, {}, pluginOptions);\n\tvar includePaths = options.includePaths,\n\t\texcludePaths = options.excludePaths,\n\t\tprependToBody = options.prependToBody,\n\t\tcolor = options.color; // eslint-disable-line no-unused-vars\n\n\tfunction pageProgress() {\n\t\tlet darkMode = localStorage.getItem('darkMode');\n\t\t// create progress indicator container and append/prepend to document body\n\t\tvar dir;\n\t\tif (window.location.href.indexOf('/ar/') !== -1) {\n\t\t\tdir = 'right: 0;';\n\t\t} else {\n\t\t\tdir = 'left: 0;';\n\t\t}\n\t\tvar container = document.createElement('div');\n\t\tcontainer.className = 'progress-container'; // eslint-disable-next-line\n container.id = 'progress-container';\n\n var node = document.createElement('div');\n\t\tnode.id = 'gatsby-plugin-page-progress'; // eslint-disable-next-line\n\n container.append(node)\n\n\t\tprependToBody ? document.body.prepend(container) : document.body.append(container);\n\n\t\tif (darkMode !== 'true') {\n\t\t\tcolor = '#e14524';\n\t\t\tlocalStorage.setItem('progressBarColor', '#e14524');\n\t\t} else {\n\t\t\tlocalStorage.setItem('progressBarColor', '#6BCDB2');\n\t\t}\n\n\t\tvar scrolling = false;\n\t\tvar indicator = document.getElementById('gatsby-plugin-page-progress'); // determine width of progress indicator\n\n\t\tvar getIndicatorPercentageWidth = function getIndicatorPercentageWidth(currentPos, totalScroll) {\n\t\t\treturn (currentPos / totalScroll) * 100;\n\t\t}; // find the total height of window\n\n\t\tvar getScrollHeight = function getScrollHeight() {\n\t\t\t// https://javascript.info/size-and-scroll-window#width-height-of-the-document\n\t\t\treturn Math.max(\n\t\t\t\tdocument.body.scrollHeight,\n\t\t\t\tdocument.documentElement.scrollHeight,\n\t\t\t\tdocument.body.offsetHeight,\n\t\t\t\tdocument.documentElement.offsetHeight,\n\t\t\t\tdocument.body.clientHeight,\n\t\t\t\tdocument.documentElement.clientHeight\n\t\t\t);\n\t\t}; // add throttled listener to update on scroll\n\n\t\twindow.addEventListener('scroll', function() {\n\t\t\tvar currentPos = window.scrollY;\n\t\t\tvar _window = window,\n\t\t\t\tinnerHeight = _window.innerHeight;\n\t\t\tvar scrollHeight = getScrollHeight();\n\t\t\tvar scrollDistance = scrollHeight - innerHeight;\n\t\t\tif (!scrolling) {\n\t\t\t\twindow.requestAnimationFrame(function() {\n\t\t\t\t\tvar indicatorWidth = getIndicatorPercentageWidth(currentPos, scrollDistance);\n\t\t\t\t\tindicator.setAttribute(\n\t\t\t\t\t\t'style', // eslint-disable-next-line\n\t\t\t\t\t\t'width: ' + indicatorWidth + '%; position: fixed; height: ' + 3 + 'px; background-color: ' + localStorage.getItem('progressBarColor') + '; top: 0; ' + dir + ' z-index: 1;'\n\t\t\t\t\t);\n\t\t\t\t\tscrolling = false;\n\t\t\t\t});\n\t\t\t\tscrolling = true;\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction checkPaths(val, paths) {\n\t\tif (paths.length === 0) return val; // return if no paths\n\n\t\tvar returnVal = val; // loop over each path\n\n\t\tpaths.forEach(function(x) {\n\t\t\t// if returnVal has already changed => return\n\t\t\tif (returnVal === !val) return; // regex is supplied in an object: { regex: '/beep/beep/lettuce' }\n\n\t\t\tvar isRegex = typeof x === 'object'; // if regex is present test it against the pathname - if test passes, change returnVal\n\n\t\t\tif (isRegex && new RegExp(x.regex, 'gm').test(pathname)) returnVal = !returnVal; // otherwise if the current path is strictly equal to the pathname, change returnVal\n\n\t\t\tif (x === pathname) returnVal = !returnVal;\n\t\t});\n\t\treturn returnVal;\n\t} // check to see if the scroll indicator already exists - if it does, remove it\n\n\tfunction removeProgressIndicator() {\n\t\tvar indicatorCheck = document.getElementById('progress-container');\n\t\tif (indicatorCheck) indicatorCheck.remove();\n\t} // if there's no excluded paths && no included paths\n\n\tif (!excludePaths.length && !includePaths.length) {\n\t\tremoveProgressIndicator();\n\t\tpageProgress(); // if there's excluded paths && no included paths\n\t} else if (excludePaths.length && !includePaths.length) {\n\t\tvar continueAfterExclude = checkPaths(true, excludePaths);\n\t\tremoveProgressIndicator();\n\t\tif (continueAfterExclude) pageProgress(); // if there's either excluded paths && included paths || no excluded paths && included paths\n\t} else {\n\t\tvar _continueAfterExclude = checkPaths(true, excludePaths);\n\n\t\tremoveProgressIndicator();\n\n\t\tif (_continueAfterExclude) {\n\t\t\tvar match = checkPaths(false, includePaths);\n\t\t\tmatch && pageProgress();\n\t\t}\n\t}\n};\n\nexports.onRouteUpdate = onRouteUpdate;","/*!\n * CustomEase 3.11.5\n * https://greensock.com\n * \n * @license Copyright 2023, GreenSock. All rights reserved.\n * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n */\n /* eslint-disable */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=e||self).window=e.window||{})}(this,function(e){\"use strict\";function m(e){return Math.round(1e5*e)/1e5||0}var b=/[achlmqstvz]|(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[0-9]/gi,w=/[\\+\\-]?\\d*\\.?\\d+e[\\+\\-]?\\d+/gi,Y=Math.PI/180,k=Math.sin,B=Math.cos,F=Math.abs,J=Math.sqrt;function arcToSegment(e,t,n,s,a,r,i,o,h){if(e!==o||t!==h){n=F(n),s=F(s);var u=a%360*Y,f=B(u),c=k(u),l=Math.PI,g=2*l,x=(e-o)/2,d=(t-h)/2,m=f*x+c*d,p=-c*x+f*d,y=m*m,M=p*p,v=y/(n*n)+M/(s*s);1u.x||u.y!==h.y&&u.x===h.x||h===u)&&h.x<=1?(u.cx=h.x-u.x,u.cy=h.y-u.y,u.n=h,u.nx=h.x,p&&1f||r===u-1)&&(n.push(c,l),a=(h-l)/(o-c)),c=o,l=h;n=\"M\"+n.join(\",\")}return y&&y.setAttribute(\"d\",n),n},CustomEase);function CustomEase(e,t,n){a||q(),this.id=e,this.setData(t,n)}p()&&M.registerPlugin(n),n.version=\"3.11.5\",e.CustomEase=n,e.default=n;if (typeof(window)===\"undefined\"||window!==e){Object.defineProperty(e,\"__esModule\",{value:!0})} else {delete e.default}});","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var map = {\n\t\"./IDKT/ar\": 74826,\n\t\"./IDKT/ar.js\": 74826,\n\t\"./IDKT/en\": 56666,\n\t\"./IDKT/en.js\": 56666,\n\t\"./ar\": 23435,\n\t\"./ar.js\": 23435,\n\t\"./en\": 52899,\n\t\"./en.js\": 52899\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 58816;","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.7.6 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener(\\\"pt0\\\",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.7.6\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `