{"version":3,"file":"chunks/13ca78cc4ea4a3.js","mappings":"+JAIA,MAAMA,EAAe,CACnBC,kCAAmC,SACnCC,4BAA6B,UAEzBC,EAAO,IAAM,GAGnB,MAAMC,UAA0B,EAAAC,UAC9BC,YAAYC,GACVC,MAAMD,IACN,OAAgBE,KAAM,mBAAmB,KAAM,CAC7CR,kCAAmCQ,KAAKC,0BACxCR,4BAA6BO,KAAKP,iCAEpC,OAAgBO,KAAM,6BAA6B,KACjD,MAAM,QACJE,EAAO,QACPC,GACEH,KAAKF,OACH,kCACJN,EAAoCE,GAClCM,KAAKI,QAMT,MAAO,CALS,CAACC,EAAOC,KACN,MAAZJ,GAAmBA,IAAYI,GACjCH,EAAQE,EAAOC,EACjB,KAEkBd,IAAoC,KAE1D,OAAgBQ,KAAM,+BAA+B,KACnD,MAAM,4BACJP,EAA8BC,GAC5BM,KAAKI,QACT,OAAOX,GAA6B,IAEtCO,KAAKO,aAAe,CAClBd,4BAA6BO,KAAKP,4BAClCD,kCAAmCQ,KAAKC,0BAE5C,CACAO,SACE,MAAM,SACJC,GACET,KAAKF,MACT,OAAoB,gBAAoB,mBAAgC,CACtEY,MAAOV,KAAKO,cACXE,EACL,GAEF,OAAgBd,EAAmB,eAAgBJ,IACnD,OAAgBI,EAAmB,oBAAqBJ,GACxD,U,0BCnDA,MA0BA,EA1B0B,EACxBkB,WACAP,UACAC,cAEA,MAAMQ,GAAmB,EAAAC,EAAA,KACnBC,GAAa,EAAAC,EAAA,GAAcX,GAC3BY,GAAa,EAAAD,EAAA,GAAcZ,GAC3BV,GAAoC,IAAAwB,cAAY,IAM7C,IAAIL,EAAiBnB,oCALR,CAACa,EAAOC,KACC,MAAvBS,EAAWE,SAAmBF,EAAWE,UAAYX,GACvDO,EAAWI,QAAQZ,EAAOC,EAC5B,IAGD,CAACK,EAAkBI,EAAYF,IAC5BH,GAAQ,IAAAQ,UAAQ,KACb,CACL1B,oCACAC,4BAA6BkB,EAAiBlB,+BAE/C,CAACkB,EAAkBnB,IACtB,OAAoB,gBAAoB,mBAAgC,CACtEkB,MAAOA,GACND,EAAS,ECnBd,EALkCX,IAChC,IAAIqB,EAEJ,OADkC,MAAO,KAAiF,QAAhCA,EAAe,UAA0C,IAAjBA,OAA0B,EAASA,EAA4C,iCAC7K,OAAa,oDAAmE,gBAAoBC,EAAyBtB,GAAsB,gBAAoBuB,EAAyBvB,EAAM,C,0ECLrO,MAAMc,EAAsB,KAC1B,IAAAU,YAAW,U,+DCFb,MAAMR,EAAgBJ,IAC3B,MAAMa,GAAM,IAAAC,QAAOd,GAEnB,OADAa,EAAIN,QAAUP,EACPa,CAAG,C,8BCJZ,IAAIE,EAAMC,EAAUP,EAAcQ,EAAWC,E,iBAG7C,MACMC,IADsR,QAAxQJ,OAAyPK,KAAlO,OAAfC,iBAAsC,IAAfA,YAAqE,QAAnCL,EAAWK,WAAWC,eAAkC,IAAbN,GAAiE,QAAjCP,EAAeO,EAASO,WAAkC,IAAjBd,OAA9H,EAAiKA,EAAae,uBAAoD,IAATT,GAAkBA,IAClC,gBAAlO,OAAfM,iBAAsC,IAAfA,YAAsE,QAApCJ,EAAYI,WAAWC,eAAmC,IAAdL,GAAoE,QAAnCC,EAAgBD,EAAUM,WAAmC,IAAlBL,OAAlI,EAAsKA,EAAcO,UACzPC,EAAQ,IAAIC,KAClBR,GAKLS,QAAQF,SAASC,EAAK,ECVlBE,EAAU,mCACHC,EAAiB,6BACxBC,OAAmC,IAAZ,SAAkD,IAAhB,GAazDC,IAVyBD,GAEO,SAAtC,GAAgC,sBAKSA,GAEO,SAAhD,GAA0C,6BAEpCE,EAAqB,CAGzBC,mBAAoB,IAAIC,IACxBC,gBAAiB,SAAUC,GAKzB,OAAO,CACT,GAEIC,EAA8B,oBAAXC,OAAyBA,OAASlB,WCXpD,SAASmB,EAAaC,GAC3B,ODsBK,SAA4BJ,GACjC,GAAIL,EAEF,OADAN,EAAM,kGAAmGG,EAASQ,IAC3G,EAET,IACE,IAAIK,EACJ,MAAMC,EAAkE,QAAxDD,EAAyBJ,EAAUR,UAAwD,IAA3BY,OAAoC,EAASA,EAAuBN,gBAAgBC,GACpK,MAAsB,kBAAXM,GAETf,QAAQgB,KAAK,GAAGP,kEACT,GAEFM,CACT,CAAE,MAAOE,GACP,OAAO,CACT,CACF,CCvCS,CAAmBJ,EAC5B,CDUAH,EAAUR,GAAkBQ,EAAUR,IAAmBG,C,0EE5BlD,MAAMa,EAAU,qBACVC,EAAqB,QACrBC,EAAc,CAAC,QAAS,QCFtB,SAASC,EAAS7D,GAC/B,GAAIA,GAASA,EAAM8D,MAAO,CAExB,GAAIJ,KAAW1D,EAAM8D,MACnB,OAAO9D,EAAM8D,MAAMJ,GAGhB,GAAI,SAAU1D,EAAM8D,OAASF,EAAYG,SAAS/D,EAAM8D,MAAME,MACjE,OAAOhE,EAAM8D,KAEjB,CAEA,MAAO,CACLE,KAAML,EAEV,CCGe,SAASM,EAAOC,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAlBoBE,EAkBEF,EAlBWG,EAkBKF,EAjBjCnE,IACL,MAAM8D,EAAQD,EAAS7D,GACvB,GAAIA,GAASA,EAAMoE,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAASrE,EAAMoE,IAC7B,GAAIE,GAASA,EAAMR,EAAME,MAAO,CAC9B,MAAMpD,EAAQ0D,EAAMR,EAAME,MAC1B,GAAIpD,EACF,OAAOA,CAEX,CACF,CAEA,MAAO,EAAE,EAbb,IAAwBwD,EAAaC,EAoBnC,MAAMC,EAAQJ,EACd,OAAOlE,IAEL,MAAM8D,EAAQD,EAAS7D,GAEvB,GAAI8D,EAAME,QAAQM,EAAO,CACvB,MAAM1D,EAAQ0D,EAAMR,EAAME,MAC1B,GAAIpD,EACF,OAAOA,CAEX,CACA,MAAO,EAAE,CAEb,CChCO,MAIM2D,EAAO,UASPC,EAAO,UASPC,EAAO,UAOP,EAAO,UACPC,EAAO,UAEPC,EAAO,UAsBPC,EAAK,UAWLC,EAAO,UAMPC,EAAO,UA4BPC,EAAQ,UAGRC,EAAQ,UAORC,EAAO,UAgCMhB,EAAO,CAC/BiB,MAAO,qBAAqBN,KAC5BO,KAAM,+BAMwBlB,EAAO,CACrCiB,MAAO,yCACPC,KAAM,2CAMuBlB,EAAO,CACpCiB,MAAO,gDACPC,KAAM,kDAMyBlB,EAAO,CACtCiB,MAAO,6BAA6BN,KACpCO,KAAM,6BAA6BF,OAMjBhB,EAAO,CACzBiB,MAAO,0BACPC,KAAM,kBAAkBJ,OAMDd,EAAO,CAC9BiB,MAAO,kBAAkBJ,KACzBK,KAAM,kBAAkBJ,OAMAd,EAAO,CAC/BiB,MAAO,2BAA2BP,KAClCQ,KAAM,2BAA2BR,OAMTV,EAAO,CAC/BiB,MAAO,2BAA2BL,KAClCM,KAAM,2BAA2BH,OAMJf,EAAO,CACpCiB,MAAO,2BAA2BL,KAClCM,KAAM,qCAMelB,EAAO,CAC5BiB,MAAO,kBAAkBJ,KACzBK,KAAM,kBAAkBJ,OAMGd,EAAO,CAClCiB,MAAO,2BAA2BL,KAClCM,KAAM,2BAA2BH,OAEVf,EAAO,CAC9BiB,MA1KiB,UA2KjBC,KAAMF,IAMYhB,EAAO,CACzBiB,MAAO,kBAAkBP,KACzBQ,KAAM,kBAAkB,OAMDlB,EAAO,CAC9BiB,MAAO,kCACPC,KAAM,0BAA0BT,OAMRT,EAAO,CAC/BiB,MAAO,kCACPC,KAAM,0BAA0B,OAMPlB,EAAO,CAChCiB,MAAO,4BAA4B,KACnCC,KAAM,4BAA4BT,OAMbT,EAAO,CAC5BiB,MAAO,mCAAmCP,KAC1CQ,KAAM,mCAAmC,OAEvBlB,EAAO,CACzBiB,MAAOP,EACPQ,KAAM,IAEYlB,EAAO,CACzBiB,MAjOkB,UAkOlBC,KAnOkB,YAqOElB,EAAO,CAC3BiB,MA9OkB,UA+OlBC,KAjPkB,YAmPDlB,EAAO,CACxBiB,MAAOX,EACPY,KAAMZ,IAEcN,EAAO,CAC3BiB,MAAOV,EACPW,KAAMX,IAEaP,EAAO,CAC1BiB,MAAOT,EACPU,KAAMV,ICrSR,MAAM,SACJW,EAAQ,SACRC,EAAQ,SACRC,GCIK,SAAqBC,GAC1B,MAAMC,EAAe,CAACC,EAAWzF,IAAUyF,EAAUzF,GAS/C0F,GAA4B,IAAAC,eAAcJ,GAChD,SAASD,EAASM,GAIhB,QAHc,IAAApE,YAAWkE,IACAF,GACFI,EAEzB,CAiCA,MAAO,CACLP,SA9BF,SAAkBrF,GAChB,MAAM,SACJW,KACGiF,GACD5F,EAIE6F,EAASP,EAASM,GAGxB,OAAoB,gBAAoB,WAAgB,KAAMjF,EAASkF,GACzE,EAmBET,SAVF,SAAkBpF,GAChB,MAAM8F,GAAU,IAAAtE,YAAWkE,GACrBK,EAAU/F,EAAMY,OAAS4E,EACzBQ,GAAU,IAAA9E,cAAY0E,GAAcG,EAAQD,EAASF,IAAa,CAACE,EAASC,IAClF,OAAoB,gBAAoBL,EAAaN,SAAU,CAC7DxE,MAAOoF,GACNhG,EAAMW,SACX,EAIE2E,WAEJ,CDzDIW,EAAY,KAAM,CACpBjC,KAAM,YERKkC,EAAc,CACzBC,OAAQ,EACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,ICgBJC,GAAS,IAAAC,WAAU,CACvBC,GAAI,CACFC,UAAW,oBAGTC,GAAe,IAAAC,KAAI,CACvBC,UAAW,GAAGN,mBACdO,wBAAyB,qCACzBC,gBAAiB,WASbC,GAAS,IAAAR,WAAU,CACvBS,KAAM,CACJP,UAAW,gBACXQ,QAAS,EACTC,iBAAkB,IAEpBV,GAAI,CACFC,UAAW,iBACXQ,QAAS,EACTC,iBAAkB,MAGhBC,GAAe,IAAAR,KAAI,CACvBC,UAAW,GAAGG,mBAKdK,kBAAmB,WAKnBH,QAAS,IAELI,GAAgB,IAAAV,KAAI,CACxBW,QAAS,cAKTC,cAAe,WAEXC,GAAe,IAAAb,KAAI,CACvBc,KAAM,OACNC,gBAAiB,GACjBR,iBAAkB,UAClBS,cAAe,QACfC,YAAa,IACb,4CAA6C,CAC3CC,OAAQ,kBACRC,OAAQ,gBAGZ,EAA4B,OAAyB,cAAiB,UAAiB,OACrFC,EAAM,WACNC,EAAa,UAAS,MACtBC,EAAQ,EACRC,KAAMC,EAAe,UACpB5G,GACD,MAAM2G,EAA+B,iBAAjBC,EAA4BA,EAAenC,EAAYmC,GACrEC,EAAiB,GAAGH,OACpB,KACJnE,GACE,IACEgE,EAnFR,UAAwB,KACtBhE,EAAI,WACJkE,IAEA,MAAa,UAATlE,EACoB,YAAfkE,EAA2B,iCAAmC,0BAA0BtD,KAG3E,YAAfsD,EAA2B,iCAAoC,iCACxE,CA0EiBK,CAAe,CAC5BvE,OACAkE,eAOF,OAAO,IAAAM,KAAI,OAAQ,CASjB3B,IAAK,CAACU,EAAeX,GACrB,cAAeqB,GAAU,GAAGA,YAC5BQ,MAAO,CACLH,iBACAI,MAAON,EACPO,OAAQP,KAET,IAAAI,KAAI,MAAO,CACZG,OAAQP,EACRM,MAAON,EACPQ,QAAS,YACTC,MAAO,6BACP,cAAeZ,EACfxG,IAAKA,EACLoF,IAAKQ,EACLoB,MAAO,CACLH,oBAED,IAAAE,KAAI,SAAU,CACfM,GAAI,IACJC,GAAI,IACJC,EAAG,IACHnC,IAAKa,EACLe,MAAO,CACLT,aAGN,I,+BCxIA,IAAIiB,EAAyB,EAAQ,OAErCC,EAAQC,YAAa,EACrBD,EAAA,QAIA,SAAkBE,EAASC,GACrBD,EAAQE,UAAWF,EAAQE,UAAUC,IAAIF,IAAqB,EAAIG,EAAUC,SAASL,EAASC,KAA6C,iBAAtBD,EAAQC,UAAwBD,EAAQC,UAAYD,EAAQC,UAAY,IAAMA,EAAeD,EAAQM,aAAa,SAAUN,EAAQC,WAAaD,EAAQC,UAAUM,SAAW,IAAM,IAAMN,GACrT,EAJA,IAAIG,EAAYP,EAAuB,EAAQ,QAM/CW,EAAOV,QAAUA,EAAiB,O,6BCXlCA,EAAQC,YAAa,EACrBD,EAAA,QAEA,SAAkBE,EAASC,GACzB,OAAID,EAAQE,YAAoBD,GAAaD,EAAQE,UAAUO,SAASR,IAA0H,KAAlG,KAAOD,EAAQC,UAAUM,SAAWP,EAAQC,WAAa,KAAKS,QAAQ,IAAMT,EAAY,IAC1L,EAEAO,EAAOV,QAAUA,EAAiB,O,yBCPlC,SAASa,EAAiBC,EAAWC,GACnC,OAAOD,EAAUE,QAAQ,IAAIC,OAAO,UAAYF,EAAgB,YAAa,KAAM,MAAMC,QAAQ,OAAQ,KAAKA,QAAQ,aAAc,GACtI,CAEAN,EAAOV,QAAU,SAAqBE,EAASC,GACzCD,EAAQE,UAAWF,EAAQE,UAAUc,OAAOf,GAAiD,iBAAtBD,EAAQC,UAAwBD,EAAQC,UAAYU,EAAiBX,EAAQC,UAAWA,GAAgBD,EAAQM,aAAa,QAASK,EAAiBX,EAAQC,WAAaD,EAAQC,UAAUM,SAAW,GAAIN,GAC1R,C,8BCNAH,EAAQC,YAAa,EACrBD,EAAA,aAAkB,EAgBlB,SAAiCmB,GAAO,GAAIA,GAAOA,EAAIlB,WAAc,OAAOkB,EAAc,IAAIC,EAAS,CAAC,EAAG,GAAW,MAAPD,EAAe,IAAK,IAAIE,KAAOF,EAAO,GAAIG,OAAOC,UAAUC,eAAeC,KAAKN,EAAKE,GAAM,CAAE,IAAIK,EAAOJ,OAAOK,gBAAkBL,OAAOM,yBAA2BN,OAAOM,yBAAyBT,EAAKE,GAAO,CAAC,EAAOK,EAAKG,KAAOH,EAAKI,IAAOR,OAAOK,eAAeP,EAAQC,EAAKK,GAAgBN,EAAOC,GAAOF,EAAIE,EAAQ,CAAMD,EAAOb,QAAUY,CAAsB,CAdvcY,CAAwB,EAAQ,QAAhD,IAEIC,EAAYjC,EAAuB,EAAQ,QAE3CkC,EAAelC,EAAuB,EAAQ,QAE9CmC,EAASnC,EAAuB,EAAQ,QAExCoC,EAAcpC,EAAuB,EAAQ,QAIjD,SAASA,EAAuBoB,GAAO,OAAOA,GAAOA,EAAIlB,WAAakB,EAAM,CAAEZ,QAASY,EAAO,CAI9F,SAASiB,IAA2Q,OAA9PA,EAAWd,OAAOe,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAIlB,KAAOqB,EAAcpB,OAAOC,UAAUC,eAAeC,KAAKiB,EAAQrB,KAAQiB,EAAOjB,GAAOqB,EAAOrB,GAAU,CAAE,OAAOiB,CAAQ,EAAUF,EAASO,MAAM3L,KAAMwL,UAAY,CAN3S,EAAQ,OAUzB,IAAII,EAAW,SAAkBC,EAAMC,GACrC,OAAOD,GAAQC,GAAWA,EAAQC,MAAM,KAAKC,SAAQ,SAAUC,GAC7D,OAAO,EAAIjB,EAAUzB,SAASsC,EAAMI,EACtC,GACF,EAEIC,EAAc,SAAqBL,EAAMC,GAC3C,OAAOD,GAAQC,GAAWA,EAAQC,MAAM,KAAKC,SAAQ,SAAUC,GAC7D,OAAO,EAAIhB,EAAa1B,SAASsC,EAAMI,EACzC,GACF,EA+DIE,EAEJ,SAAUC,GA7EV,IAAwBC,EAAUC,EAgFhC,SAASH,IAGP,IAFA,IAAII,EAEKC,EAAOhB,UAAUC,OAAQpJ,EAAO,IAAIoK,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ErK,EAAKqK,GAAQlB,UAAUkB,GAkGzB,OA/FAH,EAAQH,EAAiB3B,KAAKkB,MAAMS,EAAkB,CAACpM,MAAM2M,OAAOtK,KAAUrC,MAExE4M,QAAU,SAAUf,EAAMgB,GAC9B,IACI1D,EADsBoD,EAAMO,cAAcD,EAAY,SAAW,SACjC1D,UAEpCoD,EAAMQ,cAAclB,EAAM,QAE1BD,EAASC,EAAM1C,GAEXoD,EAAMzM,MAAM8M,SACdL,EAAMzM,MAAM8M,QAAQf,EAAMgB,EAE9B,EAEAN,EAAMS,WAAa,SAAUnB,EAAMgB,GACjC,IACII,EADuBV,EAAMO,cAAcD,EAAY,SAAW,SAC3BI,gBAE3CV,EAAMW,kBAAkBrB,EAAMoB,GAE1BV,EAAMzM,MAAMkN,YACdT,EAAMzM,MAAMkN,WAAWnB,EAAMgB,EAEjC,EAEAN,EAAMY,UAAY,SAAUtB,EAAMgB,GAChC,IAAIO,EAAkBb,EAAMO,cAAc,UAAUO,cAEhDC,EAAiBf,EAAMO,cAAc,SAASO,cAE9CA,EAAgBR,EAAYO,EAAkB,IAAME,EAAiBA,EAEzEf,EAAMQ,cAAclB,EAAMgB,EAAY,SAAW,SAEjDjB,EAASC,EAAMwB,GAEXd,EAAMzM,MAAMqN,WACdZ,EAAMzM,MAAMqN,UAAUtB,EAAMgB,EAEhC,EAEAN,EAAMgB,OAAS,SAAU1B,GACvB,IACI1C,EADuBoD,EAAMO,cAAc,QACV3D,UAErCoD,EAAMQ,cAAclB,EAAM,UAE1BU,EAAMQ,cAAclB,EAAM,SAE1BD,EAASC,EAAM1C,GAEXoD,EAAMzM,MAAMyN,QACdhB,EAAMzM,MAAMyN,OAAO1B,EAEvB,EAEAU,EAAMiB,UAAY,SAAU3B,GAC1B,IACIoB,EADuBV,EAAMO,cAAc,QACJG,gBAE3CV,EAAMW,kBAAkBrB,EAAMoB,GAE1BV,EAAMzM,MAAM0N,WACdjB,EAAMzM,MAAM0N,UAAU3B,EAE1B,EAEAU,EAAMkB,SAAW,SAAU5B,GACzB,IACIwB,EADuBd,EAAMO,cAAc,QACNO,cAEzCd,EAAMQ,cAAclB,EAAM,QAE1BD,EAASC,EAAMwB,GAEXd,EAAMzM,MAAM2N,UACdlB,EAAMzM,MAAM2N,SAAS5B,EAEzB,EAEAU,EAAMO,cAAgB,SAAUY,GAC9B,IAAIC,EAAapB,EAAMzM,MAAM6N,WACzBC,EAA2C,iBAAfD,EAE5BxE,EAAYyE,GADHA,GAAsBD,EAAaA,EAAa,IAAM,IACrBD,EAAOC,EAAWD,GAGhE,MAAO,CACLvE,UAAWA,EACX8D,gBAJoBW,EAAqBzE,EAAY,UAAYwE,EAAWD,EAAO,UAKnFL,cAJkBO,EAAqBzE,EAAY,QAAUwE,EAAWD,EAAO,QAMnF,EAEOnB,CACT,CAvLgCD,EA8EFF,GA9ERC,EA8EPF,GA9EwC5B,UAAYD,OAAOuD,OAAOvB,EAAW/B,WAAY8B,EAAS9B,UAAU1K,YAAcwM,EAAUA,EAASyB,UAAYxB,EAyLxK,IAAIyB,EAAS5B,EAAc5B,UAuC3B,OArCAwD,EAAOhB,cAAgB,SAAuBlB,EAAM6B,GAClD,IAAIM,EAAuBhO,KAAK8M,cAAcY,GAC1CvE,EAAY6E,EAAqB7E,UACjC8D,EAAkBe,EAAqBf,gBACvCI,EAAgBW,EAAqBX,cAEzClE,GAAa+C,EAAYL,EAAM1C,GAC/B8D,GAAmBf,EAAYL,EAAMoB,GACrCI,GAAiBnB,EAAYL,EAAMwB,EACrC,EAEAU,EAAOb,kBAAoB,SAA2BrB,EAAM1C,GAGtDA,IAEF0C,GAAQA,EAAKoC,UAGbrC,EAASC,EAAM1C,GAEnB,EAEA4E,EAAOvN,OAAS,WACd,IAAIV,EAAQsL,EAAS,CAAC,EAAGpL,KAAKF,OAG9B,cADOA,EAAM6N,WACNzC,EAAO3B,QAAQ2E,cAAc/C,EAAY5B,QAAS6B,EAAS,CAAC,EAAGtL,EAAO,CAC3E8M,QAAS5M,KAAK4M,QACdO,UAAWnN,KAAKmN,UAChBH,WAAYhN,KAAKgN,WACjBO,OAAQvN,KAAKuN,OACbC,UAAWxN,KAAKwN,UAChBC,SAAUzN,KAAKyN,WAEnB,EAEOtB,CACT,CApJA,CAoJEjB,EAAO3B,QAAQ3J,WAEjBuM,EAAcgC,aAAe,CAC3BR,WAAY,IAEdxB,EAAciC,UA2GT,CAAC,EACN,IAAIC,EAAWlC,EACfnD,EAAA,QAAkBqF,EAClB3E,EAAOV,QAAUA,EAAiB,O,+BCzWlCA,EAAQC,YAAa,EACrBD,EAAA,aAAkB,EAEDD,EAAuB,EAAQ,QAAhD,IAEImC,EAASnC,EAAuB,EAAQ,QAExCuF,EAAY,EAAQ,OAEpBC,EAAmBxF,EAAuB,EAAQ,OAEtD,SAASA,EAAuBoB,GAAO,OAAOA,GAAOA,EAAIlB,WAAakB,EAAM,CAAEZ,QAASY,EAAO,CAiB9F,IAAIqE,EAEJ,SAAUpC,GAfV,IAAwBC,EAAUC,EAkBhC,SAASkC,IAGP,IAFA,IAAIjC,EAEKC,EAAOhB,UAAUC,OAAQgD,EAAQ,IAAIhC,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAChF+B,EAAM/B,GAAQlB,UAAUkB,GAqD1B,OAlDAH,EAAQH,EAAiB3B,KAAKkB,MAAMS,EAAkB,CAACpM,MAAM2M,OAAO8B,KAAWzO,MAEzE0O,YAAc,WAClB,IAAK,IAAIC,EAAQnD,UAAUC,OAAQpJ,EAAO,IAAIoK,MAAMkC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFvM,EAAKuM,GAASpD,UAAUoD,GAG1B,OAAOrC,EAAMsC,gBAAgB,UAAW,EAAGxM,EAC7C,EAEAkK,EAAMuC,eAAiB,WACrB,IAAK,IAAIC,EAAQvD,UAAUC,OAAQpJ,EAAO,IAAIoK,MAAMsC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF3M,EAAK2M,GAASxD,UAAUwD,GAG1B,OAAOzC,EAAMsC,gBAAgB,aAAc,EAAGxM,EAChD,EAEAkK,EAAM0C,cAAgB,WACpB,IAAK,IAAIC,EAAQ1D,UAAUC,OAAQpJ,EAAO,IAAIoK,MAAMyC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF9M,EAAK8M,GAAS3D,UAAU2D,GAG1B,OAAO5C,EAAMsC,gBAAgB,YAAa,EAAGxM,EAC/C,EAEAkK,EAAM6C,WAAa,WACjB,IAAK,IAAIC,EAAQ7D,UAAUC,OAAQpJ,EAAO,IAAIoK,MAAM4C,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFjN,EAAKiN,GAAS9D,UAAU8D,GAG1B,OAAO/C,EAAMsC,gBAAgB,SAAU,EAAGxM,EAC5C,EAEAkK,EAAMgD,cAAgB,WACpB,IAAK,IAAIC,EAAQhE,UAAUC,OAAQpJ,EAAO,IAAIoK,MAAM+C,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFpN,EAAKoN,GAASjE,UAAUiE,GAG1B,OAAOlD,EAAMsC,gBAAgB,YAAa,EAAGxM,EAC/C,EAEAkK,EAAMmD,aAAe,WACnB,IAAK,IAAIC,EAAQnE,UAAUC,OAAQpJ,EAAO,IAAIoK,MAAMkD,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFvN,EAAKuN,GAASpE,UAAUoE,GAG1B,OAAOrD,EAAMsC,gBAAgB,WAAY,EAAGxM,EAC9C,EAEOkK,CACT,CA5EgCD,EAgBEF,GAhBZC,EAgBPmC,GAhBwCjE,UAAYD,OAAOuD,OAAOvB,EAAW/B,WAAY8B,EAAS9B,UAAU1K,YAAcwM,EAAUA,EAASyB,UAAYxB,EA8ExK,IAAIyB,EAASS,EAAkBjE,UA0C/B,OAxCAwD,EAAOc,gBAAkB,SAAyBgB,EAASC,EAAKC,GAC9D,IAAIC,EAEAvP,EAAWT,KAAKF,MAAMW,SAEtBwP,EAAQ/E,EAAO3B,QAAQ2G,SAASC,QAAQ1P,GAAUqP,GAElDG,EAAMnQ,MAAM+P,KAAWG,EAAeC,EAAMnQ,OAAO+P,GAASlE,MAAMqE,EAAcD,GAChF/P,KAAKF,MAAM+P,IAAU7P,KAAKF,MAAM+P,IAAS,EAAIvB,EAAU8B,aAAapQ,MAC1E,EAEA+N,EAAOvN,OAAS,WACd,IAAI6P,EAAcrQ,KAAKF,MACnBW,EAAW4P,EAAY5P,SACvB6P,EAASD,EAAYE,GACrBzQ,EAjGR,SAAuC4L,EAAQ8E,GAAY,GAAc,MAAV9E,EAAgB,MAAO,CAAC,EAAG,IAA2DrB,EAAKkB,EAA5DD,EAAS,CAAC,EAAOmF,EAAanG,OAAOoG,KAAKhF,GAAqB,IAAKH,EAAI,EAAGA,EAAIkF,EAAWhF,OAAQF,IAAOlB,EAAMoG,EAAWlF,GAAQiF,EAAS5G,QAAQS,IAAQ,IAAaiB,EAAOjB,GAAOqB,EAAOrB,IAAQ,OAAOiB,CAAQ,CAiGlSqF,CAA8BN,EAAa,CAAC,WAAY,OAEhEO,EAAwB1F,EAAO3B,QAAQ2G,SAASC,QAAQ1P,GACxDoQ,EAAQD,EAAsB,GAC9BE,EAASF,EAAsB,GAQnC,cANO9Q,EAAM8M,eACN9M,EAAMkN,kBACNlN,EAAMqN,iBACNrN,EAAMyN,cACNzN,EAAM0N,iBACN1N,EAAM2N,SACNvC,EAAO3B,QAAQ2E,cAAcK,EAAiBhF,QAASzJ,EAAOwQ,EAASpF,EAAO3B,QAAQwH,aAAaF,EAAO,CAC/GxG,IAAK,QACLuC,QAAS5M,KAAK0O,YACd1B,WAAYhN,KAAK8O,eACjB3B,UAAWnN,KAAKiP,gBACb/D,EAAO3B,QAAQwH,aAAaD,EAAQ,CACvCzG,IAAK,SACLuC,QAAS5M,KAAKoP,WACdpC,WAAYhN,KAAKuP,cACjBpC,UAAWnN,KAAK0P,eAEpB,EAEOlB,CACT,CA1GA,CA0GEtD,EAAO3B,QAAQ3J,WAEjB4O,EAAkBJ,UAMd,CAAC,EACL,IAAIC,EAAWG,EACfxF,EAAA,QAAkBqF,EAClB3E,EAAOV,QAAUA,EAAiB,O,+BCnJlCA,EAAQC,YAAa,EACrBD,EAAA,QAAkBA,EAAQgI,QAAUhI,EAAQiI,QAAUjI,EAAQkI,SAAWlI,EAAQmI,OAASnI,EAAQoI,eAAY,EAE9G,IAAIC,EAYJ,SAAiClH,GAAO,GAAIA,GAAOA,EAAIlB,WAAc,OAAOkB,EAAc,IAAIC,EAAS,CAAC,EAAG,GAAW,MAAPD,EAAe,IAAK,IAAIE,KAAOF,EAAO,GAAIG,OAAOC,UAAUC,eAAeC,KAAKN,EAAKE,GAAM,CAAE,IAAIK,EAAOJ,OAAOK,gBAAkBL,OAAOM,yBAA2BN,OAAOM,yBAAyBT,EAAKE,GAAO,CAAC,EAAOK,EAAKG,KAAOH,EAAKI,IAAOR,OAAOK,eAAeP,EAAQC,EAAKK,GAAgBN,EAAOC,GAAOF,EAAIE,EAAQ,CAA4B,OAAtBD,EAAOb,QAAUY,EAAYC,CAAU,CAZvcW,CAAwB,EAAQ,QAE5CG,EAASnC,EAAuB,EAAQ,QAExCuF,EAAYvF,EAAuB,EAAQ,QAE3CuI,EAAyB,EAAQ,OAIrC,SAASvI,EAAuBoB,GAAO,OAAOA,GAAOA,EAAIlB,WAAakB,EAAM,CAAEZ,QAASY,EAAO,CAF7E,EAAQ,OAUzB,IAAIiH,EAAY,YAChBpI,EAAQoI,UAAYA,EACpB,IAAID,EAAS,SACbnI,EAAQmI,OAASA,EACjB,IAAID,EAAW,WACflI,EAAQkI,SAAWA,EACnB,IAAID,EAAU,UACdjI,EAAQiI,QAAUA,EAClB,IAAID,EAAU,UA2FdhI,EAAQgI,QAAUA,EAElB,IAAIO,EAEJ,SAAUnF,GAzGV,IAAwBC,EAAUC,EA4GhC,SAASiF,EAAWzR,EAAOM,GACzB,IAAImM,EAEJA,EAAQH,EAAiB3B,KAAKzK,KAAMF,EAAOM,IAAYJ,KACvD,IAGIwR,EAHAC,EAAcrR,EAAQsR,gBAEtBC,EAASF,IAAgBA,EAAYG,WAAa9R,EAAM+R,MAAQ/R,EAAM6R,OAuB1E,OArBApF,EAAMuF,aAAe,KAEjBhS,EAAMyQ,GACJoB,GACFH,EAAgBL,EAChB5E,EAAMuF,aAAeZ,GAErBM,EAAgBP,EAIhBO,EADE1R,EAAMiS,eAAiBjS,EAAMkS,aACfZ,EAEAD,EAIpB5E,EAAM0F,MAAQ,CACZC,OAAQV,GAEVjF,EAAM4F,aAAe,KACd5F,CACT,CA1IgCD,EA0GLF,GA1GLC,EA0GPkF,GA1GwChH,UAAYD,OAAOuD,OAAOvB,EAAW/B,WAAY8B,EAAS9B,UAAU1K,YAAcwM,EAAUA,EAASyB,UAAYxB,EA4IxK,IAAIyB,EAASwD,EAAWhH,UAqQxB,OAnQAwD,EAAOqE,gBAAkB,WACvB,MAAO,CACLV,gBAAiB,KAGrB,EAEAH,EAAWc,yBAA2B,SAAkC5Q,EAAM6Q,GAG5E,OAFa7Q,EAAK8O,IAEJ+B,EAAUJ,SAAWd,EAC1B,CACLc,OAAQf,GAIL,IACT,EAkBApD,EAAOwE,kBAAoB,WACzBvS,KAAKwS,cAAa,EAAMxS,KAAK8R,aAC/B,EAEA/D,EAAO0E,mBAAqB,SAA4BC,GACtD,IAAIC,EAAa,KAEjB,GAAID,IAAc1S,KAAKF,MAAO,CAC5B,IAAIoS,EAASlS,KAAKiS,MAAMC,OAEpBlS,KAAKF,MAAMyQ,GACT2B,IAAWhB,GAAYgB,IAAWjB,IACpC0B,EAAazB,GAGXgB,IAAWhB,GAAYgB,IAAWjB,IACpC0B,EAAa3B,EAGnB,CAEAhR,KAAKwS,cAAa,EAAOG,EAC3B,EAEA5E,EAAO6E,qBAAuB,WAC5B5S,KAAK6S,oBACP,EAEA9E,EAAO+E,YAAc,WACnB,IACIC,EAAMlB,EAAOF,EADbqB,EAAUhT,KAAKF,MAAMkT,QAWzB,OATAD,EAAOlB,EAAQF,EAASqB,EAET,MAAXA,GAAsC,iBAAZA,IAC5BD,EAAOC,EAAQD,KACflB,EAAQmB,EAAQnB,MAEhBF,OAA4B7P,IAAnBkR,EAAQrB,OAAuBqB,EAAQrB,OAASE,GAGpD,CACLkB,KAAMA,EACNlB,MAAOA,EACPF,OAAQA,EAEZ,EAEA5D,EAAOyE,aAAe,SAAsBS,EAAUN,GAKpD,QAJiB,IAAbM,IACFA,GAAW,GAGM,OAAfN,EAAqB,CAEvB3S,KAAK6S,qBAEL,IAAIhH,EAAOyC,EAAU/E,QAAQ6G,YAAYpQ,MAErC2S,IAAezB,EACjBlR,KAAKkT,aAAarH,EAAMoH,GAExBjT,KAAKmT,YAAYtH,EAErB,MAAW7L,KAAKF,MAAMiS,eAAiB/R,KAAKiS,MAAMC,SAAWf,GAC3DnR,KAAKoT,SAAS,CACZlB,OAAQd,GAGd,EAEArD,EAAOmF,aAAe,SAAsBrH,EAAMoH,GAChD,IAAII,EAASrT,KAET6R,EAAQ7R,KAAKF,MAAM+R,MACnBhF,EAAY7M,KAAKI,QAAQsR,gBAAkB1R,KAAKI,QAAQsR,gBAAgBE,WAAaqB,EACrFK,EAAWtT,KAAK8S,cAChBS,EAAe1G,EAAYyG,EAAS3B,OAAS2B,EAASzB,MAGrDoB,GAAapB,GASlB7R,KAAKF,MAAM8M,QAAQf,EAAMgB,GACzB7M,KAAKwT,aAAa,CAChBtB,OAAQhB,IACP,WACDmC,EAAOvT,MAAMkN,WAAWnB,EAAMgB,GAE9BwG,EAAOI,gBAAgB5H,EAAM0H,GAAc,WACzCF,EAAOG,aAAa,CAClBtB,OAAQjB,IACP,WACDoC,EAAOvT,MAAMqN,UAAUtB,EAAMgB,EAC/B,GACF,GACF,KArBE7M,KAAKwT,aAAa,CAChBtB,OAAQjB,IACP,WACDoC,EAAOvT,MAAMqN,UAAUtB,EACzB,GAkBJ,EAEAkC,EAAOoF,YAAc,SAAqBtH,GACxC,IAAI6H,EAAS1T,KAET+S,EAAO/S,KAAKF,MAAMiT,KAClBO,EAAWtT,KAAK8S,cAEfC,GASL/S,KAAKF,MAAMyN,OAAO1B,GAClB7L,KAAKwT,aAAa,CAChBtB,OAAQlB,IACP,WACD0C,EAAO5T,MAAM0N,UAAU3B,GAEvB6H,EAAOD,gBAAgB5H,EAAMyH,EAASP,MAAM,WAC1CW,EAAOF,aAAa,CAClBtB,OAAQf,IACP,WACDuC,EAAO5T,MAAM2N,SAAS5B,EACxB,GACF,GACF,KArBE7L,KAAKwT,aAAa,CAChBtB,OAAQf,IACP,WACDuC,EAAO5T,MAAM2N,SAAS5B,EACxB,GAkBJ,EAEAkC,EAAO8E,mBAAqB,WACA,OAAtB7S,KAAKmS,eACPnS,KAAKmS,aAAawB,SAClB3T,KAAKmS,aAAe,KAExB,EAEApE,EAAOyF,aAAe,SAAsBI,EAAWC,GAIrDA,EAAW7T,KAAK8T,gBAAgBD,GAChC7T,KAAKoT,SAASQ,EAAWC,EAC3B,EAEA9F,EAAO+F,gBAAkB,SAAyBD,GAChD,IAAIE,EAAS/T,KAETgU,GAAS,EAcb,OAZAhU,KAAKmS,aAAe,SAAU9R,GACxB2T,IACFA,GAAS,EACTD,EAAO5B,aAAe,KACtB0B,EAASxT,GAEb,EAEAL,KAAKmS,aAAawB,OAAS,WACzBK,GAAS,CACX,EAEOhU,KAAKmS,YACd,EAEApE,EAAO0F,gBAAkB,SAAyB5H,EAAMmH,EAASnD,GAC/D7P,KAAK8T,gBAAgBjE,GACrB,IAAIoE,EAA0C,MAAXjB,IAAoBhT,KAAKF,MAAMoU,eAE7DrI,IAAQoI,GAKTjU,KAAKF,MAAMoU,gBACblU,KAAKF,MAAMoU,eAAerI,EAAM7L,KAAKmS,cAGxB,MAAXa,GACFmB,WAAWnU,KAAKmS,aAAca,IAT9BmB,WAAWnU,KAAKmS,aAAc,EAWlC,EAEApE,EAAOvN,OAAS,WACd,IAAI0R,EAASlS,KAAKiS,MAAMC,OAExB,GAAIA,IAAWd,EACb,OAAO,KAGT,IAAIf,EAAcrQ,KAAKF,MACnBW,EAAW4P,EAAY5P,SACvB2T,EAxXR,SAAuC1I,EAAQ8E,GAAY,GAAc,MAAV9E,EAAgB,MAAO,CAAC,EAAG,IAA2DrB,EAAKkB,EAA5DD,EAAS,CAAC,EAAOmF,EAAanG,OAAOoG,KAAKhF,GAAqB,IAAKH,EAAI,EAAGA,EAAIkF,EAAWhF,OAAQF,IAAOlB,EAAMoG,EAAWlF,GAAQiF,EAAS5G,QAAQS,IAAQ,IAAaiB,EAAOjB,GAAOqB,EAAOrB,IAAQ,OAAOiB,CAAQ,CAwX7RqF,CAA8BN,EAAa,CAAC,aAkB7D,UAfO+D,EAAW7D,UACX6D,EAAWpC,oBACXoC,EAAWrC,qBACXqC,EAAWzC,cACXyC,EAAWvC,aACXuC,EAAWrB,YACXqB,EAAWpB,eACXoB,EAAWF,sBACXE,EAAWxH,eACXwH,EAAWpH,kBACXoH,EAAWjH,iBACXiH,EAAW7G,cACX6G,EAAW5G,iBACX4G,EAAW3G,SAEM,mBAAbhN,EACT,OAAOA,EAASyR,EAAQkC,GAG1B,IAAInE,EAAQ/E,EAAO3B,QAAQ2G,SAASmE,KAAK5T,GAEzC,OAAOyK,EAAO3B,QAAQwH,aAAad,EAAOmE,EAC5C,EAEO7C,CACT,CAzSA,CAySErG,EAAO3B,QAAQ3J,WAiKjB,SAASF,IAAQ,CA/JjB6R,EAAW+C,aAAe,CACxB5C,gBAAiBL,EAAUkD,QAE7BhD,EAAWiD,kBAAoB,CAC7B9C,gBAAiB,WAA4B,GAE/CH,EAAWnD,UAuJP,CAAC,EAILmD,EAAWpD,aAAe,CACxBoC,IAAI,EACJyB,cAAc,EACdD,eAAe,EACfJ,QAAQ,EACRE,OAAO,EACPkB,MAAM,EACNnG,QAASlN,EACTsN,WAAYtN,EACZyN,UAAWzN,EACX6N,OAAQ7N,EACR8N,UAAW9N,EACX+N,SAAU/N,GAEZ6R,EAAWH,UAAY,EACvBG,EAAWJ,OAAS,EACpBI,EAAWL,SAAW,EACtBK,EAAWN,QAAU,EACrBM,EAAWP,QAAU,EAErB,IAAI3C,GAAW,EAAIiD,EAAuBmD,UAAUlD,GAEpDvI,EAAA,QAAkBqF,C,8BC9lBlBrF,EAAQC,YAAa,EACrBD,EAAA,aAAkB,EAElB,IAAI0L,EAAa3L,EAAuB,EAAQ,QAE5CmC,EAASnC,EAAuB,EAAQ,QAExCuI,EAAyB,EAAQ,OAEjCqD,EAAgB,EAAQ,OAE5B,SAAS5L,EAAuBoB,GAAO,OAAOA,GAAOA,EAAIlB,WAAakB,EAAM,CAAEZ,QAASY,EAAO,CAI9F,SAASiB,IAA2Q,OAA9PA,EAAWd,OAAOe,QAAU,SAAUC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIG,EAASF,UAAUD,GAAI,IAAK,IAAIlB,KAAOqB,EAAcpB,OAAOC,UAAUC,eAAeC,KAAKiB,EAAQrB,KAAQiB,EAAOjB,GAAOqB,EAAOrB,GAAU,CAAE,OAAOiB,CAAQ,EAAUF,EAASO,MAAM3L,KAAMwL,UAAY,CAI5T,SAASoJ,EAAuBC,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIC,eAAe,6DAAgE,OAAOD,CAAM,CAErK,IAAIE,EAASzK,OAAOyK,QAAU,SAAU5K,GACtC,OAAOG,OAAOoG,KAAKvG,GAAK6K,KAAI,SAAUC,GACpC,OAAO9K,EAAI8K,EACb,GACF,EAwBIC,EAEJ,SAAU9I,GAlCV,IAAwBC,EAAUC,EAqChC,SAAS4I,EAAgBpV,EAAOM,GAC9B,IAAImM,EAIAmD,GAFJnD,EAAQH,EAAiB3B,KAAKzK,KAAMF,EAAOM,IAAYJ,MAE9B0P,aAAayF,KAAKP,EAAuBA,EAAuBrI,KAOzF,OAJAA,EAAM0F,MAAQ,CACZvC,aAAcA,EACd0F,aAAa,GAER7I,CACT,CAlDgCD,EAmCAF,GAnCVC,EAmCP6I,GAnCwC3K,UAAYD,OAAOuD,OAAOvB,EAAW/B,WAAY8B,EAAS9B,UAAU1K,YAAcwM,EAAUA,EAASyB,UAAYxB,EAoDxK,IAAIyB,EAASmH,EAAgB3K,UAmE7B,OAjEAwD,EAAOqE,gBAAkB,WACvB,MAAO,CACLV,gBAAiB,CACfE,YAAa5R,KAAKqV,UAGxB,EAEAtH,EAAOwE,kBAAoB,WACzBvS,KAAKqV,UAAW,EAChBrV,KAAKsV,SAAU,CACjB,EAEAvH,EAAO6E,qBAAuB,WAC5B5S,KAAKsV,SAAU,CACjB,EAEAJ,EAAgB7C,yBAA2B,SAAkCkD,EAAW9T,GACtF,IAAI+T,EAAmB/T,EAAKhB,SACxBiP,EAAejO,EAAKiO,aAExB,MAAO,CACLjP,SAFgBgB,EAAK2T,aAEG,EAAIT,EAAcc,wBAAwBF,EAAW7F,IAAgB,EAAIiF,EAAce,qBAAqBH,EAAWC,EAAkB9F,GACjK0F,aAAa,EAEjB,EAEArH,EAAO2B,aAAe,SAAsBO,EAAOpE,GACjD,IAAI8J,GAAsB,EAAIhB,EAAciB,iBAAiB5V,KAAKF,MAAMW,UACpEwP,EAAM5F,OAAOsL,IAEb1F,EAAMnQ,MAAM2N,UACdwC,EAAMnQ,MAAM2N,SAAS5B,GAGnB7L,KAAKsV,SACPtV,KAAKoT,UAAS,SAAUnB,GACtB,IAAIxR,EAAW2K,EAAS,CAAC,EAAG6G,EAAMxR,UAGlC,cADOA,EAASwP,EAAM5F,KACf,CACL5J,SAAUA,EAEd,IAEJ,EAEAsN,EAAOvN,OAAS,WACd,IAAI6P,EAAcrQ,KAAKF,MACnBF,EAAYyQ,EAAYwF,UACxBC,EAAezF,EAAYyF,aAC3BhW,EA7GR,SAAuC4L,EAAQ8E,GAAY,GAAc,MAAV9E,EAAgB,MAAO,CAAC,EAAG,IAA2DrB,EAAKkB,EAA5DD,EAAS,CAAC,EAAOmF,EAAanG,OAAOoG,KAAKhF,GAAqB,IAAKH,EAAI,EAAGA,EAAIkF,EAAWhF,OAAQF,IAAOlB,EAAMoG,EAAWlF,GAAQiF,EAAS5G,QAAQS,IAAQ,IAAaiB,EAAOjB,GAAOqB,EAAOrB,IAAQ,OAAOiB,CAAQ,CA6GlSqF,CAA8BN,EAAa,CAAC,YAAa,iBAEjE5P,EAAWsU,EAAO/U,KAAKiS,MAAMxR,UAAUuU,IAAIc,GAK/C,cAJOhW,EAAM6R,cACN7R,EAAM+R,aACN/R,EAAMiT,KAEK,OAAdnT,EACKa,EAGFyK,EAAO3B,QAAQ2E,cAActO,EAAWE,EAAOW,EACxD,EAEOyU,CACT,CAtFA,CAsFEhK,EAAO3B,QAAQ3J,WAEjBsV,EAAgBV,kBAAoB,CAClC9C,gBAAiBgD,EAAWnL,QAAQgL,OAAOwB,YAE7Cb,EAAgB9G,UAyDZ,CAAC,EACL8G,EAAgB/G,aA7KG,CACjB0H,UAAW,MACXC,aAAc,SAAsB7F,GAClC,OAAOA,CACT,GA2KF,IAAI5B,GAAW,EAAIiD,EAAuBmD,UAAUS,GAEpDlM,EAAA,QAAkBqF,EAClB3E,EAAOV,QAAUA,EAAiB,O,6BC7MlC,IAAIgN,EAAiBjN,EAAuB,EAAQ,OAEhDkN,EAAqBlN,EAAuB,EAAQ,QAEpDwF,EAAmBxF,EAAuB,EAAQ,OAElDoC,EAAcpC,EAAuB,EAAQ,QAEjD,SAASA,EAAuBoB,GAAO,OAAOA,GAAOA,EAAIlB,WAAakB,EAAM,CAAEZ,QAASY,EAAO,CAE9FT,EAAOV,QAAU,CACfuI,WAAYpG,EAAY5B,QACxB2L,gBAAiB3G,EAAiBhF,QAClCiF,kBAAmByH,EAAmB1M,QACtC4C,cAAe6J,EAAezM,Q,+BCdhCP,EAAQC,YAAa,EACrBD,EAAQ4M,gBAAkBA,EAC1B5M,EAAQkN,mBAAqBA,EAC7BlN,EAAQyM,uBA8FR,SAAgC3V,EAAO2N,GACrC,OAAOmI,EAAgB9V,EAAMW,UAAU,SAAUwP,GAC/C,OAAO,EAAI/E,EAAO6F,cAAcd,EAAO,CACrCxC,SAAUA,EAAS0H,KAAK,KAAMlF,GAC9BM,IAAI,EACJoB,OAAQwE,EAAQlG,EAAO,SAAUnQ,GACjC+R,MAAOsE,EAAQlG,EAAO,QAASnQ,GAC/BiT,KAAMoD,EAAQlG,EAAO,OAAQnQ,IAEjC,GACF,EAvGAkJ,EAAQ0M,oBAyGR,SAA6BH,EAAWC,EAAkB/H,GACxD,IAAI2I,EAAmBR,EAAgBL,EAAU9U,UAC7CA,EAAWyV,EAAmBV,EAAkBY,GAmCpD,OAlCA9L,OAAOoG,KAAKjQ,GAAUuL,SAAQ,SAAU3B,GACtC,IAAI4F,EAAQxP,EAAS4J,GACrB,IAAK,EAAIa,EAAOmL,gBAAgBpG,GAAhC,CACA,IAAIqG,EAAUjM,KAAOmL,EACjBe,EAAUlM,KAAO+L,EACjBI,EAAYhB,EAAiBnL,GAC7BoM,GAAY,EAAIvL,EAAOmL,gBAAgBG,KAAeA,EAAU1W,MAAMyQ,IAEtEgG,GAAaD,IAAWG,EAQhBF,IAAWD,GAAYG,EAMxBF,GAAWD,IAAW,EAAIpL,EAAOmL,gBAAgBG,KAI1D/V,EAAS4J,IAAO,EAAIa,EAAO6F,cAAcd,EAAO,CAC9CxC,SAAUA,EAAS0H,KAAK,KAAMlF,GAC9BM,GAAIiG,EAAU1W,MAAMyQ,GACpBwC,KAAMoD,EAAQlG,EAAO,OAAQsF,GAC7B1D,MAAOsE,EAAQlG,EAAO,QAASsF,MAXjC9U,EAAS4J,IAAO,EAAIa,EAAO6F,cAAcd,EAAO,CAC9CM,IAAI,IAVN9P,EAAS4J,IAAO,EAAIa,EAAO6F,cAAcd,EAAO,CAC9CxC,SAAUA,EAAS0H,KAAK,KAAMlF,GAC9BM,IAAI,EACJwC,KAAMoD,EAAQlG,EAAO,OAAQsF,GAC7B1D,MAAOsE,EAAQlG,EAAO,QAASsF,IAZW,CA+BhD,IACO9U,CACT,EA7IA,IAAIyK,EAAS,EAAQ,OAQrB,SAAS0K,EAAgBnV,EAAUiW,GACjC,IAIIrT,EAASiH,OAAOuD,OAAO,MAO3B,OANIpN,GAAUyK,EAAOgF,SAAS8E,IAAIvU,GAAU,SAAUwL,GACpD,OAAOA,CACT,IAAGD,SAAQ,SAAUiE,GAEnB5M,EAAO4M,EAAM5F,KATF,SAAgB4F,GAC3B,OAAOyG,IAAS,EAAIxL,EAAOmL,gBAAgBpG,GAASyG,EAAMzG,GAASA,CACrE,CAOsB0G,CAAO1G,EAC7B,IACO5M,CACT,CAoBA,SAAS6S,EAAmBU,EAAMC,GAIhC,SAASC,EAAezM,GACtB,OAAOA,KAAOwM,EAAOA,EAAKxM,GAAOuM,EAAKvM,EACxC,CALAuM,EAAOA,GAAQ,CAAC,EAChBC,EAAOA,GAAQ,CAAC,EAQhB,IAcItL,EAdAwL,EAAkBzM,OAAOuD,OAAO,MAChCmJ,EAAc,GAElB,IAAK,IAAIC,KAAWL,EACdK,KAAWJ,EACTG,EAAYvL,SACdsL,EAAgBE,GAAWD,EAC3BA,EAAc,IAGhBA,EAAYE,KAAKD,GAKrB,IAAIE,EAAe,CAAC,EAEpB,IAAK,IAAIC,KAAWP,EAAM,CACxB,GAAIE,EAAgBK,GAClB,IAAK7L,EAAI,EAAGA,EAAIwL,EAAgBK,GAAS3L,OAAQF,IAAK,CACpD,IAAI8L,EAAiBN,EAAgBK,GAAS7L,GAC9C4L,EAAaJ,EAAgBK,GAAS7L,IAAMuL,EAAeO,EAC7D,CAGFF,EAAaC,GAAWN,EAAeM,EACzC,CAGA,IAAK7L,EAAI,EAAGA,EAAIyL,EAAYvL,OAAQF,IAClC4L,EAAaH,EAAYzL,IAAMuL,EAAeE,EAAYzL,IAG5D,OAAO4L,CACT,CAEA,SAAShB,EAAQlG,EAAOqH,EAAMxX,GAC5B,OAAsB,MAAfA,EAAMwX,GAAgBxX,EAAMwX,GAAQrH,EAAMnQ,MAAMwX,EACzD,C,+BC5FA,IAEgCnN,EALhCnB,EAAQC,YAAa,EACrBD,EAAQuO,gBAAkBvO,EAAQwO,mBAAgB,GAIlBrN,EAFQ,EAAQ,SAEKA,EAAIlB,WAOzDD,EAAQwO,cADU,KAclBxO,EAAQuO,gBADD,I,+BCnBP,SAASE,IAEP,IAAIxF,EAAQjS,KAAKH,YAAYwS,yBAAyBrS,KAAKF,MAAOE,KAAKiS,OACnEA,SACFjS,KAAKoT,SAASnB,EAElB,CAEA,SAASyF,EAA0BnC,GAQjCvV,KAAKoT,SALL,SAAiBd,GACf,IAAIL,EAAQjS,KAAKH,YAAYwS,yBAAyBkD,EAAWjD,GACjE,OAAOL,QAAwCA,EAAQ,IACzD,EAEsBkD,KAAKnV,MAC7B,CAEA,SAAS2X,EAAoBpC,EAAW3B,GACtC,IACE,IAAIlB,EAAY1S,KAAKF,MACjBwS,EAAYtS,KAAKiS,MACrBjS,KAAKF,MAAQyV,EACbvV,KAAKiS,MAAQ2B,EACb5T,KAAK4X,6BAA8B,EACnC5X,KAAK6X,wBAA0B7X,KAAK8X,wBAClCpF,EACAJ,EAEJ,CAAE,QACAtS,KAAKF,MAAQ4S,EACb1S,KAAKiS,MAAQK,CACf,CACF,CAQA,SAASmC,EAAS7U,GAChB,IAAI2K,EAAY3K,EAAU2K,UAE1B,IAAKA,IAAcA,EAAUwN,iBAC3B,MAAM,IAAIC,MAAM,sCAGlB,GACgD,mBAAvCpY,EAAUyS,0BAC4B,mBAAtC9H,EAAUuN,wBAEjB,OAAOlY,EAMT,IAAIqY,EAAqB,KACrBC,EAA4B,KAC5BC,EAAsB,KAgB1B,GAf4C,mBAAjC5N,EAAUkN,mBACnBQ,EAAqB,qBACmC,mBAAxC1N,EAAU6N,4BAC1BH,EAAqB,6BAE4B,mBAAxC1N,EAAUmN,0BACnBQ,EAA4B,4BACmC,mBAA/C3N,EAAU8N,mCAC1BH,EAA4B,oCAEe,mBAAlC3N,EAAUoN,oBACnBQ,EAAsB,sBACmC,mBAAzC5N,EAAU+N,6BAC1BH,EAAsB,8BAGC,OAAvBF,GAC8B,OAA9BC,GACwB,OAAxBC,EACA,CACA,IAAII,EAAgB3Y,EAAU4Y,aAAe5Y,EAAUuD,KACnDsV,EAC4C,mBAAvC7Y,EAAUyS,yBACb,6BACA,4BAEN,MAAM2F,MACJ,2FACEO,EACA,SACAE,EACA,uDACwB,OAAvBR,EAA8B,OAASA,EAAqB,KAC9B,OAA9BC,EACG,OAASA,EACT,KACqB,OAAxBC,EAA+B,OAASA,EAAsB,IATjE,uIAaJ,CAaA,GARkD,mBAAvCvY,EAAUyS,2BACnB9H,EAAUkN,mBAAqBA,EAC/BlN,EAAUmN,0BAA4BA,GAMS,mBAAtCnN,EAAUuN,wBAAwC,CAC3D,GAA4C,mBAAjCvN,EAAUkI,mBACnB,MAAM,IAAIuF,MACR,qHAIJzN,EAAUoN,oBAAsBA,EAEhC,IAAIlF,EAAqBlI,EAAUkI,mBAEnClI,EAAUkI,mBAAqB,SAC7BC,EACAJ,EACAoG,GAUA,IAAIC,EAAW3Y,KAAK4X,4BAChB5X,KAAK6X,wBACLa,EAEJjG,EAAmBhI,KAAKzK,KAAM0S,EAAWJ,EAAWqG,EACtD,CACF,CAEA,OAAO/Y,CACT,C,+BA9GA6X,EAAmBmB,8BAA+B,EAClDlB,EAA0BkB,8BAA+B,EACzDjB,EAAoBiB,8BAA+B,C,mGC5C5C,MAAMC,EACA,UADAA,EAEQ,UAFRA,EAGO,UAHPA,EAKL,SALKA,EAMA,eCPArV,EAAU,qBACVC,EAAqB,QACrBC,EAAc,CAAC,QAAS,QCFtB,SAASC,EAAS7D,GAC/B,GAAIA,GAASA,EAAM8D,MAAO,CAExB,GAAIJ,KAAW1D,EAAM8D,MACnB,OAAO9D,EAAM8D,MAAMJ,GAGhB,GAAI,SAAU1D,EAAM8D,OAASF,EAAYG,SAAS/D,EAAM8D,MAAME,MACjE,OAAOhE,EAAM8D,KAEjB,CAEA,MAAO,CACLE,KAAML,EAEV,CCGe,SAASM,EAAOC,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAlBoBE,EAkBEF,EAlBWG,EAkBKF,EAjBjCnE,IACL,MAAM8D,EAAQD,EAAS7D,GACvB,GAAIA,GAASA,EAAMoE,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAASrE,EAAMoE,IAC7B,GAAIE,GAASA,EAAMR,EAAME,MAAO,CAC9B,MAAMpD,EAAQ0D,EAAMR,EAAME,MAC1B,GAAIpD,EACF,OAAOA,CAEX,CACF,CAEA,MAAO,EAAE,EAbb,IAAwBwD,EAAaC,EAoBnC,MAAMC,EAAQJ,EACd,OAAOlE,IAEL,MAAM8D,EAAQD,EAAS7D,GAEvB,GAAI8D,EAAME,QAAQM,EAAO,CACvB,MAAM1D,EAAQ0D,EAAMR,EAAME,MAC1B,GAAIpD,EACF,OAAOA,CAEX,CACA,MAAO,EAAE,CAEb,CChCO,MAIM2D,EAAO,UASPC,EAAO,UASPC,EAAO,UAOP,EAAO,UACP,EAAO,UAEPE,EAAO,UAsBPC,EAAK,UAULoU,EAAO,UACPnU,EAAO,UAEPoU,EAAO,UAIPnU,EAAO,UAGPoU,EAAO,UAyBPnU,EAAQ,UAGRC,EAAQ,UAORC,EAAO,UC/GPkU,GD+IalV,EAAO,CAC/BiB,MAAO,qBAAqBN,KAC5BO,KAAM,+BAMwBlB,EAAO,CACrCiB,MAAO,yCACPC,KAAM,2CAMuBlB,EAAO,CACpCiB,MAAO,gDACPC,KAAM,kDAMyBlB,EAAO,CACtCiB,MAAO,6BAA6BN,KACpCO,KAAM,6BAA6BF,OAMjBhB,EAAO,CACzBiB,MAAO,kBAAkBgU,KACzB/T,KAAM,kBAAkBJ,OAMDd,EAAO,CAC9BiB,MAAO,kBAAkBJ,KACzBK,KAAM,kBAAkBJ,OAMAd,EAAO,CAC/BiB,MAAO,2BAA2BP,KAClCQ,KAAM,2BAA2BR,OAMTV,EAAO,CAC/BiB,MAAO,2BAA2BL,KAClCM,KAAM,2BAA2BH,OAMJf,EAAO,CACpCiB,MAAO,2BAA2BL,KAClCM,KAAM,qCAMelB,EAAO,CAC5BiB,MAAO,kBAAkBJ,KACzBK,KAAM,kBAAkBJ,OAMGd,EAAO,CAClCiB,MAAO,2BAA2BL,KAClCM,KAAM,2BAA2BH,OAEVf,EAAO,CAC9BiB,MA1KiB,UA2KjBC,KAAMF,IAMYhB,EAAO,CACzBiB,MAAO,kBAAkBP,KACzBQ,KAAM,kBAAkB,OAMDlB,EAAO,CAC9BiB,MAAO,kCACPC,KAAM,0BAA0B,OAMRlB,EAAO,CAC/BiB,MAAO,kCACPC,KAAM,0BAA0B,OAMPlB,EAAO,CAChCiB,MAAO,4BAA4B,KACnCC,KAAM,4BAA4B,OAMblB,EAAO,CAC5BiB,MAAO,mCAAmCP,KAC1CQ,KAAM,mCAAmC,OAEvBlB,EAAO,CACzBiB,MAAOP,EACPQ,KAAM,IAEYlB,EAAO,CACzBiB,MAjOkB,UAkOlBC,KAnOkB,YAqOElB,EAAO,CAC3BiB,MA9OkB,UA+OlBC,KAjPkB,YAmPDlB,EAAO,CACxBiB,MAAOX,EACPY,KAAMZ,IAEcN,EAAO,CAC3BiB,MAAOV,EACPW,KAAMX,IAEaP,EAAO,CAC1BiB,MAAOT,EACPU,KAAMV,ICrS+ByD,IACrC,IAAIkR,EAAmBC,EAAkBC,EAAWC,EAAWC,EAC/D,OAAQtR,GACN,IAAK,QACHkR,EAAoBzU,EACpB0U,EAAmB,EACnBC,EAAY,EACZC,EAAY,kBAAkBzU,KAK9B0U,EAAyB7U,EACzB,MACF,IAAK,UACHyU,EDwDc,UCvDdC,EAAmBL,EACnBM,EAAYN,EACZO,EAAYN,EACZO,EAAyBP,EACzB,MACF,IAAK,UACHG,EDuCa,UCtCbC,EAAmBzU,EACnB0U,EAAY1U,EACZ2U,EAAY,0BAA0B3U,KACtC4U,EAAyB,0BAA0B5U,KAGvD,MAAO,CACLwU,oBACAC,mBACAC,YACAC,YACAC,yBACD,G,0BC1BC,EAAiB,SAAwBC,EAAOC,EAAYC,GAC9D,IAAItQ,EAAYoQ,EAAMlP,IAAM,IAAMmP,EAAWrW,MAO5B,IAAhBsW,QAIwD3X,IAAhCyX,EAAMG,WAAWvQ,KACxCoQ,EAAMG,WAAWvQ,GAAaqQ,EAAWG,OAE7C,E,sBChBI,EAAiB,CAAC,EAAEnP,eAEpBoP,EAAqC,gBAMlB,oBAAhBC,aAA6C,OAAY,CAC9DxP,IAAK,QACF,MAMeuP,EAAoB1U,SAAxC,IAKI,EAAmB,SAA0B4U,GAE/C,OAAoB,IAAAC,aAAW,SAAUja,EAAOyB,GAE9C,IAAIgY,GAAQ,IAAAjY,YAAWsY,GACvB,OAAOE,EAAKha,EAAOyZ,EAAOhY,EAC5B,GACF,EA0BI,EAA8B,gBAAoB,CAAC,GAwGnDyY,EAAe,qCA2BfC,EAAY,SAAmBxY,GACjC,IAAI8X,EAAQ9X,EAAK8X,MACbC,EAAa/X,EAAK+X,WAClBC,EAAchY,EAAKgY,YAMvB,OALA,EAAeF,EAAOC,EAAYC,IAClC,QAAyC,WACvC,OD9Ke,SAAsBF,EAAOC,EAAYC,GAC1D,EAAeF,EAAOC,EAAYC,GAClC,IAAItQ,EAAYoQ,EAAMlP,IAAM,IAAMmP,EAAWrW,KAE7C,QAAwCrB,IAApCyX,EAAMW,SAASV,EAAWrW,MAAqB,CACjD,IAAIlC,EAAUuY,EAEd,GACED,EAAMY,OAAOX,IAAevY,EAAU,IAAMkI,EAAY,GAAIlI,EAASsY,EAAMa,OAAO,GAElFnZ,EAAUA,EAAQ4V,gBACC/U,IAAZb,EACX,CACF,CCiKW,CAAasY,EAAOC,EAAYC,EACzC,IAEO,IACT,EAqDIY,EAnDyB,GAAiB,SAAUva,EAAOyZ,EAAOhY,GACpE,IAAI+Y,EAAUxa,EAAM6G,IAIG,iBAAZ2T,QAAsDxY,IAA9ByX,EAAMG,WAAWY,KAClDA,EAAUf,EAAMG,WAAWY,IAG7B,IAAIC,EAAmBza,EAAMka,GACzBQ,EAAmB,CAACF,GACpBnR,EAAY,GAEe,iBAApBrJ,EAAMqJ,UACfA,ED7NJ,SAA6BuQ,EAAYc,EAAkB7M,GACzD,IAAI8M,EAAe,GAQnB,OAPA9M,EAAW5B,MAAM,KAAKC,SAAQ,SAAU7C,QACRrH,IAA1B4X,EAAWvQ,GACbqR,EAAiBtD,KAAKwC,EAAWvQ,GAAa,KAE9CsR,GAAgBtR,EAAY,GAEhC,IACOsR,CACT,CCmNgB,CAAoBlB,EAAMG,WAAYc,EAAkB1a,EAAMqJ,WAC9C,MAAnBrJ,EAAMqJ,YACfA,EAAYrJ,EAAMqJ,UAAY,KAGhC,IAAIqQ,GAAa,OAAgBgB,OAAkB1Y,EAAW,aAAiB,IAU/EqH,GAAaoQ,EAAMlP,IAAM,IAAMmP,EAAWrW,KAC1C,IAAIuX,EAAW,CAAC,EAEhB,IAAK,IAAIrQ,KAAOvK,EACV,EAAe2K,KAAK3K,EAAOuK,IAAgB,QAARA,GAAiBA,IAAQ2P,IAC9DU,EAASrQ,GAAOvK,EAAMuK,IAM1B,OAFAqQ,EAASnZ,IAAMA,EACfmZ,EAASvR,UAAYA,EACD,gBAAoB,WAAgB,KAAmB,gBAAoB8Q,EAAW,CACxGV,MAAOA,EACPC,WAAYA,EACZC,YAAyC,iBAArBc,IACL,gBAAoBA,EAAkBG,GACzD,IC7GIpS,G,QAAM,SAAaoF,EAAM5N,GAC3B,IAAIuC,EAAOmJ,UAEX,GAAa,MAAT1L,IAAkB,OAAoBA,EAAO,OAE/C,OAAO,2BAA0BgC,EAAWO,GAG9C,IAAIsY,EAAatY,EAAKoJ,OAClBmP,EAAwB,IAAInO,MAAMkO,GACtCC,EAAsB,GAAK,EAC3BA,EAAsB,GDgBC,SAA4BlN,EAAM5N,GAMzD,IAAI4a,EAAW,CAAC,EAEhB,IAAK,IAAIrQ,KAAOvK,EACV,EAAe2K,KAAK3K,EAAOuK,KAC7BqQ,EAASrQ,GAAOvK,EAAMuK,IAY1B,OARAqQ,EAASV,GAAgBtM,EAQlBgN,CACT,CCvC6BG,CAAmBnN,EAAM5N,GAEpD,IAAK,IAAIyL,EAAI,EAAGA,EAAIoP,EAAYpP,IAC9BqP,EAAsBrP,GAAKlJ,EAAKkJ,GAIlC,OAAO,sBAA0B,KAAMqP,EACzC,GAgHA,SAAS,IACP,IAAK,IAAIpO,EAAOhB,UAAUC,OAAQpJ,EAAO,IAAIoK,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ErK,EAAKqK,GAAQlB,UAAUkB,GAGzB,OAAO,OAAgBrK,EACzB,CCpRA,MAAMyY,EAAgB,eAChBC,EAAe,cACfC,EAAoB,EAAI,CAC5B1T,QAAS,eACT2T,SAAU,WACVC,MAAO,OAAOJ,KACdrT,KAAM,OAAOsT,KACbI,WAAY,EACZC,WAAY,OACZC,WAAY,SAEZ,QAAS,CACP5S,OAAQ,OACRhB,KAAM,aAGJ6T,EAAkB,EAAI,CAE1BC,KAAM,CACJC,UAAW,kBAGTC,EAAanR,OAAOoR,QTXL,CACnBzV,OAAQ,GACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,KSM+BsV,QAAO,CAACC,GAAMvR,EAAKwR,MAC1DD,EAAIvR,GAAO,EAAI,CACb5B,OAAQ,GAAGoT,QAEND,IACN,CAAC,GAoCJ,EA7BgB,EACdE,QACAC,MACA7T,OACAF,aACAkR,oBACAC,mBACAC,YACAC,YACAtR,OAAQiU,KACLC,MAEH,MAAMC,EAA6C,YAAtBhD,GAAwD,YAArBC,QAAiDrX,IAAfkG,EAC5FD,EAASiU,GAAqB,GAAGA,aACvC,OAAO1T,EAAI,QAAQ,OAAS,CAC1B3B,IAAK,CAACqU,EAAmBkB,GAAwBZ,EAAiBpT,GAAQuT,EAAWvT,IACrF,cAAeH,EACfQ,MAAO,CACL,CAACuS,GAAgB1B,EACjB,CAAC2B,GAAe1B,GAElB,aAAcyC,QAAgBha,EAC9Bqa,KAAML,EAAQ,WAAQha,EACtBsa,wBAAyB,CACvBC,OAAQN,IAGTE,GAAM,EC5DLF,EAAM,EACV/T,aACAkR,oBACAC,mBACAC,YACAC,gBAEA,IAAIiD,EAAS,CACXpD,oBACAC,mBACAC,YACAC,aAKEkD,GAAK,EAAAC,EAAA,GAAI,CACXtD,kBAAmBC,IAKrB,OAHInR,IACFsU,EAASrD,EAAwBjR,IAE5B,gOAGsFuU,oCACnED,EAAOpD,sBAAmD,YAA7BoD,EAAOpD,kBAAkC,qBAAuB,qDAC7FoD,EAAOnD,mKAE6DoD,oCACpED,EAAOpD,sBAAmD,YAA7BoD,EAAOpD,kBAAkC,qBAAuB,qDAC7FoD,EAAOnD,gKAIfmD,EAAOlD,8ZACPkD,EAAOlD,kgBACmKmD,6DACrKA,gSACLD,EAAOjD,65HAElB,EAYIoD,EAAmB,EAC9BzU,aACA8T,QAAQ,gBACR5T,OAAO2Q,EACP9Q,SACAqR,YAAYP,EACZK,oBAAoBL,EACpBM,mBAAmBN,EACnBQ,YAAYR,KAEQ,gBAAoB,EAAS,CAC/C7Q,WAAYA,EACZ8T,MAAOA,EACP1C,UAAWA,EACXF,kBAAmBA,EACnBC,iBAAkBA,EAClBjR,KAAMA,EACN6T,IAAKA,EAAI,CACP/T,aACAkR,oBACAC,mBACAC,YACAC,cAEFtR,OAAQA,EACRsR,UAAWA,IC9ET,GAAM,EACVH,oBACAC,uBAKA,IAAIoD,GAAK,EAAAC,EAAA,GAAI,CACXtD,kBAAmBC,IAErB,MAAO,iOAGuFoD,kCACpErD,MAA4C,YAAtBA,EAAkC,qBAAuB,qDAC/EC,2eAIgVoD,mvKAInW,EAMIG,GAAsB,EACjCtD,YAAYP,EACZK,oBAAoBL,EACpBM,mBAAmBN,EACnBiD,QAAQ,oBACR5T,OAAO2Q,EACP9Q,SACAsR,YAAYR,KAKQ,gBAAoB,EAAS,CAC/CiD,MAAOA,EACP1C,UAAWA,EACXF,kBAAmBA,EACnBC,iBAAkBA,EAClBjR,KAAMA,EACN6T,IAAK,GAAI,CACP7C,oBACAC,qBAEFpR,OAAQA,EACRsR,UAAWA,ICpDT,GAAM,EACVrR,aACAkR,oBACAC,mBACAC,YACAC,gBAEA,IAAIiD,EAAS,CACXpD,oBACAC,mBACAC,YACAC,aAKEkD,GAAK,EAAAC,EAAA,GAAI,CACXtD,kBAAmBC,IAKrB,OAHInR,IACFsU,EAASrD,EAAwBjR,IAE5B,iOAGuFuU,kCACpED,EAAOpD,sBAAmD,YAA7BoD,EAAOpD,kBAAkC,qBAAuB,qDAC7FoD,EAAOnD,qKAIVoD,yIACLD,EAAOlD,2IACPkD,EAAOjD,urKAElB,EAYIsD,GAA4B,EACvC3U,aACA8T,QAAQ,0BACR5T,OAAO2Q,EACP9Q,SACAqR,YAAYP,EACZK,oBAAoBL,EACpBM,mBAAmBN,EACnBQ,YAAYR,KAEQ,gBAAoB,EAAS,CAC/C7Q,WAAYA,EACZ8T,MAAOA,EACP1C,UAAWA,EACXF,kBAAmBA,EACnBC,iBAAkBA,EAClBjR,KAAMA,EACN6T,IAAK,GAAI,CACP/T,aACAkR,oBACAC,mBACAC,YACAC,cAEFtR,OAAQA,EACRsR,UAAWA,ICxET,GAAM,EACVrR,aACAkR,oBACAC,mBACAC,YACAC,gBAEA,IAAIiD,EAAS,CACXpD,oBACAC,mBACAC,YACAC,aAKEkD,GAAK,EAAAC,EAAA,GAAI,CACXtD,kBAAmBC,IAKrB,OAHInR,IACFsU,EAASrD,EAAwBjR,IAE5B,gOAGsFuU,oCACnED,EAAOpD,sBAAmD,YAA7BoD,EAAOpD,kBAAkC,qBAAuB,qDAC7FoD,EAAOnD,kKAE4DoD,oCACnED,EAAOpD,sBAAmD,YAA7BoD,EAAOpD,kBAAkC,qBAAuB,qDAC7FoD,EAAOnD,gKAIfmD,EAAOjD,s7GACFkD,y2BACAA,01BAEhB,EAYIK,GAAiB,EAC5B5U,aACA8T,QAAQ,aACR5T,OAAO2Q,EACP9Q,SACAqR,YAAYP,EACZK,oBAAoBL,EACpBM,mBAAmBN,EACnBQ,YAAYR,KAEQ,gBAAoB,EAAS,CAC/C7Q,WAAYA,EACZ8T,MAAOA,EACP1C,UAAWA,EACXF,kBAAmBA,EACnBC,iBAAkBA,EAClBjR,KAAMA,EACN6T,IAAK,GAAI,CACP/T,aACAkR,oBACAC,mBACAC,YACAC,cAEFtR,OAAQA,EACRsR,UAAWA,IC5ET,GAAM,EACVrR,aACAkR,oBACAC,mBACAC,YACAC,gBAEA,IAAIiD,EAAS,CACXpD,oBACAC,mBACAC,YACAC,aAKEkD,GAAK,EAAAC,EAAA,GAAI,CACXtD,kBAAmBC,IAMrB,OAJInR,IACFsU,EAASrD,EAAwBjR,GACjCuU,EAAK,iBAAiBvU,KAEjB,iOAGuFuU,kCACpED,EAAOpD,sBAAmD,YAA7BoD,EAAOpD,kBAAkC,qBAAuB,qDAC7FoD,EAAOnD,icAIkRoD,sDACjSD,EAAOlD,gpBACPkD,EAAOjD,6uGAElB,EAYIwD,GAAgB,EAC3B7U,aACA8T,QAAQ,YACR5T,OAAO2Q,EACP9Q,SACAqR,YAAYP,EACZK,oBAAoBL,EACpBM,mBAAmBN,EACnBQ,YAAYR,KAEQ,gBAAoB,EAAS,CAC/C7Q,WAAYA,EACZ8T,MAAOA,EACP1C,UAAWA,EACXF,kBAAmBA,EACnBC,iBAAkBA,EAClBjR,KAAMA,EACN6T,IAAK,GAAI,CACP/T,aACAkR,oBACAC,mBACAC,YACAC,cAEFtR,OAAQA,EACRsR,UAAWA,I,gBC/DXyD,GAAgB,SAASC,EAAGC,GAI5B,OAHAF,GAAgBxS,OAAO2S,gBAClB,CAAEnP,UAAW,cAAgBrB,OAAS,SAAUsQ,EAAGC,GAAKD,EAAEjP,UAAYkP,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAIE,KAAKF,EAAOA,EAAExS,eAAe0S,KAAIH,EAAEG,GAAKF,EAAEE,GAAI,EACtEJ,GAAcC,EAAGC,EAC5B,EAEO,SAASG,GAAUJ,EAAGC,GAEzB,SAASI,IAAOpd,KAAKH,YAAckd,CAAG,CADtCD,GAAcC,EAAGC,GAEjBD,EAAExS,UAAkB,OAANyS,EAAa1S,OAAOuD,OAAOmP,IAAMI,EAAG7S,UAAYyS,EAAEzS,UAAW,IAAI6S,EACnF,CAEO,IAAIC,GAAW,WAQlB,OAPAA,GAAW/S,OAAOe,QAAU,SAAkBiS,GAC1C,IAAK,IAAIC,EAAGhS,EAAI,EAAGiS,EAAIhS,UAAUC,OAAQF,EAAIiS,EAAGjS,IAE5C,IAAK,IAAI2R,KADTK,EAAI/R,UAAUD,GACOjB,OAAOC,UAAUC,eAAeC,KAAK8S,EAAGL,KAAII,EAAEJ,GAAKK,EAAEL,IAE9E,OAAOI,CACX,EACOD,GAAS1R,MAAM3L,KAAMwL,UAChC,EAEO,SAASiS,GAAOF,EAAGha,GACtB,IAAI+Z,EAAI,CAAC,EACT,IAAK,IAAIJ,KAAKK,EAAOjT,OAAOC,UAAUC,eAAeC,KAAK8S,EAAGL,IAAM3Z,EAAEqG,QAAQsT,GAAK,IAC9EI,EAAEJ,GAAKK,EAAEL,IACb,GAAS,MAALK,GAAqD,mBAAjCjT,OAAOoT,sBACtB,KAAInS,EAAI,EAAb,IAAgB2R,EAAI5S,OAAOoT,sBAAsBH,GAAIhS,EAAI2R,EAAEzR,OAAQF,IAC3DhI,EAAEqG,QAAQsT,EAAE3R,IAAM,GAAKjB,OAAOC,UAAUoT,qBAAqBlT,KAAK8S,EAAGL,EAAE3R,MACvE+R,EAAEJ,EAAE3R,IAAMgS,EAAEL,EAAE3R,IAF4B,CAItD,OAAO+R,CACX,CA4EO,SAASM,GAAOC,EAAGL,GACtB,IAAIM,EAAsB,mBAAXC,QAAyBF,EAAEE,OAAOC,UACjD,IAAKF,EAAG,OAAOD,EACf,IAAmB/U,EAAYvF,EAA3BgI,EAAIuS,EAAErT,KAAKoT,GAAOI,EAAK,GAC3B,IACI,WAAc,IAANT,GAAgBA,KAAM,MAAQ1U,EAAIyC,EAAEsL,QAAQqH,MAAMD,EAAG/G,KAAKpO,EAAEpI,MACxE,CACA,MAAOyd,GAAS5a,EAAI,CAAE4a,MAAOA,EAAS,CACtC,QACI,IACQrV,IAAMA,EAAEoV,OAASJ,EAAIvS,EAAU,SAAIuS,EAAErT,KAAKc,EAClD,CACA,QAAU,GAAIhI,EAAG,MAAMA,EAAE4a,KAAO,CACpC,CACA,OAAOF,CACX,CAEO,SAASG,KACZ,IAAK,IAAIH,EAAK,GAAI1S,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAC3C0S,EAAKA,EAAGtR,OAAOiR,GAAOpS,UAAUD,KACpC,OAAO0S,CACX,CAwCO,SAASI,GAAqBC,EAAQC,GAEzC,OADIjU,OAAOK,eAAkBL,OAAOK,eAAe2T,EAAQ,MAAO,CAAE5d,MAAO6d,IAAiBD,EAAOC,IAAMA,EAClGD,CACX,C,gBC9LIE,GAAYC,OAAOC,OACnB,SAAkBhe,GACd,MAAwB,iBAAVA,GAAsBA,GAAUA,CAClD,EAUJ,SAASie,GAAeC,EAAWC,GAC/B,GAAID,EAAUnT,SAAWoT,EAAWpT,OAChC,OAAO,EAEX,IAAK,IAAIF,EAAI,EAAGA,EAAIqT,EAAUnT,OAAQF,IAClC,MAdSsF,EAcI+N,EAAUrT,OAdPuF,EAcW+N,EAAWtT,KAVtCiT,GAAU3N,IAAU2N,GAAU1N,IAW1B,OAAO,EAfnB,IAAiBD,EAAOC,EAkBpB,OAAO,CACX,C,uCCnBIvR,GAAe,CACfE,4BAA6B,UAC7BD,kCAAmC,WAsCvC,SApCsC,SAAUsf,GAE5C,SAASC,EAAiBjf,GACtB,IAAIyM,EAAQuS,EAAOrU,KAAKzK,KAAMF,IAAUE,KAuBxC,OAtBAuM,EAAM6F,gBAAkB,WAAc,MAAO,CACzC3S,4BAA6B8M,EAAMyS,oBACnC,EACJzS,EAAMyS,oBAAsB,WACxB,IAAIC,EAAO1S,EAAMzM,MAAMmf,KACnBxf,EAA8B8M,EAAMnM,QAAQX,4BAIhD,OAAO2e,GAHoD,mBAAhC3e,GACvBA,KACA,GAC0B,CAACwf,GACnC,EACA1S,EAAMtM,0BAA4B,WAC9B,IAAIT,EAAoC+M,EAAMnM,QAAQZ,kCAItD,MAHqE,mBAAtCA,GAC3BA,KACA,EAER,EACA+M,EAAM0F,MAAQ,CACVxS,4BAA6B8M,EAAMyS,oBACnCxf,kCAAmC+M,EAAMtM,2BAEtCsM,CACX,CAOA,OAjCA4Q,GAAU4B,EAAkBD,GA2B5BC,EAAiBxU,UAAU/J,OAAS,WAChC,IAAIC,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,oBAAgC,CAAEC,MAAOV,KAAKiS,OAAS,EAAA/B,SAAA,KAAczP,GACrG,EACAse,EAAiBzK,aAAe/U,GAChCwf,EAAiBvK,kBAAoBjV,GAC9Bwf,CACX,CAnCqC,CAmCnC,EAAAnf,WCzCF,IAAIsf,GAAkC,SAAUJ,GAE5C,SAASI,EAAiBpf,GACtB,IAAIyM,EAAQuS,EAAOrU,KAAKzK,KAAMF,IAAUE,KA6BxC,OA5BAuM,EAAM4S,MAAQ,WACV,OAAI5S,EAAM6S,UAEN9c,QAAQgB,KAAK,gDACN,MAUJ,IAAI4b,EAAiB,CAAE9e,QARhBge,GAAS7R,EAAMnM,SAQmBif,SAPjCjB,GAAS7R,EAAM8S,UAOsCC,QADtDC,KAAKC,MAAMD,KAAKE,UAAUlT,EAAM+S,WAElD,EACA/S,EAAMmT,KAAO,SAAUxf,GACfqM,EAAM6S,SAEN9c,QAAQgB,KAAK,gCAGjBiJ,EAAM8S,SAASrT,SAAQ,SAAU6D,GAAW,OAAOA,EAAQtD,EAAOrM,EAAU,IAC5EqM,EAAM6S,UAAW,EACrB,EACA7S,EAAMnM,QAAUN,EAAMM,SAAW,GACjCmM,EAAM8S,SAAWvf,EAAMuf,UAAY,GACnC9S,EAAM6S,UAAW,EACV7S,CACX,CASA,OAzCA4Q,GAAU+B,EAAkBJ,GAiC5BI,EAAiB3U,UAAUoV,OAAS,SAAUC,GAC1C,OAAI5f,KAAKof,UAEL9c,QAAQgB,KAAK,iDACNtD,MAEJ8e,EAAOvU,UAAUoV,OAAOlV,KAAKzK,KAAM4f,EAC9C,EACOV,CACX,CA3CqC,CCDD,WAChC,SAASW,EAAe/f,GACpB,IAAIyM,EAAQvM,KACZA,KAAKmf,MAAQ,WAKT,OAAO,IAAIU,EAAe,CAAEP,QADdC,KAAKC,MAAMD,KAAKE,UAAUlT,EAAM+S,WAElD,EACAtf,KAAKsf,QAAUxf,EAAMwf,OACzB,CAUA,OATAO,EAAetV,UAAUoV,OAAS,SAAUC,GAOxC,MANuB,mBAAZA,IACP5f,KAAKsf,QAAUM,EAAQ5f,KAAKsf,UAET,iBAAZM,IACP5f,KAAKsf,QAAUjC,GAASA,GAAS,CAAC,EAAGrd,KAAKsf,SAAUM,IAEjD5f,IACX,EACO6f,CACX,CAtBmC,ID6CnC,YEyCA,GA9E8C,SAAUf,GAEpD,SAASgB,EAAyBhgB,GAC9B,IAAIyM,EAAQuS,EAAOrU,KAAKzK,KAAMF,IAAUE,KAyDxC,OApDAuM,EAAMwT,mBAAqB,CAAC,EAC5BxT,EAAMyT,kBAAoB,CAAC,EAE3BzT,EAAM0T,wBAA0B,SAAUngB,GACtC,IAAIogB,EAAuB5V,OAAOoG,KAAKnE,EAAMzM,MAAMqgB,gBAAgBtY,QAAO,SAAUqV,GAAK,OAAO3Q,EAAMwT,mBAAmB7C,KAAOpd,EAAMod,EAAI,IAO1I,OANIgD,EAAqBzU,OAAS,IAC9Bc,EAAMyT,kBAAoB3C,GAASA,GAAS,CAAC,EAAG9Q,EAAMyT,mBAAoBzT,EAAM6T,uBAAuBF,EAAsBpgB,IAC7HogB,EAAqBlU,SAAQ,SAAUkR,GACnC3Q,EAAMwT,mBAAmB7C,GAAKpd,EAAMod,EACxC,KAEG3Q,EAAMyT,iBACjB,EACAzT,EAAM6T,uBAAyB,SAAUC,EAAkBvgB,GACvD,OAAOugB,EAAiB1E,QAAO,SAAU2E,EAAUC,GAC/C,IAAIC,EACAC,EAAelU,EAAMzM,MAAMqgB,eAAeI,GAC1CG,EAAmB5gB,EAAMygB,GAC7B,MAAK,CAAC,SAAU,YAAY1c,gBAAgB4c,GAerCpD,GAASA,GAAS,CAAC,EAAGiD,KAAYE,EAAK,CAAC,GAAMD,GAZ9B,WAEnB,IADA,IAAIle,EAAO,GACFse,EAAK,EAAGA,EAAKnV,UAAUC,OAAQkV,IACpCte,EAAKse,GAAMnV,UAAUmV,GAEzB,IAAIC,EAAyC,mBAAjBH,EACtBA,EAAalU,EAAMsU,qBAAsB/gB,GACzCyM,EAAMsU,qBAAqBJ,GAC7BC,GACAA,EAAiB/U,WAAM,EAAQyS,GAAS/b,EAAM,CAACue,IAEvD,EAC2FJ,IAdhFF,CAef,GAAG,CAAC,EACR,EACA/T,EAAMsU,qBAAuB,SAAUvB,GACnC,IAAIkB,EAAKjU,EAAMnM,QAASZ,EAAoCghB,EAAGhhB,kCAAmCC,EAA8B+gB,EAAG/gB,4BACnI,OAAO,IAAI,GAAiB,CACxBW,QAAiD,mBAAhCX,GACbA,KACA,GACJ4f,SAAwD,mBAAtC7f,GACdA,KACA,GACJ8f,QAASA,GAEjB,EACAhV,OAAOoG,KAAKnE,EAAMzM,MAAMqgB,gBAAgBnU,SAAQ,SAAUkR,GACtD3Q,EAAMwT,mBAAmB7C,GAAKpd,EAAMghB,sBAAsB5D,EAC9D,IACA3Q,EAAMyT,kBAAoBzT,EAAM6T,uBAAuB9V,OAAOoG,KAAKnE,EAAMzM,MAAMqgB,gBAAiBrgB,EAAMghB,uBAC/FvU,CACX,CAeA,OA3EA4Q,GAAU2C,EAA0BhB,GA6DpCgB,EAAyBvV,UAAU/J,OAAS,WACxC,IAAIwf,EAAoBhgB,KAAKigB,wBAAwBjgB,KAAKF,MAAMghB,uBAChE,OAAO9gB,KAAKF,MAAMW,SAAS,CACvBogB,qBAAsB7gB,KAAK6gB,qBAC3Bb,kBAAmBA,GAE3B,EACAF,EAAyBxL,aAAe,CACpC9U,kCAAmC,UACnCC,4BAA6B,WAEjCqgB,EAAyB3R,aAAe,CACpCgS,eAAgB,CAAC,GAEdL,CACX,CA7E6C,CA6E3C,a,yDC7EK,SAAS/Z,GAAYV,GACxB,MAAMC,EAAe,CAACC,EAAWzF,IAAUyF,EAAUzF,GAM/C0F,GAAe,IAAAC,eAAcJ,GA2BnC,MAAO,CAAEF,SAxBT,SAAkBrF,GACd,MAAM,SAAEW,KAAaiF,GAAe5F,EAK9B6F,IAJQ,IAAArE,YAAWkE,IACAF,GAGFI,GAGvB,OAAO,gBAAoB,WAAgB,KAAMjF,EAASkF,GAC9D,EAcmBT,SANnB,SAAkBpF,GACd,MAAM8F,GAAU,IAAAtE,YAAWkE,GACrBK,EAAU/F,EAAMY,OAAS4E,EACzBQ,GAAU,IAAA9E,cAAa0E,GAAeG,EAAQD,EAASF,IAAa,CAACE,EAASC,IACpF,OAAQ,gBAAoBL,EAAaN,SAAU,CAAExE,MAAOoF,GAAWhG,EAAMW,SACjF,EAEJ,CC1CA,SAAesF,IAAY,KAAM,CAC7BjC,KAAM,YCAJ,GAAqB,QACrB,GAAc,CAAC,QAAS,QAEf,SAAS,GAAShE,GAC7B,GAAIA,GAASA,EAAM8D,MAAO,CAEtB,GAAI,uBAAwB9D,EAAM8D,MAC9B,OAAO9D,EAAM8D,MAAMmd,mBAGlB,GAAI,SAAUjhB,EAAM8D,OAAS,GAAYC,SAAS/D,EAAM8D,MAAME,MAC/D,OAAOhE,EAAM8D,KAErB,CAEA,MAAO,CAAEE,KAAM,GACnB,CCFe,SAAS,GAAOE,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflCnE,IACJ,MAAM8D,EAAQ,GAAS9D,GACvB,GAAIA,GAASA,EAAMoE,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAASrE,EAAMoE,IAC7B,GAAIE,GAASA,EAAMR,EAAME,MAAO,CAC5B,MAAMpD,EAAQ0D,EAAMR,EAAME,MAC1B,GAAIpD,EACA,OAAOA,CACf,CACJ,CACA,MAAO,EAAE,EAXjB,IAAwBwD,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQlE,IAEJ,MAAM8D,EAAQ,GAAS9D,GAEvB,GAAI8D,EAAME,QAAQM,EAAO,CACrB,MAAM1D,EAAQ0D,EAAMR,EAAME,MAC1B,GAAIpD,EACA,OAAOA,CACf,CACA,MAAO,EAAE,CAEjB,CC/BO,MAEM,GAAO,UAEP,GAAO,UACP,GAAO,UACP,GAAO,UAKP,GAAO,UACP,GAAO,UACP,GAAO,UACP,GAAO,UAEP,GAAM,UAIN,GAAO,UAEP,GAAO,UAEP,GAAM,UACN,GAAM,UACN,GAAO,UACP,GAAO,UACP,GAAO,UACP,GAAO,UACP,GAAO,UAkBP,GAAK,UAEL,GAAM,UAEN,GAAM,UAGN,GAAM,UAIN,GAAO,UAEP,GAAO,UACP,GAAO,UAEP,GAAO,UACP,GAAO,UAEP,GAAO,UAGP,GAAO,wBACP,GAAO,wBAmBP,GAAQ,UAER,GAAQ,UACR,GAAQ,UAER,GAAQ,UAGR,GAAO,UACP,GAAO,UACP,GAAO,UAEP,GAAO,UAIP,GAAM,UAoBO,GAAO,CAAEsE,MAAO,GAAIC,KAAM,KACpB,GAAO,CAAED,MAAO,GAAKC,KAAM,KAC5B,GAAO,CAAED,MA7ErB,UA6EiCC,KAAM,KACzB,GAAO,CAAED,MAAO,GAAIC,KAAM,KACvC,GAAO,CAAED,MAAO,GAAMC,KAAM,KACvB,GAAO,CAAED,MAAO,GAAMC,KAAM,KAC3B,GAAO,CAAED,MAAO,GAAMC,KAAM,KAC5B,GAAO,CAAED,MAAO,GAAMC,KAAM,KACvB,GAAO,CAAED,MA5EpB,UA4EiCC,KAxChC,YAyCE,GAAO,CAAED,MAAO,GAAMC,KAAM,KACtB,GAAO,CAAED,MAAO,GAAMC,KAAM,KAChC,GAAO,CAAED,MAAO,GAAKC,KAAM,KAChC,GAAO,CAAED,MAAO,GAAMC,KAAM,KACvB,GAAO,CAAED,MAAO,GAAMC,KAAM,KAC3B,GAAO,CAAED,MAAO,GAAMC,KAAM,KAC3B,GAAO,CAAED,MAAO,GAAMC,KAAM,KAChC,GAAO,CAAED,MAAO,GAAMC,KAAM,KAC/B,GAAO,CAAED,MAAO,GAAMC,KAAM,KAC5B,GAAO,CAAED,MApGT,UAoGsBC,KArGtB,YAsGE,GAAO,CAAED,MA7GX,UA6GwBC,KA/GxB,YAgHD,GAAO,CAAED,MAAO,GAAMC,KAAM,KACzB,GAAO,CAAED,MAAO,GAAMC,KAAM,KAC7B,GAAO,CAAED,MAAO,GAAMC,KAAM,KCrJ1C,IAAI+b,GAAuB,SAAUR,GACxC,IAAIS,EAAKT,EAAGU,WAAYA,OAAoB,IAAPD,GAAwBA,EAAIE,EAAKX,EAAGY,SAAUA,OAAkB,IAAPD,GAAwBA,EAAIE,EAAKb,EAAGc,QAASA,OAAiB,IAAPD,GAAwBA,EAAIE,EAAKf,EAAGgB,QAASA,OAAiB,IAAPD,GAAwBA,EAAIE,EAAKjB,EAAGkB,WAAYA,OAAoB,IAAPD,GAAwBA,EACjS,OAAIP,EACO,WAEPQ,GAAcJ,EACP,gBAEPI,EACO,WAEPN,EACO,SAEPI,EACO,QAEPF,EACO,QAEJ,SACX,EAaWK,GAAkB,SAAUC,GAAa,MAAO,CACvDC,WAAY,eACZ5a,QAAS2a,EAAY,EAAI,EACzB,EACOE,GAAc,WAErB,IADA,IAAIC,EAAO,GACFpB,EAAK,EAAGA,EAAKnV,UAAUC,OAAQkV,IACpCoB,EAAKpB,GAAMnV,UAAUmV,GAEzB,OAAO,SAAUqB,GACbD,EACKla,QAAO,SAAUiB,GAAK,QAASA,CAAG,IAClCkD,SAAQ,SAAUzK,GACA,mBAARA,EACPA,EAAIygB,GAGJzgB,EAAIN,QAAU+gB,CAEtB,GACJ,CACJ,EAMO,SAASC,GAASC,EAAKC,GAE1B,QADc,IAAVA,IAAoBA,EAAQ,GAC5B,2BAA2BC,KAAKF,GAAM,CACtC,IAAIG,EAAWH,EAAII,UAAU,GAAGvW,MAAM,IACd,IAApBsW,EAAS5W,SACT4W,EAAW,CACPA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,KAGjB,IAAInH,EAAQ,KAAOmH,EAASE,KAAK,IAKjC,MAAO,QAAU,CAHRrH,GAAS,GAAM,IACfA,GAAS,EAAK,IACP,IAARA,GACmBqH,KAAK,KAAO,KAAOJ,EAAQ,GAC1D,CACA,MAAM,IAAInK,MAAM,UACpB,C,gBCjFIwK,GAAsB,GCUI,GDV4B,KACtDC,GAAe,GCSW,GDTqB,KAE/CC,GAAgB,SAAU5iB,GAC1B,OAAO6iB,GAAmB,aAAc7iB,EAAO8iB,GACnD,EAEIC,GAAe,SAAU/iB,GAEzB,MAAO,aADc6iB,GAAmB,iBAAkB7iB,EAAO8iB,GAErE,EAEIE,GAAW,SAAUhjB,GACrB,OAAO6iB,GAAmB,QAAS7iB,EAAO8iB,GAC9C,EAWIG,GAAY,SAAUvC,GACtB,IAAIS,EAAKT,EAAGwC,QAASA,OAAiB,IAAP/B,EAAgB,UAAYA,EAC3D,MAAmB,YAAZ+B,EACDR,GACY,SAAZQ,EACI,OACAP,EACd,EAEIQ,GAAgB,SAAUzC,GAC1B,IAAIS,EAAKT,EAAGwC,QAASA,OAAiB,IAAP/B,EAAgB,UAAYA,EAC3D,MAAmB,YAAZ+B,EACDR,GACY,SAAZQ,EACI,UACAP,EACd,EAEIS,GAAa,SAAU1C,GACvB,IAAIS,EAAKT,EAAGwC,QACZ,MAAmB,eADmB,IAAP/B,EAAgB,UAAYA,GAC/B,EAAI,OACpC,EAEIkC,GAAoB,SAAU3C,GAC9B,IAAIS,EAAKT,EAAGxY,WAAYA,OAAoB,IAAPiZ,EAAgB,UAAYA,EAAIE,EAAKX,EAAGvO,MAC7E,MAAiB,gBADkF,IAAPkP,EAAgB,UAAYA,IAC5E,SAAfnZ,GAAwC,gBAAfA,EAEhD,UADA,WAEV,EAEIob,GAAgB,SAAU5C,GAC1B,IAAIS,EAAKT,EAAGvO,MACZ,MAAiB,gBADiB,IAAPgP,EAAgB,UAAYA,GAEjD,gFACA,iFACV,EAEIoC,GAAwB,SAAU7C,GAClC,IAAIS,EAAKT,EAAGvO,MAAOA,OAAe,IAAPgP,EAAgB,UAAYA,EACvD,MAAiB,WAAVhP,EAAqB,KAAiB,UAAVA,EAAoB,WAAa,aACxE,EAEIqR,GAAmB,SAAU9C,GAC7B,IAAIS,EAAKT,EAAGwC,QACZ,MAAmB,eADmB,IAAP/B,EAAgB,UAAYA,GAC/B,WAAa,QAC7C,EAEIsC,GAAW,SAAU/C,GAErB,OADyBA,EAAGgD,mBACA,OAAS,MACzC,EAEIC,GAAe,CACfC,WAAY,WACZC,YAAa,EACbC,UAAW,aACXtc,QAAS,cACTuc,SAAU,UACVC,UAAW,SACXC,WAAY,SACZC,SAAU,OACVC,QAAS,kBACTC,UAAW,SACXC,eAAgB,OAChB9I,WAAY,UExFL+I,GAAY,CACnBC,WAAY,CAAErf,MAAO,GAAaC,KAAM,IACxCiW,MAAO,CAAElW,MAAO,GAAaC,KAAM,IACnCkf,eAAgB,CAAEnf,MAAO,OAAQC,KAAM,SAEhC2d,GAAY,CAEnByB,WAAY,CACR9a,QAAS,CACLA,QAAS,CAAEvE,MAAO,GAAaC,KAAM,IACrCqf,MAAO,CAAEtf,MAAO,GAAaC,KAAM,IACnC+O,OAAQ,CAAEhP,MAAOid,GAAS,GAAY,IAAMhd,KAAM,IAClDsf,SAAU,CAAEvf,MAAO,GAAaC,KAAM,IACtCuf,SAAU,CAAExf,MAAO,GAAaC,KAAM,IACtCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,KAE/Cyf,QAAS,CACLnb,QAAS,CAAEvE,MAAO,GAAaC,KAAM,IACrCqf,MAAO,CAAEtf,MAAO,GAAaC,KAAM,IACnC+O,OAAQ,CAAEhP,MAAO,GAAaC,KAAM,IACpCsf,SAAU,CAAEvf,MAAO,GAAaC,KAAM,IACtCuf,SAAU,CAAExf,MAAO,GAAaC,KAAM,IACtCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,KAE/C0f,QAAS,CACLpb,QAAS,CAAEvE,MAAO,GAAaC,KAAM,IACrCqf,MAAO,CAAEtf,MAAO,GAAaC,KAAM,IACnC+O,OAAQ,CAAEhP,MAAO,GAAaC,KAAM,IACpCsf,SAAU,CAAEvf,MAAO,GAAaC,KAAM,IACtCuf,SAAU,CAAExf,MAAO,GAAaC,KAAM,IACtCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,KAE/C2f,OAAQ,CACJrb,QAAS,CAAEvE,MAAO,GAAaC,KAAM,IACrCqf,MAAO,CAAEtf,MAAO,GAAaC,KAAM,IACnC+O,OAAQ,CAAEhP,MAAO,GAAaC,KAAM,IACpCsf,SAAU,CAAEvf,MAAO,GAAaC,KAAM,IACtCuf,SAAU,CAAExf,MAAO,GAAaC,KAAM,IACtCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,KAE/C4f,KAAM,CACFtb,QAAS,CAAEvE,MAAO,OAAQC,KAAM,QAChCuf,SAAU,CAAExf,MAAO,GAAaC,KAAM,IACtCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,KAE/C6f,OAAQ,CACJvb,QAAS,CAAEvE,MAAO,OAAQC,KAAM,QAChCqf,MAAO,CAAEtf,MAAO,GAAaC,KAAM,IACnC+O,OAAQ,CAAEhP,MAAOid,GAAS,GAAY,IAAMhd,KAAM,IAClDsf,SAAU,CAAEvf,MAAO,OAAQC,KAAM,QACjCuf,SAAU,CAAExf,MAAO,GAAaC,KAAM,IACtCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,KAE/C,cAAe,CACXsE,QAAS,CAAEvE,MAAO,OAAQC,KAAM,QAChCuf,SAAU,CAAExf,MAAO,GAAaC,KAAM,IACtCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,MAGnD8f,eAAgB,CACZxb,QAAS,CACLyb,MAAO,CAAEhgB,MAAOid,GAAS,GAAa,IAAMhd,KAAM,IAClDwf,cAAe,CACXzf,MAAOid,GAAS,GAAa,IAC7Bhd,KAAM,KAGdyf,QAAS,CACLM,MAAO,CAAEhgB,MAAOid,GAAS,GAAa,IAAMhd,KAAM,IAClDwf,cAAe,CACXzf,MAAOid,GAAS,GAAa,IAC7Bhd,KAAM,KAGd0f,QAAS,CACLK,MAAO,CAAEhgB,MAAO,GAAaC,KAAM,IACnCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,KAE/C2f,OAAQ,CACJI,MAAO,CAAEhgB,MAAO,GAAaC,KAAM,IACnCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,KAE/C4f,KAAM,CACFG,MAAO,CAAEhgB,MAAOid,GAAS,GAAa,IAAMhd,KAAM,IAClDwf,cAAe,CACXzf,MAAOid,GAAS,GAAa,IAC7Bhd,KAAM,KAGd6f,OAAQ,CACJE,MAAO,CAAEhgB,MAAOid,GAAS,GAAa,IAAMhd,KAAM,IAClDwf,cAAe,CACXzf,MAAOid,GAAS,GAAa,IAC7Bhd,KAAM,KAGd,cAAe,CACX+f,MAAO,CAAEhgB,MAAOid,GAAS,GAAa,IAAMhd,KAAM,IAClDwf,cAAe,CACXzf,MAAOid,GAAS,GAAa,IAC7Bhd,KAAM,MAIlBiW,MAAO,CACH3R,QAAS,CACLA,QAAS,CAAEvE,MAAO,GAAaC,KAAM,IACrC+O,OAAQ,CAAEhP,MAAO,GAAaC,KAAM,IACpCsf,SAAU,CAAEvf,MAAO,GAAYC,KAAM,IACrCuf,SAAU,CAAExf,MAAO,GAAYC,KAAM,IACrCwf,cAAe,CAAEzf,MAAO,GAAYC,KAAM,KAE9Cyf,QAAS,CACLnb,QAAS,CAAEvE,MAAO,GAAWC,KAAM,IACnCsf,SAAU,CAAEvf,MAAO,GAAYC,KAAM,IACrCuf,SAAU,CAAExf,MAAO,GAAYC,KAAM,IACrCwf,cAAe,CAAEzf,MAAO,GAAYC,KAAM,KAE9C0f,QAAS,CACLpb,QAAS,CAAEvE,MAAO,GAAaC,KAAM,IACrCsf,SAAU,CAAEvf,MAAO,GAAYC,KAAM,IACrCuf,SAAU,CAAExf,MAAO,GAAaC,KAAM,IACtCwf,cAAe,CAAEzf,MAAO,GAAaC,KAAM,KAE/C2f,OAAQ,CACJrb,QAAS,CAAEvE,MAAO,GAAWC,KAAM,IACnCsf,SAAU,CAAEvf,MAAO,GAAYC,KAAM,IACrCuf,SAAU,CAAExf,MAAO,GAAWC,KAAM,IACpCwf,cAAe,CAAEzf,MAAO,GAAWC,KAAM,KAE7C4f,KAAM,CACFtb,QAAS,CAAEvE,MAAO,GAAaC,KAAM,IACrCqf,MAAO,CAAEtf,MAAO,GAAaC,KAAM,IACnC+O,OAAQ,CAAEhP,MAAO,GAAaC,KAAM,IACpCsf,SAAU,CAAEvf,MAAO,GAAYC,KAAM,IACrCuf,SAAU,CAAExf,MAAO,GAAYC,KAAM,IACrCwf,cAAe,CAAEzf,MAAO,GAAYC,KAAM,KAE9C6f,OAAQ,CACJvb,QAAS,CAAEvE,MAAO,GAAaC,KAAM,IACrC+O,OAAQ,CAAEhP,MAAO,GAAaC,KAAM,IACpCsf,SAAU,CAAEvf,MAAO,GAAYC,KAAM,IACrCuf,SAAU,CAAExf,MAAO,GAAYC,KAAM,IACrCwf,cAAe,CAAEzf,MAAO,GAAYC,KAAM,KAE9C,cAAe,CACXsE,QAAS,CAAEvE,MAAO,GAAaC,KAAM,IACrCqf,MAAO,CAAEtf,MJ5FF,UI4FqBC,KAAM,IAClC+O,OAAQ,CAAEhP,MAAO,GAAaC,KAAM,IACpCsf,SAAU,CAAEvf,MAAO,GAAYC,KAAM,IACrCuf,SAAU,CAAExf,MAAO,GAAYC,KAAM,IACrCwf,cAAe,CAAEzf,MAAO,GAAYC,KAAM,OAI/C,SAAS0d,GAAmBsC,EAAUzE,EAAI5c,GAC7C,IAAIqd,EAAKT,EAAGxY,WAAYA,OAAoB,IAAPiZ,EAAgB,UAAYA,EAAIE,EAAKX,EAAGvO,MAAOA,OAAe,IAAPkP,EAAgB,UAAYA,EAAIE,EAAKb,EAAG1c,KAAMA,OAAc,IAAPud,EAAgB,QAAUA,EACvK6D,EAAiBthB,EAAMqhB,GAC3B,IAAKC,EACD,MAAO,UAGX,IAAKA,EAAeld,GAAa,CAC7B,IAAKkd,EAAwB,QACzB,OAAOd,GAAUa,GAAUnhB,GAAQsgB,GAAUa,GAAUnhB,GAAQ,UAEnEkE,EAAa,SACjB,CAGKkd,EAAeld,GAAYiK,KAC5BA,EAAQ,WAEZ,IAAIkT,EAAmBD,EAAeld,GAClCod,EAAcD,EAAiBlT,GACnC,OAAKmT,EAGEA,EAAYthB,IAASqhB,EAAiB5b,QAAQzF,GAF1C,SAGf,CACO,IAAI,GAAQiC,IAAY,SAAUL,GAAc,MAAO,CAC1D2f,cFxFmCvlB,EEwFL4F,EFxFsB2X,GAASA,GAASA,GAAS,CAAC,EAAGoG,IAAe,CAAEY,WAAY3B,GAAc5iB,GAAQwlB,aAAc,MAAuBC,UAAW1C,GAAa/iB,GAAQob,MAAO4H,GAAShjB,GAAS,cAAe0lB,QA9E7NhF,EA8E+O1gB,EA7EjQmhB,EAAKT,EAAGvO,MAAOA,OAAe,IAAPgP,EAAgB,UAAYA,EACtC,UAAVhP,GAA+B,WAAVA,GAAgC,aAAVA,EAC5C,UACU,aAAVA,EACI,cACA,WAwEmQxJ,OAAQsa,GAAUjjB,GAAQqb,WAAY8H,GAAcnjB,GAAQ2lB,QAASvC,GAAWpjB,GAAQ+hB,WAAYuB,GAActjB,GAAQ4lB,mBAAoBrC,GAAsBvjB,GAAQyH,cAAe+b,GAAiBxjB,GAAQ0I,MAAO+a,GAASzjB,GAAQ,sBAAuB,CAC5gB6lB,OAAQ,EACRC,OAAQ,EACRH,QAAS,GACV,UAAW,CACVtB,eAAgBhB,GAAkBrjB,MAC/BA,EAAM8hB,WAAa,CAAEiE,cAAe,UEmF3CC,cF/E+C,CAC/Cxe,QAAS,OACT2T,SAAU,WACV8K,KAAM,MACNC,IAAK,MACLvf,UAAW,0BAfc,IAAU3G,EA9Eb0gB,EAClBS,EAAehP,CEuKnB,ICtLJ,kBAA0BuO,GACtB,IAAI/f,EAAW+f,EAAG/f,SAAUwlB,EAAczF,EAAGyF,YAAajD,EAAUxC,EAAGwC,QAASpB,EAAYpB,EAAGoB,UAAW3F,EAAOwB,GAAO+C,EAAI,CAAC,WAAY,cAAe,UAAW,cACnK,OAAQ,KAAAlY,KAAI,OAAQ+U,GAAS,CAAE1W,IAAK0W,GAAS,CAAEqG,WAAYuC,EAAc,WAAa,SAAUC,UAAWD,EAAc,WAAa,SAAUE,KAAM,WAAYP,OAAoB,SAAZ5C,EAAqB,EAAI,QAA8BgB,SAAU,OAAQoC,SAAU,SAAUC,aAAc,WAAYhL,WAAY,UAAYsG,GAAgBC,KAAe3F,GAAOxb,EAClW,ECLD,YAA0B+f,GACtB,IAAI8F,EAAM9F,EAAG8F,IAAK7lB,EAAW+f,EAAG/f,SAAUwb,EAAOwB,GAAO+C,EAAI,CAAC,MAAO,aACpE,OAAQ,KAAAlY,KAAI,OAAQ+U,GAAS,CAAE1W,IAAK0W,GAASA,GAAS,CAAE6I,UAAW,SAAU5e,QAAS,cAAeif,SAAU,SAAUvC,SAAU,OAAQ/I,SAAU,YAAeqL,GAAO,CAAE9d,MAAO,SAAa8d,GAAO,CAAEE,eAAgB,YAAgBvK,GAAOxb,EACpP,ECDD,YAA0B+f,GACtB,IAAIwC,EAAUxC,EAAGwC,QAASyD,EAAOjG,EAAGiG,KAAMC,EAAclG,EAAGkG,YAAa9E,EAAYpB,EAAGoB,UAAW3F,EAAOwB,GAAO+C,EAAI,CAAC,UAAW,OAAQ,cAAe,cACvJ,OAAQ,KAAAlY,KAAI,OAAQ+U,GAAS,CAAE1W,IAAK0W,GAAS,CAAE6I,UAAW,SAAU5e,QAAS,OAAQqf,WAAY,EAAGxL,WAAY,EAAG0I,SAAU,EAAGzI,WAAY,OAAQwK,OAAoB,SAAZ5C,EAC9I,EACA0D,EACI,SACA,SAAgC/E,GAAgBC,KAAe3F,GAAOwK,EAC3F,E,cCZUG,GAAY,CACnB3gB,OAAQ,EACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,IAEDwgB,GAAeD,GAAU1gB,MCAhC4gB,GAAgB,CAChBpnB,MAAM,KAAA6G,WAAUwgB,KAAqBA,GAAmB1I,GAAqB,CAAC,0DAA2D,CAAC,6DAC1I2I,aAAa,KAAAzgB,WAAU0gB,KAAqBA,GAAmB5I,GAAqB,CAAC,uFAAwF,CAAC,0FAC9K6I,aAAa,KAAA3gB,WAAU4gB,KAAqBA,GAAmB9I,GAAqB,CAAC,wFAAyF,CAAC,2FAC/K+I,cAAc,KAAA7gB,WAAU8gB,KAAqBA,GAAmBhJ,GAAqB,CAAC,0DAA2D,CAAC,8DAiBlJiJ,GAAU,SAAU9G,GAEpB,OADWA,EAAGtY,KACA,IAClB,EACIqf,GAAY,gBAAYC,KAAqBA,GAAmBnJ,GAAqB,CAAC,OAAQ,iCAAkC,eAAgB,iQAAkQ,CAAC,OAAQ,iCAAkC,eAAgB,oQAnB9a,SAAUmC,GACzC,IAAIvY,EAAQuY,EAAGvY,MAAOwf,EAAQjH,EAAGiH,MACjC,MAAc,UAAVA,GAGO,KAAA9gB,KAAI+gB,KAAqBA,GAAmBrJ,GAAqB,CAAC,sBAAuB,KAAM,WAAY,CAAC,sBAAuB,KAAM,aAAcpW,EAAO6e,GAAcpnB,MAEzK,UAAV+nB,GAA+B,SAAVA,GACd,KAAA9gB,KAAIghB,KAAqBA,GAAmBtJ,GAAqB,CAAC,8CAA+C,WAAY,CAAC,8CAA+C,aAAcyI,GAAcE,aAEtM,UAAVS,GACO,KAAA9gB,KAAIihB,KAAqBA,GAAmBvJ,GAAqB,CAAC,iDAAkD,qCAAsC,WAAY,CAAC,iDAAkD,qCAAsC,aAAcyI,GAAcI,YAAaJ,GAAcM,cAE1T,EACX,GAK4uBE,GAASA,IACrvBC,GAAU/O,YAAc,mBACxB,YACA,IAAIuO,GAAkBE,GAAkBE,GAAkBE,GAAkBK,GAAkBC,GAAkBC,GAAkBJ,GC9B9HK,GAAiB,SAAU3f,GAAQ,OAAO4f,KAAKC,MAAM7f,EAAO,GAAK,EACjE8f,GAAyB,SAAU9f,GACnC,IACI+f,EAAe/f,EAAO,EADR2f,GAAe3f,GACW,EAC5C,OAAO4f,KAAKI,GAAKD,EAAe,CACpC,EAMI,GAAgB,CAChBvoB,MAAM,KAAA6G,WAAU,KAAqB,GAAmB8X,GAAqB,CAAC,0DAA2D,CAAC,6DAC1I/X,QAAQ,KAAAC,WAAU,KAAqB,GAAmB8X,GAAqB,CAAC,+CAAgD,CAAC,kDACjI8J,cAAc,KAAA5hB,WAAU,KAAqB,GAAmB8X,GAAqB,CAAC,0DAA2D,CAAC,6DAClJ+J,kBAAkB,KAAA7hB,WAAU,KAAqB,GAAmB8X,GAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACpN,eAAgB2J,GAAuBpB,GAAU1gB,OACjD,GADyD8hB,GAAuBpB,GAAU1gB,QAE9FmiB,mBAAmB,KAAA9hB,WAAU,KAAqB,GAAmB8X,GAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACrN,eAAgB2J,GAAuBpB,GAAUzgB,QACjD,GAD0D6hB,GAAuBpB,GAAUzgB,SAE/FmiB,kBAAkB,KAAA/hB,WAAU,KAAqB,GAAmB8X,GAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACpN,eAAgB2J,GAAuBpB,GAAUxgB,OACjD,GADyD4hB,GAAuBpB,GAAUxgB,QAE9FmiB,mBAAmB,KAAAhiB,WAAU,KAAqB,GAAmB8X,GAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACrN,eAAgB2J,GAAuBpB,GAAUvgB,QACjD,GAD0D2hB,GAAuBpB,GAAUvgB,UAc/FmiB,GAAe,GAAO,CAAExjB,MAAO,GAAMC,KAAM,KAC3CwjB,GAAuB,GAAO,CAAEzjB,MAAO,GAAIC,KAAM,KAC1CoD,GAAiB,SAAUmY,GAClC,IAAIkI,EAAclI,EAAGkI,YAAa5oB,EAAQ2d,GAAO+C,EAAI,CAAC,gBACtD,OAAOkI,EAAcD,GAAqB3oB,GAAS0oB,GAAa1oB,EACpE,EACW6oB,IAAY,KAAAhiB,KAAIiiB,KAAsBA,GAAoBvK,GAAqB,CAAC,OAAQ,OAAQ,CAAC,OACxG,UAAU,SAAUve,GACpB,IAAI+oB,EAAgBb,GAAuBloB,EAAMoI,MAQjD,OAAO,KAAAvB,KAAImiB,KAAsBA,GAAoBzK,GAAqB,CAAC,WAAY,sCAAuC,8BAA+B,iCAAkC,0DAA2D,8CAA+C,CAAC,WAAY,sCAAuC,8BAA+B,iCAAkC,0DAA2D,iDAPzc,SAAU0K,GACtB,IAAIC,EAAgB,oDACpB,MAAwB,UAApBD,EAAUtB,OACH,KAAA9gB,KAAIsiB,KAAqBA,GAAmB5K,GAAqB,CAAC,0BAA2B,IAAK,mCAAoC,mCAAoC,eAAgB,CAAC,0BAA2B,IAAK,mCAAoC,mCAAoC,iBAAkB2K,EAAe,GAAc1iB,OApBxU,SAAU4B,GACnC,IAAIghB,EAAmB5e,OAAOoG,KAAKkW,IAAWuC,MAAK,SAAUC,GAAY,OAAOlhB,IAAS0e,GAAUwC,EAAW,IAC9G,GAAIF,EACA,OAAO,GAAcA,EAAmB,eAE5C,IAAIL,EAAgBb,GAAuB9f,GAC3C,OAAO,KAAA3B,WAAU,KAAqB,GAAmB8X,GAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCAAuC,eAAgBwK,EAA+B,GAAhBA,EACvR,CAa6WQ,CAAuBN,EAAU7gB,MAAO,GAAcigB,eAEpZ,KAAAxhB,KAAI2iB,KAAsBA,GAAoBjL,GAAqB,CAAC,wBAAyB,IAAK,aAAc,CAAC,wBAAyB,IAAK,eAAgB2K,EAAe,GAAc1iB,OACvM,GACqhB+B,GAAgBwgB,EAA+B,GAAhBA,EAAqBhB,GAAe/nB,EAAMoI,MAClmB,IACIqhB,GAAM,eAAWC,KAAsBA,GAAoBnL,GAAqB,CAAC,OAAQ,OAAQ,CAAC,OAAQ,SAAUsK,IACxHY,GAAI/Q,YAAc,aAClB,YACA,IAAI,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkByQ,GAAkBK,GAAmBR,GAAmBF,GAAmBY,GC1D3NC,GAAQ,gBAAY,KAAqB,GAAmBpL,GAAqB,CAAC,2DAA4D,CAAC,8DACnJoL,GAAMjR,YAAc,QA8EpB,SA7E6B,SAAUsG,GAEnC,SAAS4K,EAAQ5pB,GACb,IAAIyM,EAAQuS,EAAOrU,KAAKzK,KAAMF,IAAUE,KAgDxC,OA/CAuM,EAAMod,eAAiB,KACvBpd,EAAMsF,MAAQ,WACEtF,EAAMzM,MAAMmI,MAEpBsE,EAAM6G,SAAS,CAAEqU,MAAO,UAGxBlb,EAAM6G,SAAS,CAAEqU,MAAO,SAEhC,EACAlb,EAAMqd,KAAO,WACTrd,EAAM6G,SAAS,CAAEqU,MAAO,QAC5B,EACAlb,EAAMwG,KAAO,WACTxG,EAAM6G,SAAS,CAAEqU,MAAO,SAC5B,EACAlb,EAAMsd,YAAc,SAAUhe,EAAMqS,GAChC,IAAI4L,EAAkB,SAAUzpB,GAE5B,GAA6B,QAAzBA,EAAMiL,OAAOye,QAUjB,MAP0B,UAAtBxd,EAAM0F,MAAMwV,OACZlb,EAAM6G,SAAS,CAAEqU,MAAO,UACxBlb,EAAMsd,YAAYhe,EAAMqS,IAGxBA,IAEGrS,GAAQA,EAAKme,oBAAoB,eAAgBF,EAC5D,EAIA,OAAIje,GAAQA,EAAKoe,iBACNpe,EAAKoe,iBAAiB,eAAgBH,GAE1C5L,GACX,EACA3R,EAAM2d,aAAe,WACjB,IAAIhiB,EAAOqE,EAAMzM,MAAMoI,KACnBiiB,EAAcvD,GAAU1e,IAASA,EACrC,MAA8B,iBAAhBiiB,EAA2BA,EAActD,EAC3D,EACAta,EAAM0F,MAAQ,CACVwV,MAAO,IAEJlb,CACX,CAuBA,OA1EA4Q,GAAUuM,EAAS5K,GAoDnB4K,EAAQnf,UAAU/J,OAAS,WACvB,IAAI+L,EAAQvM,KACRynB,EAAQznB,KAAKiS,MAAMwV,MACnBjH,EAAKxgB,KAAKF,MAAOmI,EAAQuY,EAAGvY,MAAOygB,EAAclI,EAAGkI,YAAa0B,EAAe5J,EAAG4J,aAAcriB,EAASyY,EAAGzY,OAC7GG,EAAOlI,KAAKkqB,eAEZjC,EAAe/f,EAAO,EADR4f,KAAKC,MAAM7f,EAAO,IACQ,EAC5C,OAAQ,gBAAoBuhB,GAAO,KAC/B,gBAAoB,GAAAlY,WAAY,CAAE2C,eAAgBlU,KAAK6pB,YAAalY,QAAQ,EAAMpB,IAAK6Z,EAAcpY,cAAc,EAAMD,eAAe,EAAMnF,QAAS5M,KAAK6R,MAAO1E,UAAWnN,KAAK4pB,KAAMrc,OAAQvN,KAAK+S,KAAMtF,SAAU,WAAc,OAAOlB,EAAMzM,MAAMuqB,YAAc,EAAGrX,QAAS,EAAGzR,IAAK,SAAUsK,GAC3RU,EAAMod,eAAiB9d,CAC3B,GACA,gBAAoB,GAAW,CAAE5D,MAAOA,EAAQ,IAAMwf,MAAOA,EAAOvf,KAAMA,EAAM,cAAeH,GAC3F,gBAAoB,GAAK,CAAEuiB,UAAW,QAAS7hB,OAAQP,EAAMwgB,YAAaA,EAAajB,MAAOA,EAAOvf,KAAMA,EAAMQ,QAAS,OAASR,EAAO,IAAMA,EAAMM,MAAON,EAAMS,MAAO,8BACtK,gBAAoB,SAAU,CAAEC,GAAIV,EAAO,EAAGW,GAAIX,EAAO,EAAGY,EAAGmf,OACnF,EACAyB,EAAQvb,aAAe,CACnBlG,MAAO,IACPmiB,cAAc,EACd1B,aAAa,EACb2B,WAAY,WAAc,EAC1BniB,KAAM,UAEHwhB,CACX,CA5E4B,CA4E1B,EAAA9pB,WAEF,IAAI,GClFA2qB,GAAc,CAAC,UAAW,UA8B9B,SA7BoC,SAAUzL,GAE1C,SAAS0L,IACL,IAAIje,EAAmB,OAAXuS,GAAmBA,EAAOnT,MAAM3L,KAAMwL,YAAcxL,KAgBhE,OAfAuM,EAAMke,cAAgB,WAClB,IAAIjK,EAAKjU,EAAMzM,MAAOkI,EAAawY,EAAGxY,WAAY0Z,EAAalB,EAAGkB,WAAYR,EAAaV,EAAGU,WAC9F,QAAIQ,IAGAR,QAGepf,IAAfkG,IACyC,IAArCuiB,GAAY3gB,QAAQ5B,EAKhC,EACOuE,CACX,CAOA,OA1BA4Q,GAAUqN,EAAgB1L,GAoB1B0L,EAAejgB,UAAU/J,OAAS,WAC9B,IAAIggB,EAAKxgB,KAAKF,MAAOkjB,EAAUxC,EAAGwC,QAASrJ,EAAS6G,EAAG7G,OACnDwQ,EAA0B,YAAZnH,EAAwB,QAAU,SACpD,OAAQ,KAAA1a,KAAI,MAAO,CAAE3B,IAAKgT,IACtB,KAAArR,KAAI,GAAS,CAAEJ,KAAMiiB,EAAazB,YAAa1oB,KAAKyqB,kBAC5D,EACOD,CACX,CA5BmC,CA4BjC,aCpBF,IAAIE,GAAwB,SAAU5L,GAElC,SAAS4L,IACL,IAAIne,EAAmB,OAAXuS,GAAmBA,EAAOnT,MAAM3L,KAAMwL,YAAcxL,KA+DhE,OA7DAuM,EAAMoe,OAAS,cAEfpe,EAAMqe,gBtBId,SAAoBC,EAAUC,GAE1B,IAAIC,OADY,IAAZD,IAAsBA,EAAUnM,IAEpC,IACIqM,EADAC,EAAW,GAEXC,GAAa,EAejB,OAdA,WAEI,IADA,IAAIC,EAAU,GACLxK,EAAK,EAAGA,EAAKnV,UAAUC,OAAQkV,IACpCwK,EAAQxK,GAAMnV,UAAUmV,GAE5B,OAAIuK,GAAcH,IAAa/qB,MAAQ8qB,EAAQK,EAASF,KAGxDD,EAAaH,EAASlf,MAAM3L,KAAMmrB,GAClCD,GAAa,EACbH,EAAW/qB,KACXirB,EAAWE,GALAH,CAOf,CAEJ,CsBzBgC,CAAQlJ,IAChCvV,EAAM0F,MAAQ,CACVmP,UAAU,EACVE,SAAS,EACTE,SAAS,GAEbjV,EAAM6e,cAAgB,WAAc,OAAQ7e,EAAMzM,MAAMohB,aAAe3U,EAAMzM,MAAM8hB,SAAW,EAC9FrV,EAAM8e,aAAe,SAAU9nB,GAC3BgJ,EAAM6G,SAAS,CAAEoO,SAAS,IACtBjV,EAAMzM,MAAMurB,cACZ9e,EAAMzM,MAAMurB,aAAa9nB,EAEjC,EACAgJ,EAAM+e,aAAe,SAAU/nB,GAC3BgJ,EAAM6G,SAAS,CAAEoO,SAAS,EAAOJ,UAAU,IACvC7U,EAAMzM,MAAMwrB,cACZ/e,EAAMzM,MAAMwrB,aAAa/nB,EAEjC,EACAgJ,EAAMgf,YAAc,SAAUhoB,GAC1BA,EAAEioB,iBACFjf,EAAM6G,SAAS,CAAEgO,UAAU,IACvB7U,EAAMzM,MAAMyrB,aACZhf,EAAMzM,MAAMyrB,YAAYhoB,EAEhC,EACAgJ,EAAMkf,UAAY,SAAUloB,GACxBgJ,EAAM6G,SAAS,CAAEgO,UAAU,IACvB7U,EAAMzM,MAAM2rB,WACZlf,EAAMzM,MAAM2rB,UAAUloB,EAE9B,EACAgJ,EAAMmf,QAAU,SAAUrrB,GACtBkM,EAAM6G,SAAS,CAAEkO,SAAS,IACtB/U,EAAMzM,MAAM4rB,SACZnf,EAAMzM,MAAM4rB,QAAQrrB,EAE5B,EACAkM,EAAMof,OAAS,SAAUtrB,GACrBkM,EAAM6G,SAAS,CAAEkO,SAAS,IACtB/U,EAAMzM,MAAM6rB,QACZpf,EAAMzM,MAAM6rB,OAAOtrB,EAE3B,EACAkM,EAAMqf,WAAa,WACf,IAAIpL,EAAKjU,EAAMzM,MAAO+rB,EAAOrL,EAAGqL,KAAM3K,EAAaV,EAAGU,WACtD,OAAI2K,EACO3K,EAAa,OAAS,IAE1B,QACX,EAGA3U,EAAMuf,aAAe,SAAUvoB,GAI3B,OAHKgJ,EAAM6e,iBACP7nB,EAAEwoB,mBAEC,CACX,EACOxf,CACX,CAkDA,OApHA4Q,GAAUuN,EAAQ5L,GAmElB4L,EAAOngB,UAAUgI,kBAAoB,WAC7BvS,KAAKF,MAAMksB,WAAahsB,KAAK2qB,kBAAkBsB,mBAC/CjsB,KAAK2qB,OAAO3F,OAEpB,EACA0F,EAAOngB,UAAU/J,OAAS,WACtB,IAAI+L,EAAQvM,KACRwgB,EAAKxgB,KAAKF,MAAOmhB,EAAKT,EAAGxY,WAAYA,OAAoB,IAAPiZ,EAAgB,UAAYA,EAAIxgB,EAAW+f,EAAG/f,SAAU0I,EAAYqX,EAAGrX,UAAW+iB,EAAkB1L,EAAG3K,UAAWsW,EAAc3L,EAAG2L,YAAaC,EAAY5L,EAAG4L,UAAWC,EAAa7L,EAAG6L,WAAYlL,EAAKX,EAAGU,WAAYA,OAAoB,IAAPC,GAAwBA,EAAIE,EAAKb,EAAGoB,UAAWA,OAAmB,IAAPP,GAAwBA,EAAIE,EAAKf,EAAGkB,WAAYA,OAAoB,IAAPH,GAAwBA,EAAIE,EAAKjB,EAAGgD,mBAAoBA,OAA4B,IAAP/B,GAAwBA,EAAI6K,EAAK9L,EAAGwC,QAASA,OAAiB,IAAPsJ,EAAgB,UAAYA,EAAIC,EAAK/L,EAAG5c,MAAOA,OAAe,IAAP2oB,EAAgB,SAAUtrB,EAASnB,GAAS,OAAOmB,EAAQnB,EAAQ,EAAIysB,EAAIxkB,EAASyY,EAAGzY,OAAQkU,EAAOwB,GAAO+C,EAAI,CAAC,aAAc,WAAY,YAAa,YAAa,cAAe,YAAa,aAAc,aAAc,YAAa,aAAc,qBAAsB,UAAW,QAAS,WAC/2BgM,EAAanP,GAASA,GAAS,CAAC,EAAGrd,KAAKiS,OAAQ,CAAEyP,WAAYA,EAAYR,WAAYA,IACtFuL,EAAeP,GAAmBlsB,KAAK4rB,aACvCc,MAAsBL,GAAeD,GAAc3rB,MAClD2rB,GAAcC,GAAe5rB,IAclC,OAAQ,KAAA6H,KAAI,YAAgB,CAAE5H,MAAOkD,IACjC,KAAA0E,KAAI,YAAsB,MAAM,SAAUkY,GACtC,IAAI1c,EAAO0c,EAAG1c,KACd,OAAQ,KAAAwE,KAAI,YAAgB+U,GAAS,CAAEvZ,KAAMA,EAAMmO,MAAO+O,GAAqBwL,GAAaE,gBAAiBA,GAAmBngB,EAAMzM,QAAQ,SAAU0gB,GACpJ,IAjBe7G,EAiBX0L,EAAe7E,EAAG6E,aAAcS,EAAgBtF,EAAGsF,cACvD,OAAQ,KAAAxd,KAAImkB,EAAcpP,GAAS,CAAC,EZzF/B,SAEzBmD,EAAI9S,GAC2B8S,EAAGK,qBAA9B,IAAoD/gB,EAAQ2d,GAAO+C,EAEnE,CAAC,yBACD,MAAa,SAAT9S,GACa5N,EAAMwL,OAAexL,EAAM+rB,KAAapO,GAAO3d,EAAO,CAAC,SAAU,UAG3EA,CACX,CY8E2D6sB,CAAY1Q,EAAMwQ,GAAe,CAAE,cAAe1kB,EAAQxG,IAAKgL,EAAMqe,gBAAgBre,EAAMoe,OAAQwB,GAAcd,aAAc9e,EAAM8e,aAAcC,aAAc/e,EAAM+e,aAAcC,YAAahf,EAAMgf,YAAaE,UAAWlf,EAAMkf,UAAWC,QAASnf,EAAMmf,QAASC,OAAQpf,EAAMof,OAAQpH,SAAUrD,EAAY/X,UAAWA,EAAWxC,KAlBnWgT,EAkBmX0L,EAjBrX,MAAjBoH,EACO,CACH,KAAM9S,GAGL8S,IAAiBP,EACf,CACH,oCAAqCvS,GAGtCA,MAQK,KAAArR,KAAIskB,GAAc,CAAEC,QAAStgB,EAAMuf,aAAcxF,MAAO9C,GACpD5B,IAAc,KAAAtZ,KAAI,GAAgB,CAAE0a,QAASA,EAAShb,WAAYA,EAAY0Z,WAAYA,EAAYR,WAAYA,EAAYvH,OAAQmM,IACtIuG,IAAe,KAAA/jB,KAAIwkB,GAAa,CAAElL,UAAWA,EAAWoB,QAASA,EAAS0D,YAAagG,EAAiBjG,KAAM4F,IAC9G5rB,IAAa,KAAA6H,KAAIykB,GAAS,CAAEnL,UAAWA,EAAWqE,cAAeoG,EAAYrJ,QAASA,GAAWviB,GACjG2rB,IAAc,KAAA9jB,KAAIwkB,GAAa,CAAElL,UAAWA,EAAWoB,QAASA,EAAS0D,YAAagG,EAAiBjG,KAAM2F,KACzH,GACJ,IACR,EACA1B,EAAOvc,aAAe,CAClBnG,WAAY,UACZgkB,WAAW,EACX9K,YAAY,EACZU,WAAW,EACXF,YAAY,EACZ8B,oBAAoB,EACpBR,QAAS,UACTtV,KAAM,UAEHgd,CACX,CAtH2B,CAsHzB,aAEEsC,IAAkD,WCtIV,SAAU1N,GAAW,OAAO,SAAUuB,GAC9E,IAAIoM,EAAgBpM,EAAqBvB,GACrC4N,EAAcD,EAAc9N,QAIhC,OAHI+N,GACAA,EAAYxN,KDkIkC,YChI3CuN,CACX,CAAG,GDgICE,GAAgB,cAAiB,SAAUrtB,EAAOyB,GAAO,OAAO,KAAA+G,KAAIoiB,GAAQrN,GAAS,CAAC,EAAGvd,EAAO,CAAEqsB,YAAa5qB,IAAS,IAC5H4rB,GAAc3U,YAAc,SAC5B,UEtIqC4U,GFsID,CAChC7U,cAAe,SACf8U,YAAa,MACbC,eAAgB,OEzIuC,SAAU/S,GACjE,IAAIgT,EAAuB,cAAiB,SAAUztB,EAAOyB,GACzD,IAAIif,EAAK1gB,EAAMa,iBAAkBA,OAA0B,IAAP6f,EAAgB,CAAC,EAAIA,EAAIvE,EAAOwB,GAAO3d,EAAO,CAAC,qBAC/F0tB,EAAgBnQ,GAASA,GAAS,CAAC,EAAG+P,IAAczsB,GACxD,OAAQ,gBAAoB,GAAkB,CAAEse,KAAMuO,GAClD,gBAAoBjT,EAAkB8C,GAAS,CAAC,EAAGpB,EAAM,CAAE1a,IAAKA,KACxE,IAIA,OAFAgsB,EAAqB/U,YAAc,yBAA2B+B,EAAiB/B,aAC3E+B,EAAiBpX,MAAQ,IACtBoqB,CACX,ICXoCpN,GH0Ib,CACnB0M,QAASG,GAA6B,CAClCS,OAAQ,UACRC,cAAe,SACflB,WAAY,CACRjU,cAAe,SACf8U,YAAa,MACbC,eAAgB,UGjJiC,SAAU/S,GACnE,IAAIoT,EAAsB,cAAiB,SAAU7tB,EAAOyB,GAAO,OAAQ,gBAAoB,GAA0B,CAAE4e,eAAgBA,GAAgBW,sBAAuBhhB,IAAS,SAAU0gB,GACjM,IAAIK,EAAuBL,EAAGK,qBAAsBb,EAAoBQ,EAAGR,kBAC3E,OAAQ,gBAAoBzF,EAAkB8C,GAAS,CAAC,EAAGvd,EAAOkgB,EAAmB,CAAEa,qBAAsBA,EAAsBtf,IAAKA,IAC5I,GAAK,IAIL,OAFAosB,EAAoBnV,YAAc,wBAA0B+B,EAAiB/B,aACzE+B,EAAiBpX,MAAQ,IACtBwqB,CACX,GH2IGR,KI1IUS,GAAa,cAAU;;;;;;;;;EAWvBC,GAAU,cAAU;;EAIpBC,GAAc,YAAQ;;;EAKtBC,GAAqB,eAAW;;EAIhCC,GAAiB,cAAU;;;EAK3BC,GAA4B,YAAQ;;;;EAMpCC,GAAkB,cAAU;;;EAK5BC,GAAiB,YAAQ;;;WAG3B;;;sBAGW;;;;EAMTC,IAAY,cAAO,GAAO;;;;WAI5B;;;wBAGa;aACX;;;wBAGW;;;;wBAIA;;EAIXC,GAAc,yYAeL,+MAQE,+lBCzGlBC,GAAY,cACLC,IAAW,SAAe,CACrCC,sBAAuB,CACrBjS,GAAI,GAAG+R,0BACPG,eAAgB,gCAElBC,kBAAmB,CACjBnS,GAAI,GAAG+R,sBACPG,eAAgB,UAElBE,cAAe,CACbpS,GAAI,GAAG+R,kBACPG,eAAgB,eAElBG,uBAAwB,CACtBrS,GAAI,GAAG+R,2BACPG,eAAgB,SAElBI,wBAAyB,CACvBtS,GAAI,GAAG+R,4BACPG,eAAgB,UAElBK,kBAAmB,CACjBvS,GAAI,GAAG+R,sBACPG,eAAgB,mDAElBM,uBAAwB,CACtBxS,GAAI,GAAG+R,2BACPG,eAAgB,uDAElBO,qBAAsB,CACpBzS,GAAI,GAAG+R,yBACPG,eAAgB,8CAElBQ,0BAA2B,CACzB1S,GAAI,GAAG+R,8BACPG,eAAgB,sBAElBS,wBAAyB,CACvB3S,GAAI,GAAG+R,4BACPG,eAAgB,oBAElBU,0BAA2B,CACzB5S,GAAI,GAAG+R,8BACPG,eAAgB,2BAElBW,wBAAyB,CACvB7S,GAAI,GAAG+R,4BACPG,eAAgB,yBAElBY,cAAe,CACb9S,GAAI,GAAG+R,kBACPG,eAAgB,oBCtCda,GAA0B,aAC1BC,GAAwB,WACxBC,GAAsB,SACtBC,GAAkB,cHhBE,IAAUtP,GDACiN,GIoO9B,SAASsC,GACdC,GAEA,OAAIA,EAAsBC,mBACjB,CAAEC,gBAAiB,GAAG,KAAO3U,MAAO,GAAG,MAEvC,CAAE2U,gBAAiB,GAAG,KAAO3U,MAAO,GAAG,KAElD,CCzNA,SAAS4U,IAAoB,mBAC3BC,EAAkB,qBAClBC,EAAoB,yBACpBC,EAAwB,4BACxBC,EAA2B,eAC3BC,EAAc,KACdC,EAAI,0BACJC,IAQA,MAeMC,GAAgB,IAAA9uB,QAAyB,MAEzCmuB,EDxBD,UAAiC,mBACtCI,EAAkB,KAClBK,EAAI,qBACJJ,EAAoB,yBACpBC,IAKA,MAAMN,EAAmD,CACvDxsB,KAAM,GACNotB,YAAa,GACbC,cAAe,EACfC,kBAAmB,GACnBC,aAAc,GACdC,yBAA0B,GAC1BnC,sBAAuB,GACvBoB,mBAAoB,GACpBgB,WAAW,EACXC,oBAAqB,GACrBC,UAAW,IAGbnB,EAAsBxsB,KAAO4sB,EAAmB5sB,KAChDwsB,EAAsBgB,yBACpBZ,EAAmBgB,eACrBpB,EAAsBnB,sBACpBuB,EAAmBvB,sBACrBmB,EAAsBC,mBACpBG,EAAmBH,mBACrBD,EAAsBa,cAAgBT,EAAmBS,cAEzDb,EAAsBiB,UAAYb,EAAmBa,UACrDjB,EAAsBkB,oBACpBd,EAAmBc,oBACrBlB,EAAsBmB,UAAYf,EAAmBe,UAGrD,MAAME,EAAmB,IAAIC,gBAAgBhuB,OAAOiuB,SAASC,QACvDC,EAAoB,IAAIH,gBAE9BG,EAAkBtmB,IAlDa,SAoD7B6kB,EAAsBmB,WAExBM,EAAkBtmB,IArDqB,sBAuDrC6kB,EAAsBkB,qBAGxBO,EAAkBtmB,IAAI,SAAU,OAEhCmlB,SAAAA,EAA0BjkB,SAASqlB,IAC7BL,EAAiBM,IAAID,IACvBD,EAAkBtmB,IAAIumB,EAAOL,EAAiBnmB,IAAIwmB,IAAU,G,IAIhE1B,EAAsB4B,iBAAmB,GAAGvB,KAAwBoB,EAAkBI,aAGtF,IAAId,EAAe,GAEjBX,EAAmB0B,YAAYC,gBAAkBpC,IACjDS,EAAmBQ,YAAYmB,gBAAkBlC,GAEjDkB,EAAeN,EAAKuB,cAAcpD,GAASU,2BAE3Cc,EAAmB0B,YAAYC,gBAAkBpC,IACjDS,EAAmBQ,YAAYmB,gBAAkBjC,KAEjDiB,EAAeN,EAAKuB,cAAcpD,GAASY,4BAG3CY,EAAmB0B,YAAYC,gBAAkBnC,IACjDQ,EAAmBQ,YAAYmB,gBAAkBlC,GAEjDkB,EAAeN,EAAKuB,cAAcpD,GAASW,yBAE3Ca,EAAmB0B,YAAYC,gBAAkBnC,IACjDQ,EAAmBQ,YAAYmB,gBAAkBjC,KAEjDiB,EAAeN,EAAKuB,cAAcpD,GAASa,0BAG7CO,EAAsBe,aAAeA,EAGrC,IAAIH,EAAc,GACdR,EAAmBQ,YAAYmB,gBAAkBlC,GACnDe,EAAcH,EAAKuB,cAAcpD,GAASG,mBACjCqB,EAAmBQ,YAAYmB,gBAAkBjC,KAC1Dc,EAAcH,EAAKuB,cAAcpD,GAASI,gBAE5CgB,EAAsBY,YAAcA,EAgBpC,IAAIE,EAAoBL,EAAKuB,cAAcpD,GAASK,wBAapD,OAZmBmB,EAAmB5sB,KAAKyuB,MACzC,sDAIAnB,EAAoBL,EAAKuB,cAAcpD,GAASM,0BAElDc,EAAsBc,kBAAoBA,EAG1Cd,EAAsBgB,yBAA2B,OAAOZ,EAAmBgB,iBAEpEpB,CACT,CCpGgCkC,CAAwB,CACpD9B,qBACAK,OACAJ,uBACAC,6BAGF,OACE,gBAACrC,GAAU,KAMT,6BAAQS,IAER,uBACEllB,UACEwmB,EAAsBC,mBAClB,2BACAO,IAAmBR,EAAsBgB,yBACzC,mBACA,4BAEN9D,QACE8C,EAAsBC,wBAClB9tB,EA3CgB,KAExBwuB,GACAA,EAAcrvB,SACdqvB,EAAcrvB,QAAQ6wB,UAEtBxB,EAAcrvB,QAAQ6wB,SAAU,GAE9B5B,GACFA,EACEP,EAAsBgB,yB,GAqCrBhB,EAAsBC,mBAAqB,GAG1C,uBAAKzmB,UAAU,gBACb,yBACE5H,IAAK+uB,EACL5iB,KAAK,QACLvK,KAAK,oBAIX,uBAAKgG,UAAU,eACb,gBAAC0kB,GAAO,KACN,gBAACC,GAAW,KACT6B,EAAsBY,Y,MACvB,gBAACxC,GAAkB,KAChB4B,EAAsBa,c,IAChBb,EAAsBc,kB,MAC5Bd,EAAsBe,gBAI7B,gBAAC1C,GAAc,KACb,gBAACC,GAAyB,KACvB0B,EAAsBgB,yB,MACtBP,EAAKuB,cAAcpD,GAASC,sBAAuB,CAClDuD,QAAS3B,EAAK4B,WACZ,IAAIC,KAAKtC,EAAsBnB,4BAKvC,gBAACN,GAAe,KACd,gBAACC,GAAc,CAAC5lB,MAAOmnB,GAAoBC,IDuChD,UAAuC,sBAC5CA,EAAqB,KACrBS,EAAI,0BACJC,IAQA,IAAI6B,EAAwB,GAE5B,MAAMC,EAAmBxC,EAAsBnB,sBAC/C,GAAImB,EAAsBC,mBAAoB,CAC5C,MAAMwC,EAAwBhC,EAAK4B,WACjC,IAAIC,KAAKtC,EAAsBC,qBAEjCsC,EAAwB9B,EAAKuB,cAAcpD,GAASS,qBAAsB,CACxE+C,QAASK,G,KAEN,CACL,MAAMC,EAAM,IAAIJ,KAEhBI,EAAIC,SAAS,EAAG,EAAG,EAAG,GAEtB,MAAMC,EAAoB,IAAIN,KAAKE,GACnC,IAAIK,EAEJ,MAAMC,EAAkB,MAClBC,EAAmB,IAAMD,EAEzBE,EAAaN,EAAIO,UACjBC,EAAaN,EAAkBK,UAGrC,GAAIL,EAAoBF,IAFAQ,EAAaF,GAAcF,EAEH,GAC9CP,EAAwB9B,EAAKuB,cAC3BpD,GAASQ,4BAEN,CAEHwD,EAAkBO,UAAYT,EAAIS,WAGNJ,GAI5BF,EAAoBH,EACpBG,EAAkBO,gBAChBP,EAAkBQ,kBAAoBN,IAIxCF,EAFSnC,EAEW,IAAI4B,KAAKA,KAAKI,MAAQK,GAGtB,IAAIT,KAAKM,GAG/B,MAAMU,EAAwB7C,EAAK4B,WAAWQ,GAE9CN,EAAwB9B,EAAKuB,cAAcpD,GAASO,kBAAmB,CACrEiD,QAASkB,G,EAKf,OAAOf,CACT,CC5GegB,CAA8B,CAC7BvD,wBACAS,OACAC,iCAKPV,EAAsBC,mBAAqB,GAG1C,uBAAKzmB,UAAU,YACb,gBAACilB,GAAS,CACRpmB,WAAW,UACX6jB,KAAM8D,EAAsB4B,iBAC5BrQ,WACEiP,IACAR,EAAsBgB,0BAGvBP,EAAKuB,cAAcpD,GAASc,kBAO3C,CAEAS,GAAoBvB,SAAWA,GAE/B,UAAe,SAAWuB,ICnJpB,GAAY,YACL,IAAW,SAAe,CACrCqD,sBAAuB,CACrB5W,GAAI,GAAG,0BACPkS,eAAgB,uCAElB2E,qBAAsB,CACpB7W,GAAI,GAAG,yBACPkS,eAAgB,oBAElB4E,uBAAwB,CACtB9W,GAAI,GAAG,2BACPkS,eAAgB,wDAElB6E,sBAAuB,CACrB/W,GAAI,GAAG,0BACPkS,eACE,8HAEJ8E,iBAAkB,CAChBhX,GAAI,GAAG,qBACPkS,eAAgB,mDAElB+E,iBAAkB,CAChBjX,GAAI,GAAG,qBACPkS,eACE,mNAEJgF,mBAAoB,CAClBlX,GAAI,GAAG,uBACPkS,eAAgB,cAElBiF,mCAAoC,CAClCnX,GAAI,GAAG,uCACPkS,eAAgB,cAElBkF,cAAe,CACbpX,GAAI,GAAG,kBACPkS,eACE,sEAEJmF,sBAAuB,CACrBrX,GAAI,GAAG,0BACPkS,eAAgB,Y,2BCjBpB,SAASoF,IAAkB,YACzBC,EAAW,KACX1D,EAAI,aACJ2D,EAAY,qBACZ/D,EAAoB,WACpBgE,EAAU,SACVC,EAAQ,yBACRhE,EAAwB,0BACxBI,EAAyB,mBACzB6D,GAAqB,IAErB,MAAO/D,EAAgBgE,IAAqB,IAAAC,UAAS,IAC/ClE,EAA+BmE,IACnCF,EAAkBE,EAAS,EAGvBC,ECzCD,SACLR,EACAI,GAAqB,GAerB,MAAMI,EAAwC,CAC5CC,gBAAiB,GACjBC,eAAgB,GAChBC,eAAgB,GAChBC,gBAAiB,GACjBC,qBAAsB,GACtBC,mBAAoB,GACpBC,kBAAmB,GACnBC,kBAAmB,GACnBC,mBAAoB,GACpBC,wBAAyB,IAGrBC,EACJ,eAAuB,iCACvBf,EA+EF,OA1EAI,EAAiBC,gBAAkBT,EAAYjsB,QAAQqtB,GACrDA,EAAK/xB,KAAKyuB,MAAM,4CACfsD,EAAKtF,oBACNsF,EAAKtE,UACDsE,EACA,OAENZ,EAAiBE,eAAiBV,EAAYjsB,QAAQqtB,GACpDA,EAAK/xB,KAAKyuB,MAAM,sDACfsD,EAAKtF,oBACNsF,EAAKtE,UACDsE,EACA,OAGNZ,EAAiBG,eAAiBX,EAAYjsB,QAAQqtB,GACpDA,EAAK/xB,KAAKyuB,MAAM,4DACfsD,EAAKtF,oBACNsF,EAAKtE,UACDsE,EACA,OAGNZ,EAAiBI,gBAAkBZ,EAAYjsB,QAAQqtB,GACrDA,EAAK/xB,KAAKyuB,MAAM,mCACfsD,EAAKtF,oBACNsF,EAAKtE,UACDsE,EACA,OAGFD,IACFX,EAAiBK,qBAAuBb,EAAYjsB,QAAQqtB,GAC1DA,EAAK/xB,KAAKyuB,MAAM,kCACfsD,EAAKtF,oBACNsF,EAAKtE,UACDsE,EACA,QAKRZ,EAAiBM,mBAAqBd,EAAYjsB,QAAQqtB,GACxDA,EAAK/xB,KAAKyuB,MAAM,2CAChBsD,EAAKtF,mBACDsF,EACA,OAENZ,EAAiBO,kBAAoBf,EAAYjsB,QAAQqtB,GACvDA,EAAK/xB,KAAKyuB,MAAM,qDAChBsD,EAAKtF,mBACDsF,EACA,OAENZ,EAAiBQ,kBAAoBhB,EAAYjsB,QAAQqtB,GACvDA,EAAK/xB,KAAKyuB,MAAM,2DAChBsD,EAAKtF,mBACDsF,EACA,OAENZ,EAAiBS,mBAAqBjB,EAAYjsB,QAAQqtB,GACxDA,EAAK/xB,KAAKyuB,MAAM,kCAAoCsD,EAAKtF,mBACrDsF,EACA,OAGFD,IACFX,EAAiBU,wBAA0BlB,EAAYjsB,QAAQqtB,GAC7DA,EAAK/xB,KAAKyuB,MAAM,iCAAmCsD,EAAKtF,mBACpDsF,EACA,QAIDZ,CACT,CDvE2Ba,CAAerB,EAAaI,GAErD,GAAIF,EAAY,CACd,MAAMoB,EACJd,EAAiBC,gBAAgB9oB,QAAU,GAC3C6oB,EAAiBE,eAAe/oB,QAAU,GAC1C6oB,EAAiBG,eAAehpB,QAAU,GAC1C6oB,EAAiBI,gBAAgBjpB,QAAU,GAC3C6oB,EAAiBK,qBAAqBlpB,QAAU,EAE5C4pB,EACJf,EAAiBM,mBAAmBnpB,QAAU,GAC9C6oB,EAAiBO,kBAAkBppB,QAAU,GAC7C6oB,EAAiBQ,kBAAkBrpB,QAAU,GAC7C6oB,EAAiBS,mBAAmBtpB,QAAU,GAC9C6oB,EAAiBU,wBAAwBvpB,OAAS,EAE9C6pB,EAAY,CAChBlc,UAAW,EACXC,UAAWL,EACXE,kBAAmBzU,EACnB0U,iBAAkB,EAClBjR,KAAM,QACNiB,UAAW,oBAGb,OACE,gBAACosB,GAAQ,KACP,6BAAQ,IACR,uBAAKhZ,GAAG,iBACN,0BAAK6T,EAAKuB,cAAc,2BACvByD,EAAmB,GAGlB,yBAAIhF,EAAKuB,cAAc,2BAEzB,2BACCmC,EAAYroB,OAAS,GAAK2pB,EACzB,gBAACI,GAAO,KACLpF,EAAKuB,cAAc,4BAEpB,GAGHmC,EAAYroB,OAAS,EAAI,GAGxB,gBAAC,EAAAgqB,SAAQ,KACP,yBAAIrF,EAAKuB,cAAc,sBACvB,yBAAIvB,EAAKuB,cAAc,sBACvB,yBACGvB,EAAKuB,cAAc,uB,IACpB,qBAAG9F,KAAMkI,GACN3D,EAAKuB,cACJ,0CAOT2C,EAAiBC,gBAAgB9oB,QAAU,EAAI,GAG9C,gBAACgR,EAAgB,iBAAK6Y,IAEvBhB,EAAiBC,gBAAgB9oB,QAAU,EACxC,GACA6oB,EAAiBC,gBAAgBvf,KAAKkgB,GACpC,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,4BAA6BA,EAC7BC,eAAgBA,EAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,MAIlCiE,EAAiBE,eAAe/oB,QAAU,EAAI,GAG7C,gBAACiR,GAAmB,iBAAK4Y,IAE1BhB,EAAiBE,eAAe/oB,QAAU,EACvC,GACA6oB,EAAiBE,eAAexf,KAAKkgB,GACnC,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,4BAA6BA,EAC7BC,eAAgBA,EAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,MAIlCiE,EAAiBG,eAAehpB,QAAU,EAAI,GAG7C,gBAACkR,GAAyB,iBAAK2Y,IAEhChB,EAAiBG,eAAehpB,QAAU,EACvC,GACA6oB,EAAiBG,eAAezf,KAAKkgB,GACnC,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,4BAA6BA,EAC7BC,eAAgBA,EAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,MAIlCiE,EAAiBI,gBAAgBjpB,QAAU,EAAI,GAG9C,gBAACmR,GAAc,iBAAK0Y,IAErBhB,EAAiBI,gBAAgBjpB,QAAU,EACxC,GACA6oB,EAAiBI,gBAAgB1f,KAAKkgB,GACpC,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,4BAA6BA,EAC7BC,eAAgBA,EAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,MAIlCiE,EAAiBK,qBAAqBlpB,QAAU,EAAI,GAGnD,gBAACoR,GAAa,iBAAKyY,IAEpBhB,EAAiBK,qBAAqBlpB,QAAU,EAC7C,GACA6oB,EAAiBK,qBAAqB3f,KAAKkgB,GACzC,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,4BAA6BA,EAC7BC,eAAgBA,EAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,OAIrC,uBAAK9T,GAAG,gBACL8Y,EAAsB,GAGrB,gBAAC,EAAAI,SAAQ,KACP,0B,IAAMrF,EAAKuB,cAAc,0BACzB,4BAIH2C,EAAiBM,mBAAmBnpB,QAAU,EAAI,GAGjD,gBAACgR,EAAgB,iBAAK6Y,IAEvBhB,EAAiBM,mBAAmBnpB,QAAU,EAC3C,GACA6oB,EAAiBM,mBAAmB5f,KAAKkgB,GACvC,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,iCAA6BpuB,EAC7BquB,eAAgB,GAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,MAIlCiE,EAAiBO,kBAAkBppB,QAAU,EAAI,GAGhD,gBAACiR,GAAmB,iBAAK4Y,IAE1BhB,EAAiBO,kBAAkBppB,QAAU,EAC1C,GACA6oB,EAAiBO,kBAAkB7f,KAAKkgB,GACtC,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,iCAA6BpuB,EAC7BquB,eAAgB,GAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,MAIlCiE,EAAiBQ,kBAAkBrpB,QAAU,EAAI,GAGhD,gBAACkR,GAAyB,iBAAK2Y,IAEhChB,EAAiBQ,kBAAkBrpB,QAAU,EAC1C,GACA6oB,EAAiBQ,kBAAkB9f,KAAKkgB,GACtC,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,iCAA6BpuB,EAC7BquB,eAAgB,GAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,MAIlCiE,EAAiBS,mBAAmBtpB,QAAU,EAAI,GAGjD,gBAACmR,GAAc,iBAAK0Y,IAErBhB,EAAiBS,mBAAmBtpB,QAAU,EAC3C,GACA6oB,EAAiBS,mBAAmB/f,KAAKkgB,GACvC,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,iCAA6BpuB,EAC7BquB,eAAgB,GAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,MAIlCiE,EAAiBU,wBAAwBvpB,QAAU,EAAI,GAGtD,gBAACoR,GAAa,iBAAKyY,IAEpBhB,EAAiBU,wBAAwBvpB,QAAU,EAChD,GACA6oB,EAAiBU,wBAAwBhgB,KAAKkgB,GAC5C,gBAAC,GAAU,CACT7qB,IAAK6qB,EAAKnE,eACVhB,mBAAoBmF,EACpBhF,iCAA6BpuB,EAC7BquB,eAAgB,GAChBH,qBAAsBA,EACtBC,yBAA0BA,EAC1BI,0BAA2BA,O,CAOzC,OACE,gBAACkF,GAAQ,KACP,uBAAKhZ,GAAG,iBACN,0BAAK6T,EAAKuB,cAAc,2BACxB,2BACA,gBAAC6D,GAAO,KAEJ,gBAAC,MAAgB,iBACX,iBAAsB,CAC1BzgB,OAAQ,CACN2gB,aACE,qBAAG7J,KAAMoI,GACN7D,EAAKuB,cAAc,iCAW1C,CAEAkC,GAAkBtF,SAAW,GAE7B,UAAe,SAAWsF,IAEpB0B,GAAW,cAAU;;;;;;;;;EAWrB,GAAc,6FAUdC,GAAU,YAAQ;;0lCEzVxB,I,MAAMG,GAAUC,GAAAA,QAAAA,IAAUC,K,GAAA,6E,qBAAAA,G,6EAMpBC,GAAiB,CAAC,aAAc,aAAc,gBAE9CC,GAAgB,SAACC,GACrB,IAAMC,EACJD,EAAS1W,SAAW0W,EAAS1W,QAAQnc,KACjC6yB,EAAS1W,QAAQnc,KACjB,kCAEF+yB,EAAeF,EAAS1W,QACxB0W,EAAS51B,QAAQ,KACnB81B,EAAe5rB,OAAOe,OAAO2qB,EAAS51B,QAAQ,GAAI41B,EAAS1W,eAGnCxd,IAAtBo0B,EAAa/yB,aACR+yB,EAAa/yB,KAGtB,IACEgzB,GAAAA,EAAAA,WAAoBF,EAAWC,EACjC,CAAE,MAAO3yB,GACPjB,QAAQ8zB,IAAIH,EAAW,yCACzB,CACF,EAmIA,SAhImC,SAAHx0B,GAAwC,IAAA40B,EAAlCC,EAAW70B,EAAX60B,YAAaC,EAAc90B,EAAd80B,eACDC,EAAAC,IAAdrC,EAAAA,EAAAA,WAAS,GAAK,GAAzCxS,EAAS4U,EAAA,GAAEE,EAAYF,EAAA,GACwBG,EAAAF,IAAdrC,EAAAA,EAAAA,UAAS,MAAK,GAA/CwC,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACcG,EAAAL,IAAdrC,EAAAA,EAAAA,UAAS,MAAK,GAA3CJ,EAAU8C,EAAA,GAAEC,EAAaD,EAAA,GACzBE,EAAyDP,IAAjDrC,EAAAA,EAAAA,UAASmC,EAAeU,0BAAyB,GAArD,GA8CX,IAAMC,EAAiB,WACrB,OAAQC,GAAAA,EAAAA,kBACN,IAAK,aACH,MAAO,CACLC,OAAQ,uCACRC,YAAaC,GAAAA,uBAAAA,YAEjB,IAAK,UACH,MAAO,CACLF,OAAQ,uCACRC,YAAaC,GAAAA,uBAAAA,SAGjB,QACE,MAAO,CACLF,OAAQ,uCACRC,YAAaC,GAAAA,uBAAAA,aAGrB,EAEMC,GAAwD,QAAnClB,EAACmB,GAAAA,EAAAA,UAAkB,wBAAgB,IAAAnB,EAAAA,EAAI,IAAIrsB,QACpE,MACA,IAGF,SAAKutB,GAA6C,KAAvBA,MAI3BE,EAAAA,EAAAA,YAAU,WA1CV,IA/BQC,KAAKV,EAAM,MAAO,GACjBW,MAAM,GAADhrB,OACPwqB,GAAAA,EAAAA,mBAA8B,kBAAAxqB,OAAiB+qB,GAClD,CACAE,OAAQ,MACRC,YAAa,UACbC,QAAS,CACP,eAAgB,qCAIjBC,MAAK,SAACC,GACL,OAAIA,EAASC,IACXlB,GAAc,GACPmB,QAAQC,QAAQH,EAASI,SAER,MAApBJ,EAAS9lB,QACX6kB,GAAc,GACPmB,QAAQC,QAAQ,CAAEE,aAAc,OAEvCtB,EAAc,MACPmB,QAAQI,OAAON,GAG5B,IAAE,OACK,SAAC7Z,GAEN,OADA4Y,EAAc,MACPmB,QAAQI,OAAOna,EACxB,KAKC4Z,MAAK,SAACQ,GACL1B,EAAgB0B,EAAIF,cACpB3B,GAAa,EACf,IAAE,OACK,SAACvY,GAEN,OADAuY,GAAa,GACNwB,QAAQI,OAAOna,EACxB,GAmCJ,GAAG,IACEyD,EAsCD4W,EAAAA,cAAC7C,GAAO,KACN6C,EAAAA,cAAC9O,GAAAA,EAAO,CAACxhB,KAAM,WArCjBswB,EAAAA,cAACC,GAAAA,2BAA0B,CACzBC,QAAS,CACPtB,OAAQF,IAAiBE,OACzBC,YAAaH,IAAiBG,YAC9BsB,UAAW,wBAEbC,YAAa,CAAErB,mBAAAA,GACfsB,iBAAkB,CAChBC,SAAU,WACVC,OAAQC,SAASC,gBAAgBC,MAAQ,OAG3CV,EAAAA,cAAC74B,EAAAA,EAAiB,CAACQ,QAAS41B,IAC1ByC,EAAAA,cAACW,GAAAA,GAAY,CACXJ,OAAQC,SAASC,gBAAgBC,KACjC3K,SAAU+H,GAEVkC,EAAAA,cAACjD,GAAQ,CACPzB,YAAa8C,EACb7C,aAAcwC,EAAexC,aAC7BqF,gBAAiB7C,EAAe6C,gBAClC/I,0BAA2BkG,EAAelG,0BACxCgJ,eAAgB9C,EAAe8C,eAC/BrJ,qBAAsBuG,EAAehF,iBACrCtB,yBAA0B6F,GAC1B9B,WAAYA,EACZC,SAAQ,GAAAtnB,OAAKwqB,GAAAA,EAAAA,qBAAgC,oBAAAxqB,OAC3C1J,OAAOiuB,SAASrF,WAchC,C,YCrKAniB,EAAOV,QALP,SAAgCmB,GAC9B,OAAOA,GAAOA,EAAIlB,WAAakB,EAAM,CACnC,QAAWA,EAEf,EACyCT,EAAOV,QAAQC,YAAa,EAAMS,EAAOV,QAAiB,QAAIU,EAAOV,O,+BCJ9GsB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtD,MAAM44B,EAAW,EAAQ,OACnBC,EAAU,EAAQ,OAClBC,EAAY,EAAQ,OAM1B,MAAMC,EACFC,4BAA4BC,GACxB,MAAM,UAAEhB,GAAcgB,EAChBC,EAAM,iCAAiCjB,IAC7C,IACI,aAAa34B,KAAK65B,aAAaD,EAAK,MAAOD,EAC/C,CACA,MAAOxb,GACH,GAAIA,aAAiBnG,MACjB,MAAMmG,EAEV,MAAMnG,MAAM,oCAChB,CACJ,CACA0hB,mCAAmCC,EAAgBf,EAAaC,GAC5D,MAAMiB,EAAc,CAChBlB,cACAC,mBACAF,UAAWgB,EAAehB,WAE9B,IACI,aAAa34B,KAAK65B,aAAa,oCAAqC,OAAQF,EAAgBG,EAChG,CACA,MAAO3b,GACH,GAAIA,aAAiBnG,MACjB,MAAMmG,EAEV,MAAMnG,MAAM,uCAChB,CACJ,CACA0hB,iCAAiC1B,GAC7B,IAAKA,EAASC,GAAI,CAEd,MAAM8B,QAAa/B,EAASgC,OAC5B,MAAM,IAAIV,EAASW,cAAc,6CAA6CjC,EAAS9lB,iBAAiBqN,KAAKE,UAAUsa,KAC3H,CACA,GAAwB,MAApB/B,EAAS9lB,OACT,MAAM,IAAIonB,EAASW,cAAc,0BAEzC,CACAP,iCAAiC1B,GAC7B,MAAMt3B,QAAcs3B,EAASgC,OAC7B,OAAOza,KAAKC,MAAM9e,EACtB,CACAg5B,kBAAkBQ,EAAYC,GAAgB,GAC1C,GAAIA,EACA,MA/Ca,qBAiDjB,OAAQD,GACJ,KAAKX,EAAQjC,uBAAuB8C,YAChC,MApDK,sCAqDT,KAAKb,EAAQjC,uBAAuB+C,QAChC,MAvDS,sCAwDb,QACI,MA1DM,kCA4DlB,CACAX,0BAA0BY,EAAM1C,EAAQ+B,EAAgBI,GACpD,MAAMQ,EAAUd,EAAQe,WAAWb,EAAetC,YAAasC,EAAec,eACxEC,EAAef,EAAegB,gBAhET,IAiE3B,IAAIC,EACJ,GAAIC,YAAY7nB,QACZ4nB,EAAcC,YAAY7nB,QAAQ0nB,QAEjC,GAAII,gBAAiB,CACtB,MAAMC,EAAkB,IAAID,gBAC5BF,EAAcG,EAAgBC,OAC9B7mB,YAAW,IAAM4mB,EAAgBE,SAASP,EAC9C,CACA,MAAM1C,QAAiBL,MAAM,GAAG4C,IAAUD,IAAQhwB,OAAOe,OAAO,CAAEusB,SAAQE,QAAS,CAC3E,eAAgB,mBAChB,gBAAiB,yBACjB,mBAAoB0B,EAAU0B,eAC9B,YAAavB,EAAevC,QAC7B4D,OAAQJ,GAAgBb,GAAQ,CAAEA,KAAMxa,KAAKE,UAAUsa,MAE9D,aADM/5B,KAAKm7B,oBAAoBnD,SAClBh4B,KAAKo7B,oBAAoBpD,EAC1C,EAEJhvB,EAAA,QAAkBywB,C,6BCxFlBnvB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDsI,EAAQixB,mBAAgB,EACxB,MAAMA,UAAsBjiB,MACxBnY,YAAYw7B,GACRt7B,MAAMs7B,EACV,EAEJryB,EAAQixB,cAAgBA,C,qCCPxB,IAAIqB,EAAmBt7B,MAAQA,KAAKs7B,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAItyB,WAAcsyB,EAAM,CAAE,QAAWA,EACxD,EACAjxB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDsI,EAAA,aAAkB,EAClB,IAAIwyB,EAAY,EAAQ,OACxBlxB,OAAOK,eAAe3B,EAAS,UAAW,CAAEyyB,YAAY,EAAM5wB,IAAK,WAAc,OAAOywB,EAAgBE,GAAWjyB,OAAS,G,qCCN5H,IAAImyB,EAAmB17B,MAAQA,KAAK07B,kBAAqBpxB,OAAOuD,OAAS,SAAUgQ,EAAGC,EAAG7I,EAAG0mB,QAC7E75B,IAAP65B,IAAkBA,EAAK1mB,GAC3B,IAAIvK,EAAOJ,OAAOM,yBAAyBkT,EAAG7I,GACzCvK,KAAS,QAASA,GAAQoT,EAAE7U,WAAayB,EAAKkxB,UAAYlxB,EAAKmxB,gBAClEnxB,EAAO,CAAE+wB,YAAY,EAAM5wB,IAAK,WAAa,OAAOiT,EAAE7I,EAAI,IAE5D3K,OAAOK,eAAekT,EAAG8d,EAAIjxB,EAChC,EAAI,SAAUmT,EAAGC,EAAG7I,EAAG0mB,QACT75B,IAAP65B,IAAkBA,EAAK1mB,GAC3B4I,EAAE8d,GAAM7d,EAAE7I,EACb,GACG6mB,EAAsB97B,MAAQA,KAAK87B,qBAAwBxxB,OAAOuD,OAAS,SAAUgQ,EAAGke,GACxFzxB,OAAOK,eAAekT,EAAG,UAAW,CAAE4d,YAAY,EAAM/6B,MAAOq7B,GAClE,EAAI,SAASle,EAAGke,GACble,EAAW,QAAIke,CACnB,GACIC,EAAgBh8B,MAAQA,KAAKg8B,cAAiB,SAAUT,GACxD,GAAIA,GAAOA,EAAItyB,WAAY,OAAOsyB,EAClC,IAAIl4B,EAAS,CAAC,EACd,GAAW,MAAPk4B,EAAa,IAAK,IAAItmB,KAAKsmB,EAAe,YAANtmB,GAAmB3K,OAAOC,UAAUC,eAAeC,KAAK8wB,EAAKtmB,IAAIymB,EAAgBr4B,EAAQk4B,EAAKtmB,GAEtI,OADA6mB,EAAmBz4B,EAAQk4B,GACpBl4B,CACX,EACI44B,EAAgBj8B,MAAQA,KAAKi8B,cAAiB,SAASne,EAAG9U,GAC1D,IAAK,IAAIkU,KAAKY,EAAa,YAANZ,GAAoB5S,OAAOC,UAAUC,eAAeC,KAAKzB,EAASkU,IAAIwe,EAAgB1yB,EAAS8U,EAAGZ,EAC3H,EACIO,EAAUzd,MAAQA,KAAKyd,QAAW,SAAUF,EAAGha,GAC/C,IAAI+Z,EAAI,CAAC,EACT,IAAK,IAAIJ,KAAKK,EAAOjT,OAAOC,UAAUC,eAAeC,KAAK8S,EAAGL,IAAM3Z,EAAEqG,QAAQsT,GAAK,IAC9EI,EAAEJ,GAAKK,EAAEL,IACb,GAAS,MAALK,GAAqD,mBAAjCjT,OAAOoT,sBACtB,KAAInS,EAAI,EAAb,IAAgB2R,EAAI5S,OAAOoT,sBAAsBH,GAAIhS,EAAI2R,EAAEzR,OAAQF,IAC3DhI,EAAEqG,QAAQsT,EAAE3R,IAAM,GAAKjB,OAAOC,UAAUoT,qBAAqBlT,KAAK8S,EAAGL,EAAE3R,MACvE+R,EAAEJ,EAAE3R,IAAMgS,EAAEL,EAAE3R,IAF4B,CAItD,OAAO+R,CACX,EACIge,EAAmBt7B,MAAQA,KAAKs7B,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAItyB,WAAcsyB,EAAM,CAAE,QAAWA,EACxD,EACAjxB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDsI,EAAQkzB,iBAAmBlzB,EAAQmzB,mBAAgB,EACnD,MAAMC,EAAoBJ,EAAa,EAAQ,QAC/C,IAAIK,EAAoB,EAAQ,OAChC/xB,OAAOK,eAAe3B,EAAS,gBAAiB,CAAEyyB,YAAY,EAAM5wB,IAAK,WAAc,OAAOwxB,EAAkBF,aAAe,IAC/H7xB,OAAOK,eAAe3B,EAAS,mBAAoB,CAAEyyB,YAAY,EAAM5wB,IAAK,WAAc,OAAOwxB,EAAkBH,gBAAkB,IACrI,MAAMI,EAAYhB,EAAgB,EAAQ,QAC1CW,EAAa,EAAQ,OAAYjzB,GACjC,MAAMuzB,EAAqB,qBAG3B,MAAMC,EACF9C,wBAAwB+C,EAAe7D,EAAaC,GAChD,OAAI2D,EAAaE,aACRF,EAAaG,cAAcF,EAAeD,EAAaI,cACxDt6B,QAAQgB,KAAK,kGAEVk5B,EAAaE,cAExBF,EAAaI,YAAcH,EAC3BD,EAAaE,YAAcF,EAAaK,KAAKJ,EAAe7D,EAAaC,GAAkBd,MAAK,KAC5FyE,EAAaM,eAAgB,CAAI,IAE9BN,EAAaE,YACxB,CACAhD,kCAAkC+C,EAAe7D,EAAaC,EAAkBkE,EAAmB,CAAC,GAChG,OAAIP,EAAaE,aACRF,EAAaG,cAAcF,EAAeD,EAAaI,cACxDt6B,QAAQgB,KAAK,kGAEVk5B,EAAaE,cAExBF,EAAaI,YAAcH,EAC3BD,EAAaE,YAAcF,EAAaQ,eAAeP,EAAe7D,EAAaC,EAAkBkE,GAAkBhF,MAAK,KACxHyE,EAAaM,eAAgB,CAAI,IAE9BN,EAAaE,YACxB,CAOAhD,wBAAwBuD,EAAcrE,EAAaC,SAKzC2D,EAAaU,yCAJc,IAAMZ,EAAU/yB,QAAQ4zB,sBAAsBF,EAAcrE,EAAaC,GAAkBd,MAAK,EAAGqF,mBAAkBvE,uBAAuB,CACzKuE,mBACAC,0BAA2BxE,OAEsDD,EAAaC,EACtG,CAQAa,kCAAkCd,EAAaC,EAAkBkE,EAAmB,CAAC,SAK3EP,EAAaU,yCAJc,IAAMhF,QAAQC,QAAQ,CACnDiF,iBAAkBL,EAClBM,0BAA2BxE,KAEsDD,EAAaC,EACtG,CACAa,0BACI,OAAmC,MAA5B8C,EAAaE,WACxB,CACAhD,6BACI,OAAO8C,EAAaM,aACxB,CAKApD,iBAAiB4D,GACb,IACI,OAAOlB,EAAkB7yB,QAAQg0B,UAAUD,EAC/C,CACA,MAAOnf,GAUH,OARKqe,EAAagB,4BACdl7B,QAAQgB,KAAK,CACTm6B,IAAK,sGACLH,WACAnf,UAEJqe,EAAagB,2BAA4B,IAEtC,CACX,CACJ,CAcA9D,qBAAqBgE,EAAgBhF,EAAU,CAAC,GAC5C,IACI,MAAM,uBAAEiF,GAAyB,GAASjF,EAI1C,OAHmBiF,EACbvB,EAAkB7yB,QAAQq0B,cAAczoB,KAAKinB,EAAkB7yB,SAC/D6yB,EAAkB7yB,QAAQs0B,yCAAyC1oB,KAAKinB,EAAkB7yB,UAC9Em0B,EACtB,CACA,MAAOvf,GAWH,OATKqe,EAAasB,gCACdx7B,QAAQgB,KAAK,CACTm6B,IAAK,mGACLC,iBACAvf,UAEJqe,EAAasB,+BAAgC,GAG1C,IAAI1B,EAAkBD,cAAcuB,EAAgB,CAAC,EAAG,GAAI,CAC/DK,KAAM9L,KAAKI,MACX2L,OAAQ5B,EAAkBF,iBAAiBlkB,OAEnD,CACJ,CA8BA0hB,0BAA0BgE,EAAgBO,EAAeC,EAAcxF,EAAU,CAAC,GAC9E,MAAMyF,EAAa3B,EAAaoB,cAAcF,EAAgBhF,GAC9D,IACI,MAAM,UAAE0F,GAAc1F,EACtB,OAAOyF,EAAWtzB,IAAIozB,EAAeC,EAAcE,EACvD,CACA,MAAOjgB,GAYH,OAVKqe,EAAa6B,qCACd/7B,QAAQgB,KAAK,CACTm6B,IAAK,yGACLC,iBACAQ,eACAxF,UACAva,UAEJqe,EAAa6B,oCAAqC,GAE/CH,CACX,CACJ,CAOAxE,qCAAqCgE,GACjCtB,EAAkB7yB,QAAQ+0B,8BAA8BZ,EAC5D,CACAhE,yBACI0C,EAAkB7yB,QAAQg1B,UAC9B,CAeA7E,oBAAoB4D,EAAU58B,GAC1B07B,EAAkB7yB,QAAQi1B,aAAalB,EAAU58B,EACrD,CAKAg5B,yBAAyB4D,GACrBlB,EAAkB7yB,QAAQi1B,aAAalB,EAAU,KACrD,CAeA5D,sBAAsBgE,EAAgB3oB,GAClCqnB,EAAkB7yB,QAAQk1B,eAAef,EAAgB3oB,EAC7D,CAKA2kB,2BAA2BgE,GACvBtB,EAAkB7yB,QAAQk1B,eAAef,EAAgB,KAC7D,CAcAhE,oBAAoBgF,GAChBtC,EAAkB7yB,QAAQo1B,aAAar0B,OAAOe,OAAO,CAAEuzB,MAAO,CAAC,EAAGC,QAAS,CAAC,EAAGC,OAAQ,CAAC,GAAKJ,GACjG,CAIAhF,2BACI0C,EAAkB7yB,QAAQo1B,aAAa,KAC3C,CAYAjF,qBAAqBd,EAAaC,GAC9B,OAAQ2D,EAAaG,cAAcH,EAAauC,mBAAoBnG,IAChE4D,EAAaG,cAAcH,EAAawC,kBAAmBnG,EACnE,CASAa,kBAAkB+C,EAAe7D,EAAaC,GAC1C,MAAMoG,EAA0B30B,OAAOe,OAAOf,OAAOe,OAAO,CAAC,EAAGoxB,GAAgB,CAAEyC,2BAA2B,IAC7G,IAAI9B,EACA+B,EACJ,IAGI,MAAMC,EAAsB9C,EAAU/yB,QAAQ81B,eAAe5C,GAAe1E,MAAMr3B,GAAWu+B,EAAwBK,OAAS5+B,EAAM6+B,eAC9HC,EAA0BlD,EAAU/yB,QAAQ4zB,sBAAsBV,EAAe7D,EAAaC,IAG7F,CAAE4G,SAAgCvH,QAAQwH,IAAI,CACjDN,EACAI,IAEJpC,EAAmBqC,EAAuBrC,iBAC1C+B,EACIM,EAAuB5G,gBAC/B,CACA,MAAO1a,GAMH,MALIA,aAAiBnG,OACjB1V,QAAQ6b,MAAM,+EAA+EA,aAAqC,EAASA,EAAMkd,WAErJ/4B,QAAQgB,KAAK,oDACPk5B,EAAaQ,eAAeiC,EAAyBrG,EAAaC,GAClE1a,CACV,OACMne,KAAKg9B,eAAeiC,EAAyBrG,EAAauG,EAA4B/B,EAChG,CAUA1D,4BAA4B+C,EAAe7D,EAAaC,EAAkBkE,EAAmB,CAAC,GAC1F,MAAM4C,EAAO3/B,KAAK4/B,cAAchH,EAAaC,GAC7C2D,EAAauC,mBAAqBnG,EAClC4D,EAAawC,kBAAoBnG,EAC5B4D,EAAc6C,SACf7C,EAAc6C,OAAS/C,GAEtBE,EAAcoD,kBACfpD,EAAcoD,gBAjUQ,gCAmU1B,MAAM,OAAEP,GAAW7C,EACbqD,EAAiB9/B,KAAK+/B,iBAAiBtD,EAAeM,GAC5D,UACUX,EAAkB7yB,QAAQy2B,WAAWV,EAAQK,EAAMG,EAC7D,CACA,MAAO3hB,GAMH,MALIA,aAAiBnG,OACjB1V,QAAQ6b,MAAM,uEAAuEA,aAAqC,EAASA,EAAMkd,WAE7I/4B,QAAQgB,KAAK,6EACP84B,EAAkB7yB,QAAQy2B,WAAWzD,EAAoBoD,EAAMr1B,OAAOe,OAAOf,OAAOe,OAAO,CAAC,EAAGy0B,GAAiB,CAAE/C,iBAAkB,CAAC,KACrI5e,CACV,CACJ,CAQAub,qBAAqBd,EAAaC,GAC9B,MAAM8G,EAAO,CACTM,UAAWrH,EACXsH,OAAQrH,GAKZ,OAHID,EAAYrB,qBACZoI,EAAKQ,OAASvH,EAAYrB,oBAEvBoI,CACX,CAWAjG,qDAAqD0G,EAAqBxH,EAAaC,GACnF,IAAK2D,EAAaE,YACd,MAAM,IAAI1kB,MAAM,+EAGpB,GAAIwkB,EAAa6D,cAAczH,EAAaC,GACxC,OAAO2D,EAAaE,YAGxB,MAAM4D,EAAsB9D,EAAaE,YACzC,UACUF,EAAaE,WACvB,CACA,MAAO6D,GAGP,CACA,MAAMC,EAA0BJ,IAC1BK,EAAoBjE,EAAakE,wBAAwBF,EAAyB5H,EAAaC,GAOrG,OAJA2D,EAAaE,YAAc+D,EAAkBE,OAAM,KAE/CnE,EAAaE,YAAc4D,CAAmB,IAE3CG,CACX,CASA/G,qCAAqC8G,EAAyB5H,EAAaC,GACvE,IAAIrY,EAAIS,EACR,IAAI8b,EAAkB4C,EACtB,IACI5C,QAAyByD,EACzBb,EAAOnD,EAAaoD,cAAchH,EAAamE,EAAiBM,0BACpE,CACA,MAAOkD,GAGH,MAAMK,EAASL,aAAevoB,MAAQuoB,EAAIlF,QAAU9b,KAAKE,UAAU8gB,GAEnE,MADwE,QAAvEtf,GAAMT,EAAKgc,EAAaI,aAAaiE,oCAAiD,IAAP5f,GAAyBA,EAAGxW,KAAK+V,GAAI,EAAOogB,GACtHL,CACV,CAEA,IADgBnE,EAAkB7yB,QAAQu3B,qBAAqBnB,EAAM5C,EAAiBK,kBAMlF,MAAM,IAAIplB,MAAM,uDAJhBwkB,EAAauC,mBAAqBnG,EAClC4D,EAAawC,kBAAoBnG,CAKzC,CAOAa,wBAAwBhB,EAASqE,GAC7B,MAAM,OAGNuC,EAAM,6BAGNuB,GAAiCnI,EAASqI,EAAoBtjB,EAAOib,EAAS,CAAC,SAAU,iCACzF,OAAOpuB,OAAOe,OAAOf,OAAOe,OAAOf,OAAOe,OAAO,CAAC,EAAG01B,GAAoB,CAAEhE,mBAAkB1F,YAAa,CAClG2J,KAAMtI,EAAQrB,aACf6H,2BAA2B,IAAUxG,EAAQmI,8BAAgC,CAChFA,6BAA8BrE,EAAayE,sCAAsCvI,EAAQmI,+BAEjG,CAOAnH,6CAA6C7lB,GAMzC,MAAO,CAACqtB,EAAWC,EAAS9F,KACxBxnB,EAASstB,EAAS9F,EAAQ,CAElC,CACA3B,qBAAqB0H,EAASC,GAC1B,IAAKD,IAAYC,EACb,OAAO,EAEX,IAAKD,IAAYC,EACb,OAAO,EAEX,MAAMC,EAAWh3B,OAAOoR,QAAQ0lB,GAC1BG,EAAWj3B,OAAOoR,QAAQ2lB,GAChC,GAAIC,EAAS71B,SAAW81B,EAAS91B,OAC7B,OAAO,EAEX,MAAM+1B,EAAoB,EAAEC,IAAQC,KAAUD,EAAKE,cAAcD,GACjEJ,EAASM,KAAKJ,GACdD,EAASK,KAAKJ,GACd,IAAK,IAAIj2B,EAAI,EAAGA,EAAI+1B,EAAS71B,OAAQF,IAAK,CACtC,MAAO,CAAEs2B,GAAUP,EAAS/1B,IACrB,CAAEu2B,GAAUP,EAASh2B,GAC5B,GAAIs2B,IAAWC,EACX,OAAO,CAEf,CACA,OAAO,CACX,EAEJtF,EAAaE,YAAc,KAC3BF,EAAaM,eAAgB,EAC7BN,EAAasB,+BAAgC,EAC7CtB,EAAa6B,oCAAqC,EAClD7B,EAAagB,2BAA4B,EACzCx0B,EAAA,QAAkBwzB,EAII,oBAAXv5B,SACPA,OAAO8+B,oBAAsBvF,E,6BC7hBjC,IAAIlF,EAFJhtB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDsI,EAAQsuB,4BAAyB,EAEjC,SAAWA,GACPA,EAAoC,YAAI,cACxCA,EAAgC,QAAI,UACpCA,EAAmC,WAAI,YAC1C,CAJD,CAIGA,IAA2BtuB,EAAQsuB,uBAAyBA,EAAyB,CAAC,G,6BCPzFhtB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDsI,EAAQkyB,oBAAiB,EACzBlyB,EAAQkyB,eAAiB,O,qCCFzB,IAAII,EAAmBt7B,MAAQA,KAAKs7B,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAItyB,WAAcsyB,EAAM,CAAE,QAAWA,EACxD,EACAjxB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDsI,EAAQyvB,gCAA6B,EACrC,MAAMuJ,EAAU,EAAQ,OAClBC,EAA2B3G,EAAgB,EAAQ,QACnD4G,EAAU,EAAQ,MA6CxBl5B,EAAQyvB,2BAxC2B,EAAGh4B,WAAU0hC,WAAU,EAAMvJ,cAAaC,mBAAkBH,UAAS0J,wBAAuB1D,YAAW2D,cAGtI,MAAOC,EAAeC,IAAkB,EAAIP,EAAQ5N,WAAWsK,IAC3D,EAAIwD,EAAQM,+BAA+B5J,EAAaC,IAItD4J,GAAa,EAAIT,EAAQxgC,QAAQk3B,GA8BvC,OA7BA,EAAIsJ,EAAQvK,YAAW,KACnBgL,EAAWxhC,QAAUy3B,CAAO,GAC7B,CAACA,KACJ,EAAIsJ,EAAQvK,YAAW,KACf0K,GACI,EAAID,EAAQM,+BAA+B5J,EAAaC,KACxD,EAAIqJ,EAAQQ,gBAAgBhE,GAC5B6D,GAAe,GACfF,SAAkDA,MAG9BJ,EAAyB14B,QAAQo5B,mBAC/CV,EAAyB14B,QAAQq5B,WAAWH,EAAWxhC,QAAS23B,EAAaC,GAC7EoJ,EAAyB14B,QAAQy2B,WAAWyC,EAAWxhC,QAAS23B,EAAaC,IAE9Ed,MAAK,KAAM,EAAImK,EAAQQ,gBAAgBhE,KACvCiC,OAAOJ,IAAQ,EAAI2B,EAAQW,SAAStC,KACpCxI,MAAMwI,IACPgC,GAAe,GACfF,SAAkDA,EAAQ9B,QAAOz+B,EAAU,KAKnFygC,GAAe,GACfF,SAAkDA,KAE/C,KAAM,EAAIH,EAAQY,gBAAgBpE,KAC1C,CAACyD,EAASvJ,EAAaC,EAAkB6F,KACrC,EAAIwD,EAAQa,mBAAmBZ,EAASG,EAAe7hC,EAAU2hC,EAAsB,EAGlGp5B,EAAA,QAAkBA,EAAQyvB,0B,qCCrD1B,IAAI6C,EAAmBt7B,MAAQA,KAAKs7B,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAItyB,WAAcsyB,EAAM,CAAE,QAAWA,EACxD,EACAjxB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDsI,EAAQg6B,4CAAyC,EACjD,MAAMhB,EAAU,EAAQ,OAClBC,EAA2B3G,EAAgB,EAAQ,QACnD4G,EAAU,EAAQ,MA8CxBl5B,EAAQg6B,uCAzCuC,EAAGviC,WAAU0hC,WAAU,EAAMvJ,cAAaC,mBAAkBH,UAASgG,YAAW2D,cAG3H,MAAOC,EAAeC,IAAkB,EAAIP,EAAQ5N,WAAWsK,IAC3D,EAAIwD,EAAQM,+BAA+B5J,EAAaC,IAItD4J,GAAa,EAAIT,EAAQxgC,QAAQk3B,GA+BvC,OA9BA,EAAIsJ,EAAQvK,YAAW,KACnBgL,EAAWxhC,QAAUy3B,CAAO,GAC7B,CAACA,KACJ,EAAIsJ,EAAQvK,YAAW,KACf0K,GACI,EAAID,EAAQM,+BAA+B5J,EAAaC,KACxD,EAAIqJ,EAAQQ,gBAAgBhE,GAC5B6D,GAAe,GACfF,SAAkDA,MAGlDE,GAAe,IACKN,EAAyB14B,QAAQo5B,mBAC/CV,EAAyB14B,QAAQu3B,qBAAqBlI,EAAaC,GACnEoJ,EAAyB14B,QAAQ05B,qBAAqB34B,OAAOe,OAAO,CAAEi0B,OAAQ,sBAAyBmD,EAAWxhC,SAAW,CAAC,GAAK23B,EAAaC,IAEjJd,MAAK,KAAM,EAAImK,EAAQQ,gBAAgBhE,KACvCiC,OAAOJ,IAAQ,EAAI2B,EAAQW,SAAStC,KACpCxI,MAAMwI,IACPgC,GAAe,GACfF,SAAkDA,EAAQ9B,QAAOz+B,EAAU,MAKnFygC,GAAe,GACfF,SAAkDA,KAE/C,KAAM,EAAIH,EAAQY,gBAAgBpE,KAC1C,CAACyD,EAASvJ,EAAaC,EAAkB6F,KACrC,EAAIwD,EAAQa,mBAAmBZ,EAASG,EAAe7hC,EAAS,EAG3EuI,EAAA,QAAkBA,EAAQg6B,sC,qCCtD1B,IAAI1H,EAAmBt7B,MAAQA,KAAKs7B,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAItyB,WAAcsyB,EAAM,CAAE,QAAWA,EACxD,EACAjxB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDsI,EAAQk6B,0CAAuC,EAC/C,MAAMlB,EAAU,EAAQ,OAClBC,EAA2B3G,EAAgB,EAAQ,QACnD4G,EAAU,EAAQ,MA8CxBl5B,EAAQk6B,qCAzCqC,EAAGziC,WAAU0hC,WAAU,EAAMvJ,cAAaC,mBAAkBH,UAASqE,mBAAkB2B,YAAW2D,cAG3I,MAAOC,EAAeC,IAAkB,EAAIP,EAAQ5N,WAAWsK,IAC3D,EAAIwD,EAAQM,+BAA+B5J,EAAaC,IAItD4J,GAAa,EAAIT,EAAQxgC,QAAQk3B,GA+BvC,OA9BA,EAAIsJ,EAAQvK,YAAW,KACnBgL,EAAWxhC,QAAUy3B,CAAO,GAC7B,CAACA,KACJ,EAAIsJ,EAAQvK,YAAW,KACf0K,GACI,EAAID,EAAQM,+BAA+B5J,EAAaC,KACxD,EAAIqJ,EAAQQ,gBAAgBhE,GAC5B6D,GAAe,GACfF,SAAkDA,MAGlDE,GAAe,IACKN,EAAyB14B,QAAQo5B,mBAC/CV,EAAyB14B,QAAQu3B,qBAAqBlI,EAAaC,EAAkBkE,GACrFkF,EAAyB14B,QAAQ05B,qBAAqBR,EAAWxhC,QAAS23B,EAAaC,EAAkBkE,IAE1GhF,MAAK,KAAM,EAAImK,EAAQQ,gBAAgBhE,KACvCiC,OAAOJ,IAAQ,EAAI2B,EAAQW,SAAStC,KACpCxI,MAAMwI,IACPgC,GAAe,GACfF,SAAkDA,EAAQ9B,QAAOz+B,EAAU,MAKnFygC,GAAe,GACfF,SAAkDA,KAE/C,KAAM,EAAIH,EAAQY,gBAAgBpE,KAC1C,CAACyD,EAASvJ,EAAaC,EAAkBkE,EAAkB2B,KACvD,EAAIwD,EAAQa,mBAAmBZ,EAASG,EAAe7hC,EAAS,EAG3EuI,EAAA,QAAkBA,EAAQk6B,oC,oCCtD1B,IAAIxH,EAAmB17B,MAAQA,KAAK07B,kBAAqBpxB,OAAOuD,OAAS,SAAUgQ,EAAGC,EAAG7I,EAAG0mB,QAC7E75B,IAAP65B,IAAkBA,EAAK1mB,GAC3B,IAAIvK,EAAOJ,OAAOM,yBAAyBkT,EAAG7I,GACzCvK,KAAS,QAASA,GAAQoT,EAAE7U,WAAayB,EAAKkxB,UAAYlxB,EAAKmxB,gBAClEnxB,EAAO,CAAE+wB,YAAY,EAAM5wB,IAAK,WAAa,OAAOiT,EAAE7I,EAAI,IAE5D3K,OAAOK,eAAekT,EAAG8d,EAAIjxB,EAChC,EAAI,SAAUmT,EAAGC,EAAG7I,EAAG0mB,QACT75B,IAAP65B,IAAkBA,EAAK1mB,GAC3B4I,EAAE8d,GAAM7d,EAAE7I,EACb,GACGgnB,EAAgBj8B,MAAQA,KAAKi8B,cAAiB,SAASne,EAAG9U,GAC1D,IAAK,IAAIkU,KAAKY,EAAa,YAANZ,GAAoB5S,OAAOC,UAAUC,eAAeC,KAAKzB,EAASkU,IAAIwe,EAAgB1yB,EAAS8U,EAAGZ,EAC3H,EACA5S,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDu7B,EAAa,EAAQ,OAAiCjzB,GACtDizB,EAAa,EAAQ,OAA6CjzB,GAClEizB,EAAa,EAAQ,OAA2CjzB,E,oCCjBhE,IAAIsyB,EAAmBt7B,MAAQA,KAAKs7B,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAItyB,WAAcsyB,EAAM,CAAE,QAAWA,EACxD,EACAjxB,OAAOK,eAAe3B,EAAS,aAAc,CAAEtI,OAAO,IACtDsI,EAAQ85B,eAAiB95B,EAAQ05B,eAAiB15B,EAAQ65B,QAAU75B,EAAQ+5B,kBAAoB/5B,EAAQw5B,mCAAgC,EACxI,MAAMR,EAAU1G,EAAgB,EAAQ,QAClC2G,EAA2B3G,EAAgB,EAAQ,QACzD,IAAI6H,GAAuC,EAO3Cn6B,EAAQw5B,8BANR,SAAuC5J,EAAaC,GAChD,IAAIrY,EAAIS,EAER,OAAyE,QAA/DT,EAAKyhB,EAAyB14B,QAAQ65B,2BAAwC,IAAP5iB,OAAgB,EAASA,EAAG/V,KAAKw3B,EAAyB14B,YAC5E,QAAzD0X,EAAKghB,EAAyB14B,QAAQ82B,qBAAkC,IAAPpf,OAAgB,EAASA,EAAGxW,KAAKw3B,EAAyB14B,QAASqvB,EAAaC,GAC3J,EAWA7vB,EAAQ+5B,kBATR,SAA2BZ,EAASG,EAAe7hC,EAAU2hC,GACzD,OAAKD,GAAWG,EACLN,EAAQz4B,QAAQ2E,cAAc8zB,EAAQz4B,QAAQksB,SAAU,KAAMh1B,GAE5C,MAAzB2hC,EACOJ,EAAQz4B,QAAQ2E,cAAc8zB,EAAQz4B,QAAQksB,SAAU,KAAM2M,GAElE,IACX,EAQAp5B,EAAQ65B,QANR,SAAiBtC,GACb,OAAIA,aAAevoB,MACRuoB,EAEJ,IAAIvoB,MAAMuoB,aAAiC,EAASA,EAAI/O,WACnE,EAsBAxoB,EAAQ05B,eApBR,SAAwBhE,IAGhBA,GACEuD,EAAyB14B,QAAQi1B,cAAiByD,EAAyB14B,QAAQk1B,gBAOzFn0B,OAAOoR,SAASgjB,aAA6C,EAASA,EAAUE,QAAU,CAAC,GAAG5yB,SAAQ,EAAEsxB,EAAU58B,MAC9G,IAAI8f,EACqD,QAAxDA,EAAKyhB,EAAyB14B,QAAQi1B,oBAAiC,IAAPhe,GAAyBA,EAAG/V,KAAKw3B,EAAyB14B,QAAS+zB,EAAU58B,EAAM,IAExJ4J,OAAOoR,SAASgjB,aAA6C,EAASA,EAAUG,UAAY,CAAC,GAAG7yB,SAAQ,EAAEq3B,EAAYtuB,MAClH,IAAIyL,EACuD,QAA1DA,EAAKyhB,EAAyB14B,QAAQk1B,sBAAmC,IAAPje,GAAyBA,EAAG/V,KAAKw3B,EAAyB14B,QAAS85B,EAAYtuB,EAAO,KAZpJouB,IACD7gC,QAAQgB,KAAK,6EACb6/B,GAAuC,EAYnD,EAYAn6B,EAAQ85B,eAVR,SAAwBpE,GACpBp0B,OAAOoG,MAAMguB,aAA6C,EAASA,EAAUE,QAAU,CAAC,GAAG5yB,SAASsxB,IAChG,IAAI9c,EAC0D,QAA7DA,EAAKyhB,EAAyB14B,QAAQ+5B,yBAAsC,IAAP9iB,GAAyBA,EAAG/V,KAAKw3B,EAAyB14B,QAAS+zB,EAAS,IAEtJhzB,OAAOoG,MAAMguB,aAA6C,EAASA,EAAUG,UAAY,CAAC,GAAG7yB,SAASq3B,IAClG,IAAI7iB,EAC4D,QAA/DA,EAAKyhB,EAAyB14B,QAAQg6B,2BAAwC,IAAP/iB,GAAyBA,EAAG/V,KAAKw3B,EAAyB14B,QAAS85B,EAAW,GAE9J,C","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/ModernAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/dom-helpers/class/hasClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/react-transition-group/CSSTransition.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/react-transition-group/ReplaceTransition.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/react-transition-group/Transition.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/react-transition-group/TransitionGroup.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/react-transition-group/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/react-transition-group/utils/ChildMapping.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/react-transition-group/utils/PropTypes.js","webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/logo/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/logo/dist/es2019/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/logo/dist/es2019/wrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/logo/dist/es2019/jira-service-desk-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/logo/dist/es2019/confluence-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/node_modules/@atlaskit/logo/dist/es2019/bitbucket-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/button/dist/esm/components/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/button/dist/esm/components/getStyles.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/button/dist/esm/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/button/dist/esm/components/Content.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/button/dist/esm/components/InnerWrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/button/dist/esm/components/IconWrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/button/dist/esm/components/LoadingSpinner.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/button/dist/esm/components/Button.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/src/components/ectl-record-styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/src/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/src/utils/ectl-record-utils.ts","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-record/src/ectl-record.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/src/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/src/ectl-list.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-ectl-list/src/utils/ectl-list-utils.ts","webpack:///./resources/js/react/cms-components/ectl-list/EctlListComponentContainer.tsx","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/@atlassian/feature-gate-js-client/dist/fetcher/Fetcher.js","webpack:///./node_modules/@atlassian/feature-gate-js-client/dist/fetcher/errors.js","webpack:///./node_modules/@atlassian/feature-gate-js-client/dist/fetcher/index.js","webpack:///./node_modules/@atlassian/feature-gate-js-client/dist/index.js","webpack:///./node_modules/@atlassian/feature-gate-js-client/dist/types.js","webpack:///./node_modules/@atlassian/feature-gate-js-client/dist/version.js","webpack:///./node_modules/@atlassian/feature-gates-react/dist/FeatureGatesInitialization.js","webpack:///./node_modules/@atlassian/feature-gates-react/dist/FeatureGatesInitializationWithDefaults.js","webpack:///./node_modules/@atlassian/feature-gates-react/dist/FeatureGatesInitializationWithValues.js","webpack:///./node_modules/@atlassian/feature-gates-react/dist/index.js","webpack:///./node_modules/@atlassian/feature-gates-react/dist/utils.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n  getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n  getAtlaskitAnalyticsContext: PropTypes.func\n};\nconst noop = () => [];\n\n// eslint-disable-next-line @repo/internal/react/no-class-components\nclass AnalyticsListener extends Component {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"getChildContext\", () => ({\n      getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n      getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n    }));\n    _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n      const {\n        channel,\n        onEvent\n      } = this.props;\n      const {\n        getAtlaskitAnalyticsEventHandlers = noop\n      } = this.context;\n      const handler = (event, eventChannel) => {\n        if (channel === '*' || channel === eventChannel) {\n          onEvent(event, eventChannel);\n        }\n      };\n      return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n    });\n    _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n      const {\n        getAtlaskitAnalyticsContext = noop\n      } = this.context;\n      return getAtlaskitAnalyticsContext();\n    });\n    this.contextValue = {\n      getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n      getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n    };\n  }\n  render() {\n    const {\n      children\n    } = this.props;\n    return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n      value: this.contextValue\n    }, children);\n  }\n}\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\nexport default AnalyticsListener;","import React, { useCallback, useMemo } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nimport { useAnalyticsContext } from '../../hooks/useAnalyticsContext';\nimport { useTrackedRef } from '../../hooks/useTrackedRef';\nconst AnalyticsListener = ({\n  children,\n  channel,\n  onEvent\n}) => {\n  const analyticsContext = useAnalyticsContext();\n  const onEventRef = useTrackedRef(onEvent);\n  const channelRef = useTrackedRef(channel);\n  const getAtlaskitAnalyticsEventHandlers = useCallback(() => {\n    const thisHandler = (event, eventChannel) => {\n      if (channelRef.current === '*' || channelRef.current === eventChannel) {\n        onEventRef.current(event, eventChannel);\n      }\n    };\n    return [...analyticsContext.getAtlaskitAnalyticsEventHandlers(), thisHandler];\n  }, [analyticsContext, channelRef, onEventRef]);\n  const value = useMemo(() => {\n    return {\n      getAtlaskitAnalyticsEventHandlers,\n      getAtlaskitAnalyticsContext: analyticsContext.getAtlaskitAnalyticsContext\n    };\n  }, [analyticsContext, getAtlaskitAnalyticsEventHandlers]);\n  return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n    value: value\n  }, children);\n};\nexport default AnalyticsListener;","import React from 'react';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nconst ExportedAnalyticsListener = props => {\n  var _process$env;\n  const isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);\n  return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsListener, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsListener, props);\n};\nexport default ExportedAnalyticsListener;","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  ref.current = value;\n  return ref;\n};","var _ref, _process, _process$env, _process2, _process2$env;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n  if (!DEBUG_MODE) {\n    return;\n  }\n\n  // eslint-disable-next-line no-console\n  console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nconst ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst DEFAULT_PFF_GLOBAL = {\n  // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n  // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n  earlyResolvedFlags: new Map(),\n  booleanResolver: function (flagKey) {\n    if (process.env.NODE_ENV !== 'production') {\n      const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n      this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n    }\n    return false;\n  }\n};\nconst globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n  globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n  if (process.env.NODE_ENV !== 'production') {\n    var _globalVar$PFF_GLOBAL, _globalVar$PFF_GLOBAL2;\n    if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.size) > 0) {\n      debug(`[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.`, pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n      globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n    }\n  }\n}\nexport function resolveBooleanFlag(flagKey) {\n  if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n    debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n    return true;\n  }\n  try {\n    var _globalVar$PFF_GLOBAL3;\n    const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n    if (typeof result !== 'boolean') {\n      // eslint-disable-next-line no-console\n      console.warn(`${flagKey} resolved to a non-boolean value, returning false for safety`);\n      return false;\n    }\n    return result;\n  } catch (e) {\n    return false;\n  }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n  setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @deprecated Use {@link fg} function instead.\n * @param name\n */\nexport function getBooleanFF(name) {\n  return resolveBooleanFlag(name);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function fg(name) {\n  return resolveBooleanFlag(name);\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B100})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","export const presetSizes = {\n  xsmall: 8,\n  small: 16,\n  medium: 24,\n  large: 48,\n  xlarge: 96\n};","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\n\n/**\n * Returns the appropriate circle stroke color.\n */\nfunction getStrokeColor({\n  mode,\n  appearance\n}) {\n  if (mode === 'light') {\n    return appearance === 'inherit' ? `var(--ds-text-subtle, ${N500})` : `var(--ds-text-inverse, ${N0})`;\n  }\n\n  return appearance === 'inherit' ? `var(--ds-text-subtle, ${DN900})` : `var(--ds-text-inverse, ${DN500})`;\n}\n\nconst rotate = keyframes({\n  to: {\n    transform: 'rotate(360deg)'\n  }\n});\nconst rotateStyles = css({\n  animation: `${rotate} 0.86s infinite`,\n  animationTimingFunction: 'cubic-bezier(0.4, 0.15, 0.6, 0.85)',\n  transformOrigin: 'center'\n});\n/**\n * There are three parts to the load in animation:\n * 1. Fade in\n * 2. Accelerated spin\n * 3. Stretch the spinner line\n */\n\nconst loadIn = keyframes({\n  from: {\n    transform: 'rotate(50deg)',\n    opacity: 0,\n    strokeDashoffset: 60\n  },\n  to: {\n    transform: 'rotate(230deg)',\n    opacity: 1,\n    strokeDashoffset: 50\n  }\n});\nconst loadInStyles = css({\n  animation: `${loadIn} 1s ease-in-out`,\n\n  /**\n   * When the animation completes, stay at the last frame of the animation.\n   */\n  animationFillMode: 'forwards',\n\n  /**\n   * We are going to animate this in.\n   */\n  opacity: 0\n});\nconst wrapperStyles = css({\n  display: 'inline-flex',\n\n  /**\n   * Align better inline with text.\n   */\n  verticalAlign: 'middle'\n});\nconst circleStyles = css({\n  fill: 'none',\n  strokeDasharray: 60,\n  strokeDashoffset: 'inherit',\n  strokeLinecap: 'round',\n  strokeWidth: 1.5,\n  '@media screen and (forced-colors: active)': {\n    filter: 'grayscale(100%)',\n    stroke: 'CanvasText'\n  }\n});\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function Spinner({\n  testId,\n  appearance = 'inherit',\n  delay = 0,\n  size: providedSize = 'medium'\n}, ref) {\n  const size = typeof providedSize === 'number' ? providedSize : presetSizes[providedSize];\n  const animationDelay = `${delay}ms`;\n  const {\n    mode\n  } = useGlobalTheme();\n  const stroke = getStrokeColor({\n    mode,\n    appearance\n  });\n  /**\n   * The Spinner animation uses a combination of two\n   * css animations on two separate elements.\n   */\n\n  return jsx(\"span\", {\n    /**\n     * This span exists to off-load animations from the circle element,\n     * which were causing performance issues (style recalculations)\n     * on Safari and older versions of Chrome.\n     *\n     * This can be removed and styles placed back on the circle element once\n     * Safari fixes this bug and off-loads rendering to the GPU from the CPU.\n     */\n    css: [wrapperStyles, rotateStyles],\n    \"data-testid\": testId && `${testId}-wrapper`,\n    style: {\n      animationDelay,\n      width: size,\n      height: size\n    }\n  }, jsx(\"svg\", {\n    height: size,\n    width: size,\n    viewBox: \"0 0 16 16\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"data-testid\": testId,\n    ref: ref,\n    css: loadInStyles,\n    style: {\n      animationDelay\n    }\n  }, jsx(\"circle\", {\n    cx: \"8\",\n    cy: \"8\",\n    r: \"7\",\n    css: circleStyles,\n    style: {\n      stroke\n    }\n  })));\n}));","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n  if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n  if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n  return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n  if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return (0, _addClass.default)(node, c);\n  });\n};\n\nvar removeClass = function removeClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return (0, _removeClass.default)(node, c);\n  });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n *   const [inProp, setInProp] = useState(false);\n *   return (\n *     <div>\n *       <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n *         <div>\n *           {\"I'll receive my-node-* classes\"}\n *         </div>\n *       </CSSTransition>\n *       <button type=\"button\" onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n *   opacity: 0;\n * }\n * .my-node-enter-active {\n *   opacity: 1;\n *   transition: opacity 200ms;\n * }\n * .my-node-exit {\n *   opacity: 1;\n * }\n * .my-node-exit-active {\n *   opacity: 0;\n *   transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(CSSTransition, _React$Component);\n\n  function CSSTransition() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n    _this.onEnter = function (node, appearing) {\n      var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n          className = _this$getClassNames.className;\n\n      _this.removeClasses(node, 'exit');\n\n      addClass(node, className);\n\n      if (_this.props.onEnter) {\n        _this.props.onEnter(node, appearing);\n      }\n    };\n\n    _this.onEntering = function (node, appearing) {\n      var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n          activeClassName = _this$getClassNames2.activeClassName;\n\n      _this.reflowAndAddClass(node, activeClassName);\n\n      if (_this.props.onEntering) {\n        _this.props.onEntering(node, appearing);\n      }\n    };\n\n    _this.onEntered = function (node, appearing) {\n      var appearClassName = _this.getClassNames('appear').doneClassName;\n\n      var enterClassName = _this.getClassNames('enter').doneClassName;\n\n      var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n      _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n      addClass(node, doneClassName);\n\n      if (_this.props.onEntered) {\n        _this.props.onEntered(node, appearing);\n      }\n    };\n\n    _this.onExit = function (node) {\n      var _this$getClassNames3 = _this.getClassNames('exit'),\n          className = _this$getClassNames3.className;\n\n      _this.removeClasses(node, 'appear');\n\n      _this.removeClasses(node, 'enter');\n\n      addClass(node, className);\n\n      if (_this.props.onExit) {\n        _this.props.onExit(node);\n      }\n    };\n\n    _this.onExiting = function (node) {\n      var _this$getClassNames4 = _this.getClassNames('exit'),\n          activeClassName = _this$getClassNames4.activeClassName;\n\n      _this.reflowAndAddClass(node, activeClassName);\n\n      if (_this.props.onExiting) {\n        _this.props.onExiting(node);\n      }\n    };\n\n    _this.onExited = function (node) {\n      var _this$getClassNames5 = _this.getClassNames('exit'),\n          doneClassName = _this$getClassNames5.doneClassName;\n\n      _this.removeClasses(node, 'exit');\n\n      addClass(node, doneClassName);\n\n      if (_this.props.onExited) {\n        _this.props.onExited(node);\n      }\n    };\n\n    _this.getClassNames = function (type) {\n      var classNames = _this.props.classNames;\n      var isStringClassNames = typeof classNames === 'string';\n      var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n      var className = isStringClassNames ? prefix + type : classNames[type];\n      var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n      var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n      return {\n        className: className,\n        activeClassName: activeClassName,\n        doneClassName: doneClassName\n      };\n    };\n\n    return _this;\n  }\n\n  var _proto = CSSTransition.prototype;\n\n  _proto.removeClasses = function removeClasses(node, type) {\n    var _this$getClassNames6 = this.getClassNames(type),\n        className = _this$getClassNames6.className,\n        activeClassName = _this$getClassNames6.activeClassName,\n        doneClassName = _this$getClassNames6.doneClassName;\n\n    className && removeClass(node, className);\n    activeClassName && removeClass(node, activeClassName);\n    doneClassName && removeClass(node, doneClassName);\n  };\n\n  _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n    // This is for to force a repaint,\n    // which is necessary in order to transition styles when adding a class name.\n    if (className) {\n      /* eslint-disable no-unused-expressions */\n      node && node.scrollTop;\n      /* eslint-enable no-unused-expressions */\n\n      addClass(node, className);\n    }\n  };\n\n  _proto.render = function render() {\n    var props = _extends({}, this.props);\n\n    delete props.classNames;\n    return _react.default.createElement(_Transition.default, _extends({}, props, {\n      onEnter: this.onEnter,\n      onEntered: this.onEntered,\n      onEntering: this.onEntering,\n      onExit: this.onExit,\n      onExiting: this.onExiting,\n      onExited: this.onExited\n    }));\n  };\n\n  return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n  classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n  /**\n   * The animation classNames applied to the component as it enters, exits or\n   * has finished the transition. A single name can be provided and it will be\n   * suffixed for each stage: e.g.\n   *\n   * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n   * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n   * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n   *\n   * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n   * This allows you to define different behavior for when appearing is done and\n   * when regular entering is done, using selectors like\n   * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n   * epic entrance animation when element first appears in the DOM using\n   * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n   * simply use `fade-enter-done` for defining both cases.\n   *\n   * Each individual classNames can also be specified independently like:\n   *\n   * ```js\n   * classNames={{\n   *  appear: 'my-appear',\n   *  appearActive: 'my-active-appear',\n   *  appearDone: 'my-done-appear',\n   *  enter: 'my-enter',\n   *  enterActive: 'my-active-enter',\n   *  enterDone: 'my-done-enter',\n   *  exit: 'my-exit',\n   *  exitActive: 'my-active-exit',\n   *  exitDone: 'my-done-exit',\n   * }}\n   * ```\n   *\n   * If you want to set these classes using CSS Modules:\n   *\n   * ```js\n   * import styles from './styles.css';\n   * ```\n   *\n   * you might want to use camelCase in your CSS file, that way could simply\n   * spread them instead of listing them one by one:\n   *\n   * ```js\n   * classNames={{ ...styles }}\n   * ```\n   *\n   * @type {string | {\n   *  appear?: string,\n   *  appearActive?: string,\n   *  appearDone?: string,\n   *  enter?: string,\n   *  enterActive?: string,\n   *  enterDone?: string,\n   *  exit?: string,\n   *  exitActive?: string,\n   *  exitDone?: string,\n   * }}\n   */\n  classNames: _PropTypes.classNamesShape,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n   * applied.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter-active' or\n   * 'appear-active' class is applied.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or\n   * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' class is\n   * applied.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' classes\n   * are **removed** and the `exit-done` class is added to the DOM node.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `<ReplaceTransition>` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * <ReplaceTransition in>\n *   <Fade><div>I appear first</div></Fade>\n *   <Fade><div>I replace the above</div></Fade>\n * </ReplaceTransition>\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(ReplaceTransition, _React$Component);\n\n  function ReplaceTransition() {\n    var _this;\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n    _this.handleEnter = function () {\n      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      return _this.handleLifecycle('onEnter', 0, args);\n    };\n\n    _this.handleEntering = function () {\n      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n        args[_key3] = arguments[_key3];\n      }\n\n      return _this.handleLifecycle('onEntering', 0, args);\n    };\n\n    _this.handleEntered = function () {\n      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n        args[_key4] = arguments[_key4];\n      }\n\n      return _this.handleLifecycle('onEntered', 0, args);\n    };\n\n    _this.handleExit = function () {\n      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n        args[_key5] = arguments[_key5];\n      }\n\n      return _this.handleLifecycle('onExit', 1, args);\n    };\n\n    _this.handleExiting = function () {\n      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n        args[_key6] = arguments[_key6];\n      }\n\n      return _this.handleLifecycle('onExiting', 1, args);\n    };\n\n    _this.handleExited = function () {\n      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n        args[_key7] = arguments[_key7];\n      }\n\n      return _this.handleLifecycle('onExited', 1, args);\n    };\n\n    return _this;\n  }\n\n  var _proto = ReplaceTransition.prototype;\n\n  _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n    var _child$props;\n\n    var children = this.props.children;\n\n    var child = _react.default.Children.toArray(children)[idx];\n\n    if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n    if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        children = _this$props.children,\n        inProp = _this$props.in,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n    var _React$Children$toArr = _react.default.Children.toArray(children),\n        first = _React$Children$toArr[0],\n        second = _React$Children$toArr[1];\n\n    delete props.onEnter;\n    delete props.onEntering;\n    delete props.onEntered;\n    delete props.onExit;\n    delete props.onExiting;\n    delete props.onExited;\n    return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n      key: 'first',\n      onEnter: this.handleEnter,\n      onEntering: this.handleEntering,\n      onEntered: this.handleEntered\n    }) : _react.default.cloneElement(second, {\n      key: 'second',\n      onEnter: this.handleExit,\n      onEntering: this.handleExiting,\n      onEntered: this.handleExited\n    }));\n  };\n\n  return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  in: _propTypes.default.bool.isRequired,\n  children: function children(props, propName) {\n    if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n    return null;\n  }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar 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: 0 },\n *   entered:  { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n *   <Transition in={inProp} timeout={duration}>\n *     {state => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\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 *     <div>\n *       <Transition in={inProp} timeout={500}>\n *         {state => (\n *           // ...\n *         )}\n *       </Transition>\n *       <button onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\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\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(Transition, _React$Component);\n\n  function Transition(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n    var parentGroup = context.transitionGroup; // 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\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\n    _this.state = {\n      status: initialStatus\n    };\n    _this.nextCallback = null;\n    return _this;\n  }\n\n  var _proto = Transition.prototype;\n\n  _proto.getChildContext = function getChildContext() {\n    return {\n      transitionGroup: null // allows for nested Transitions\n\n    };\n  };\n\n  Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n    var nextIn = _ref.in;\n\n    if (nextIn && prevState.status === UNMOUNTED) {\n      return {\n        status: EXITED\n      };\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\n  _proto.componentDidMount = function componentDidMount() {\n    this.updateStatus(true, this.appearStatus);\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var nextStatus = null;\n\n    if (prevProps !== this.props) {\n      var status = this.state.status;\n\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\n    this.updateStatus(false, nextStatus);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.cancelNextCallback();\n  };\n\n  _proto.getTimeouts = function getTimeouts() {\n    var timeout = this.props.timeout;\n    var exit, enter, appear;\n    exit = enter = appear = timeout;\n\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\n    return {\n      exit: exit,\n      enter: enter,\n      appear: appear\n    };\n  };\n\n  _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n    if (mounting === void 0) {\n      mounting = false;\n    }\n\n    if (nextStatus !== null) {\n      // nextStatus will always be ENTERING or EXITING.\n      this.cancelNextCallback();\n\n      var node = _reactDom.default.findDOMNode(this);\n\n      if (nextStatus === ENTERING) {\n        this.performEnter(node, mounting);\n      } else {\n        this.performExit(node);\n      }\n    } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n      this.setState({\n        status: UNMOUNTED\n      });\n    }\n  };\n\n  _proto.performEnter = function performEnter(node, mounting) {\n    var _this2 = this;\n\n    var enter = this.props.enter;\n    var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\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) {\n      this.safeSetState({\n        status: ENTERED\n      }, function () {\n        _this2.props.onEntered(node);\n      });\n      return;\n    }\n\n    this.props.onEnter(node, appearing);\n    this.safeSetState({\n      status: ENTERING\n    }, function () {\n      _this2.props.onEntering(node, appearing);\n\n      _this2.onTransitionEnd(node, enterTimeout, function () {\n        _this2.safeSetState({\n          status: ENTERED\n        }, function () {\n          _this2.props.onEntered(node, appearing);\n        });\n      });\n    });\n  };\n\n  _proto.performExit = function performExit(node) {\n    var _this3 = this;\n\n    var exit = this.props.exit;\n    var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n    if (!exit) {\n      this.safeSetState({\n        status: EXITED\n      }, function () {\n        _this3.props.onExited(node);\n      });\n      return;\n    }\n\n    this.props.onExit(node);\n    this.safeSetState({\n      status: EXITING\n    }, function () {\n      _this3.props.onExiting(node);\n\n      _this3.onTransitionEnd(node, timeouts.exit, function () {\n        _this3.safeSetState({\n          status: EXITED\n        }, function () {\n          _this3.props.onExited(node);\n        });\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\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\n  _proto.setNextCallback = function setNextCallback(callback) {\n    var _this4 = this;\n\n    var active = true;\n\n    this.nextCallback = function (event) {\n      if (active) {\n        active = false;\n        _this4.nextCallback = null;\n        callback(event);\n      }\n    };\n\n    this.nextCallback.cancel = function () {\n      active = false;\n    };\n\n    return this.nextCallback;\n  };\n\n  _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n    this.setNextCallback(handler);\n    var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n    if (!node || doesNotHaveTimeoutOrListener) {\n      setTimeout(this.nextCallback, 0);\n      return;\n    }\n\n    if (this.props.addEndListener) {\n      this.props.addEndListener(node, this.nextCallback);\n    }\n\n    if (timeout != null) {\n      setTimeout(this.nextCallback, timeout);\n    }\n  };\n\n  _proto.render = function render() {\n    var status = this.state.status;\n\n    if (status === UNMOUNTED) {\n      return null;\n    }\n\n    var _this$props = this.props,\n        children = _this$props.children,\n        childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n    delete childProps.in;\n    delete childProps.mountOnEnter;\n    delete childProps.unmountOnExit;\n    delete childProps.appear;\n    delete childProps.enter;\n    delete childProps.exit;\n    delete childProps.timeout;\n    delete childProps.addEndListener;\n    delete childProps.onEnter;\n    delete childProps.onEntering;\n    delete childProps.onEntered;\n    delete childProps.onExit;\n    delete childProps.onExiting;\n    delete childProps.onExited;\n\n    if (typeof children === 'function') {\n      return children(status, childProps);\n    }\n\n    var child = _react.default.Children.only(children);\n\n    return _react.default.cloneElement(child, childProps);\n  };\n\n  return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n  transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n  transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * A `function` child can be used instead of a React element. This function is\n   * called with the current transition status (`'entering'`, `'entered'`,\n   * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n   * specific props to a component.\n   *\n   * ```jsx\n   * <Transition in={this.state.in} timeout={150}>\n   *   {state => (\n   *     <MyComponent className={`fade fade-${state}`} />\n   *   )}\n   * </Transition>\n   * ```\n   */\n  children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n  /**\n   * Show the component; triggers the enter or exit states\n   */\n  in: PropTypes.bool,\n\n  /**\n   * By default the child component is mounted immediately along with\n   * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n   * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n   * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n   */\n  mountOnEnter: PropTypes.bool,\n\n  /**\n   * By default the child component stays mounted after it reaches the `'exited'` state.\n   * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n   */\n  unmountOnExit: PropTypes.bool,\n\n  /**\n   * Normally a component is not transitioned if it is shown when the `<Transition>` component mounts.\n   * If you want to transition on the first mount set `appear` to `true`, and the\n   * component will transition in as soon as the `<Transition>` mounts.\n   *\n   * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n   */\n  appear: PropTypes.bool,\n\n  /**\n   * Enable or disable enter transitions.\n   */\n  enter: PropTypes.bool,\n\n  /**\n   * Enable or disable exit transitions.\n   */\n  exit: PropTypes.bool,\n\n  /**\n   * The duration of the transition, in milliseconds.\n   * Required unless `addEndListener` is provided.\n   *\n   * You may specify a single timeout for all transitions:\n   *\n   * ```jsx\n   * timeout={500}\n   * ```\n   *\n   * or individually:\n   *\n   * ```jsx\n   * timeout={{\n   *  appear: 500,\n   *  enter: 300,\n   *  exit: 500,\n   * }}\n   * ```\n   *\n   * - `appear` defaults to the value of `enter`\n   * - `enter` defaults to `0`\n   * - `exit` defaults to `0`\n   *\n   * @type {number | { enter?: number, exit?: number, appear?: number }}\n   */\n  timeout: function timeout(props) {\n    var pt = _PropTypes.timeoutsShape;\n    if (!props.addEndListener) pt = pt.isRequired;\n\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return pt.apply(void 0, [props].concat(args));\n  },\n\n  /**\n   * Add a custom transition end trigger. Called with the transitioning\n   * DOM node and a `done` callback. Allows for more fine grained transition end\n   * logic. **Note:** Timeouts are still used as a fallback if provided.\n   *\n   * ```jsx\n   * addEndListener={(node, done) => {\n   *   // use the css transitionend event to mark the finish of a transition\n   *   node.addEventListener('transitionend', done, false);\n   * }}\n   * ```\n   */\n  addEndListener: PropTypes.func,\n\n  /**\n   * Callback fired before the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entered\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * Callback fired before the \"exiting\" status is applied.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exiting\" status is applied.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exited\" status is applied.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\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 = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n  return Object.keys(obj).map(function (k) {\n    return obj[k];\n  });\n};\n\nvar defaultProps = {\n  component: 'div',\n  childFactory: function childFactory(child) {\n    return child;\n  }\n  /**\n   * The `<TransitionGroup>` component manages a set of transition components\n   * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n   * components, `<TransitionGroup>` 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 `<TransitionGroup>`.\n   *\n   * Note that `<TransitionGroup>`  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\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(TransitionGroup, _React$Component);\n\n  function TransitionGroup(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n\n    var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n    _this.state = {\n      handleExited: handleExited,\n      firstRender: true\n    };\n    return _this;\n  }\n\n  var _proto = TransitionGroup.prototype;\n\n  _proto.getChildContext = function getChildContext() {\n    return {\n      transitionGroup: {\n        isMounting: !this.appeared\n      }\n    };\n  };\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.appeared = true;\n    this.mounted = true;\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.mounted = false;\n  };\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 ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n      firstRender: false\n    };\n  };\n\n  _proto.handleExited = function handleExited(child, node) {\n    var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n    if (child.key in currentChildMapping) return;\n\n    if (child.props.onExited) {\n      child.props.onExited(node);\n    }\n\n    if (this.mounted) {\n      this.setState(function (state) {\n        var children = _extends({}, state.children);\n\n        delete children[child.key];\n        return {\n          children: children\n        };\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\n    var children = values(this.state.children).map(childFactory);\n    delete props.appear;\n    delete props.enter;\n    delete props.exit;\n\n    if (Component === null) {\n      return children;\n    }\n\n    return _react.default.createElement(Component, props, children);\n  };\n\n  return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n  transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * `<TransitionGroup>` renders a `<div>` by default. You can change this\n   * behavior by providing a `component` prop.\n   * If you use React v16+ and would like to avoid a wrapping `<div>` element\n   * you can pass in `component={null}`. This is useful if the wrapping div\n   * borks your css styles.\n   */\n  component: _propTypes.default.any,\n\n  /**\n   * A set of `<Transition>` components, that are toggled `in` and out as they\n   * leave. the `<TransitionGroup>` will inject specific transition props, so\n   * remember to spread them through if you are wrapping the `<Transition>` as\n   * with our `<Fade>` example.\n   *\n   * While this component is meant for multiple `Transition` or `CSSTransition`\n   * children, sometimes you may want to have a single transition child with\n   * content that you want to be transitioned out and in when you change it\n   * (e.g. routes, images etc.) In that case you can change the `key` prop of\n   * the transition child as you change its content, this will cause\n   * `TransitionGroup` to transition the child out and back in.\n   */\n  children: _propTypes.default.node,\n\n  /**\n   * A convenience prop that enables or disables appear animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  appear: _propTypes.default.bool,\n\n  /**\n   * A convenience prop that enables or disables enter animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  enter: _propTypes.default.bool,\n\n  /**\n   * A convenience prop that enables or disables exit animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  exit: _propTypes.default.bool,\n\n  /**\n   * You may need to apply reactive updates to a child as it is exiting.\n   * This is generally done by using `cloneElement` however in the case of an exiting\n   * child the element has already been removed and not accessible to the consumer.\n   *\n   * If you do need to update a child as it leaves you can provide a `childFactory`\n   * to wrap every child, even the ones that are leaving.\n   *\n   * @type Function(child: ReactElement) -> ReactElement\n   */\n  childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n  Transition: _Transition.default,\n  TransitionGroup: _TransitionGroup.default,\n  ReplaceTransition: _ReplaceTransition.default,\n  CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\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 */\nfunction getChildMapping(children, mapFn) {\n  var mapper = function mapper(child) {\n    return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n  };\n\n  var result = Object.create(null);\n  if (children) _react.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\n\nfunction mergeChildMappings(prev, next) {\n  prev = prev || {};\n  next = next || {};\n\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\n  var nextKeysPending = Object.create(null);\n  var pendingKeys = [];\n\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\n  var i;\n  var childMapping = {};\n\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\n    childMapping[nextKey] = getValueForKey(nextKey);\n  } // Finally, add the keys which didn't appear before any key in `next`\n\n\n  for (i = 0; i < pendingKeys.length; i++) {\n    childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n  }\n\n  return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n  return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n  return getChildMapping(props.children, function (child) {\n    return (0, _react.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}\n\nfunction 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 (!(0, _react.isValidElement)(child)) return;\n    var hasPrev = key in prevChildMapping;\n    var hasNext = key in nextChildMapping;\n    var prevChild = prevChildMapping[key];\n    var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n    if (hasNext && (!hasPrev || isLeaving)) {\n      // console.log('entering', key)\n      children[key] = (0, _react.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] = (0, _react.cloneElement)(child, {\n        in: false\n      });\n    } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n      // item hasn't changed transition states\n      // copy over the last transition props;\n      // console.log('unchanged', key)\n      children[key] = (0, _react.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}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n  enter: _propTypes.default.number,\n  exit: _propTypes.default.number,\n  appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n  enter: _propTypes.default.string,\n  exit: _propTypes.default.string,\n  active: _propTypes.default.string\n}), _propTypes.default.shape({\n  enter: _propTypes.default.string,\n  enterDone: _propTypes.default.string,\n  enterActive: _propTypes.default.string,\n  exit: _propTypes.default.string,\n  exitDone: _propTypes.default.string,\n  exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","/**\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\nfunction componentWillMount() {\n  // Call this.constructor.gDSFP to support sub-classes.\n  var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n  if (state !== null && state !== undefined) {\n    this.setState(state);\n  }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n  // Call this.constructor.gDSFP to support sub-classes.\n  // Use the setState() updater to ensure state isn't stale in certain edge cases.\n  function updater(prevState) {\n    var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n    return state !== null && state !== undefined ? state : null;\n  }\n  // Binding \"this\" is important for shallow renderer support.\n  this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n  try {\n    var prevProps = this.props;\n    var prevState = this.state;\n    this.props = nextProps;\n    this.state = nextState;\n    this.__reactInternalSnapshotFlag = true;\n    this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n      prevProps,\n      prevState\n    );\n  } finally {\n    this.props = prevProps;\n    this.state = prevState;\n  }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n  var prototype = Component.prototype;\n\n  if (!prototype || !prototype.isReactComponent) {\n    throw new Error('Can only polyfill class components');\n  }\n\n  if (\n    typeof Component.getDerivedStateFromProps !== 'function' &&\n    typeof prototype.getSnapshotBeforeUpdate !== 'function'\n  ) {\n    return Component;\n  }\n\n  // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n  // Error if any of these lifecycles are present,\n  // Because they would work differently between older and newer (16.3+) versions of React.\n  var foundWillMountName = null;\n  var foundWillReceivePropsName = null;\n  var foundWillUpdateName = null;\n  if (typeof prototype.componentWillMount === 'function') {\n    foundWillMountName = 'componentWillMount';\n  } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n    foundWillMountName = 'UNSAFE_componentWillMount';\n  }\n  if (typeof prototype.componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'componentWillReceiveProps';\n  } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n  }\n  if (typeof prototype.componentWillUpdate === 'function') {\n    foundWillUpdateName = 'componentWillUpdate';\n  } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n    foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n  }\n  if (\n    foundWillMountName !== null ||\n    foundWillReceivePropsName !== null ||\n    foundWillUpdateName !== null\n  ) {\n    var componentName = Component.displayName || Component.name;\n    var newApiName =\n      typeof Component.getDerivedStateFromProps === 'function'\n        ? 'getDerivedStateFromProps()'\n        : 'getSnapshotBeforeUpdate()';\n\n    throw Error(\n      'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n        componentName +\n        ' uses ' +\n        newApiName +\n        ' but also contains the following legacy lifecycles:' +\n        (foundWillMountName !== null ? '\\n  ' + foundWillMountName : '') +\n        (foundWillReceivePropsName !== null\n          ? '\\n  ' + foundWillReceivePropsName\n          : '') +\n        (foundWillUpdateName !== null ? '\\n  ' + foundWillUpdateName : '') +\n        '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n        'https://fb.me/react-async-component-lifecycle-hooks'\n    );\n  }\n\n  // React <= 16.2 does not support static getDerivedStateFromProps.\n  // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n  // Newer versions of React will ignore these lifecycles if gDSFP exists.\n  if (typeof Component.getDerivedStateFromProps === 'function') {\n    prototype.componentWillMount = componentWillMount;\n    prototype.componentWillReceiveProps = componentWillReceiveProps;\n  }\n\n  // React <= 16.2 does not support getSnapshotBeforeUpdate.\n  // As a workaround, use cWU to invoke the new lifecycle.\n  // Newer versions of React will ignore that lifecycle if gSBU exists.\n  if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n    if (typeof prototype.componentDidUpdate !== 'function') {\n      throw new Error(\n        'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n      );\n    }\n\n    prototype.componentWillUpdate = componentWillUpdate;\n\n    var componentDidUpdate = prototype.componentDidUpdate;\n\n    prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n      prevProps,\n      prevState,\n      maybeSnapshot\n    ) {\n      // 16.3+ will not execute our will-update method;\n      // It will pass a snapshot value to did-update though.\n      // Older versions will require our polyfilled will-update value.\n      // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n      // Because for <= 15.x versions this might be a \"prevContext\" object.\n      // We also can't just check \"__reactInternalSnapshot\",\n      // Because get-snapshot might return a falsy value.\n      // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n      var snapshot = this.__reactInternalSnapshotFlag\n        ? this.__reactInternalSnapshot\n        : maybeSnapshot;\n\n      componentDidUpdate.call(this, prevProps, prevState, snapshot);\n    };\n  }\n\n  return Component;\n}\n\nexport { polyfill };\n","/**\n * These are the default parameters for LogoProps if the user does not specify values.\n */\nexport const defaultLogoParams = {\n  iconColor: 'inherit',\n  iconGradientStart: 'inherit',\n  iconGradientStop: 'inherit',\n  label: '',\n  size: 'medium',\n  textColor: 'currentColor'\n};\n\n/**\n * The props for the <Wrapper /> that takes the svg and turns it into a component.\n */\n\nexport const sizes = {\n  xsmall: 16,\n  small: 24,\n  medium: 32,\n  large: 40,\n  xlarge: 48\n};\n\n/**\n * In order to pass linting rules, these props were renamed to be more descriptive i.e. props renamed to LogoProps and\n * defaultParams to defaultLogoParams. However, this is a breaking change as it is a file with public entry points. The code\n * below is here to keep Logo backwards compatible.\n * See the ticket here: https://product-fabric.atlassian.net/browse/DSP-4086.\n *\n * Note that some consumers are accessing this using like so: import { Props } from '@atlaskit/logo/constants', this should\n * still work despite `LogoProps` being in a different types.tsx file.\n *\n */\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-175 Internal documentation for deprecation (no external access)} This has been renamed, please import `LogoProps` instead.\n */\n// eslint-disable-next-line @repo/internal/react/consistent-types-definitions\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-176 Internal documentation for deprecation (no external access)} This has been renamed, please import `defaultLogoParams` instead.\n */\nexport const DefaultProps = defaultLogoParams;","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport { B200, B400, N0, N100, N400, N50, N600, N800 } from '@atlaskit/theme/colors';\n// TODO: This is where we need to add tokens for all appearance color values\nexport const getColorsFromAppearance = appearance => {\n  let iconGradientStart, iconGradientStop, iconColor, textColor, atlassianLogoTextColor;\n  switch (appearance) {\n    case 'brand':\n      iconGradientStart = B400;\n      iconGradientStop = B200;\n      iconColor = B200;\n      textColor = `var(--ds-text, ${N800})`;\n      // This is only used for the top level Atlassian wordmark (see AtlassianLogo\n      // or AtlassianStartLogo for example), and is only different for the Brand\n      // appearance - a bold brand color. For other appearances,\n      // atlassianLogoTextColor is the same as textColor.\n      atlassianLogoTextColor = B400;\n      break;\n    case 'neutral':\n      iconGradientStart = N600;\n      iconGradientStop = N100;\n      iconColor = N100;\n      textColor = N400;\n      atlassianLogoTextColor = N400;\n      break;\n    case 'inverse':\n      iconGradientStart = N50;\n      iconGradientStop = N0;\n      iconColor = N0;\n      textColor = `var(--ds-text-inverse, ${N0})`;\n      atlassianLogoTextColor = `var(--ds-text-inverse, ${N0})`;\n      break;\n  }\n  return {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor,\n    atlassianLogoTextColor\n  };\n};","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nimport { sizes } from './constants';\nconst CSS_VAR_COLOR = '--logo-color';\nconst CSS_VAR_FILL = '--logo-fill';\nconst baseWrapperStyles = css({\n  display: 'inline-block',\n  position: 'relative',\n  color: `var(${CSS_VAR_COLOR})`,\n  fill: `var(${CSS_VAR_FILL})`,\n  lineHeight: 1,\n  userSelect: 'none',\n  whiteSpace: 'normal',\n  // eslint-disable-next-line @atlaskit/design-system/no-nested-styles\n  '> svg': {\n    height: '100%',\n    fill: 'inherit'\n  }\n});\nconst stopColorStyles = css({\n  // eslint-disable-next-line @atlaskit/design-system/no-nested-styles\n  stop: {\n    stopColor: 'currentColor'\n  }\n});\nconst sizeStyles = Object.entries(sizes).reduce((acc, [key, val]) => {\n  acc[key] = css({\n    height: `${val}px`\n  });\n  return acc;\n}, {});\n\n/**\n * __Wrapper__\n *\n * An internal component used by `@atlaskit/logo` to render logo SVGs with correct styles.\n */\nconst Wrapper = ({\n  label,\n  svg,\n  size,\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor,\n  testId: userDefinedTestId,\n  ...rest\n}) => {\n  const shouldApplyStopColor = iconGradientStart === 'inherit' && iconGradientStop === 'inherit' && appearance === undefined;\n  const testId = userDefinedTestId && `${userDefinedTestId}--wrapper`;\n  return jsx(\"span\", _extends({\n    css: [baseWrapperStyles, shouldApplyStopColor && stopColorStyles, size && sizeStyles[size]],\n    \"data-testid\": testId,\n    style: {\n      [CSS_VAR_COLOR]: iconColor,\n      [CSS_VAR_FILL]: textColor\n    },\n    \"aria-label\": label ? label : undefined,\n    role: label ? 'img' : undefined,\n    dangerouslySetInnerHTML: {\n      __html: svg\n    }\n    // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\n  }, rest));\n};\nexport default Wrapper;","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 179 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"97.6553341%\" y1=\"35.6591143%\" x2=\"37.202032%\" y2=\"75.4891864%\" id=\"${id}-1\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"7%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n      <linearGradient x1=\"8.43371138%\" y1=\"60.1495759%\" x2=\"64.1161517%\" y2=\"23.5790285%\" id=\"${id}-2\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"${colors.iconColor}\" d=\"M11.3881081,27.9242105 C12.4881804,26.8071817 13.1062496,25.2917664 13.1062496,23.7115789 C13.1062496,22.1313915 12.4881804,20.6159762 11.3881081,19.4989474 L11.3881081,19.4989474 L3.74837838,11.7621053 L0.273513514,15.2926316 C-0.0900771727,15.6625064 -0.0900771727,16.2617042 0.273513514,16.6315789 L11.3881081,27.9242105 L11.3881081,27.9242105 Z\" fill-rule=\"nonzero\"></path>\n      <path fill=\"${colors.iconColor}\" d=\"M22.5027027,15.2926316 L11.3881081,4 L11.3881081,4 L11.3539189,4.03473684 L11.3539189,4.03473684 C9.08852466,6.36456187 9.09963243,10.1156459 11.3787838,12.4315789 L19.0247297,20.1652632 L22.5027027,16.6315789 C22.8662934,16.2617042 22.8662934,15.6625064 22.5027027,15.2926316 Z\" fill-rule=\"nonzero\"></path>\n      <path d=\"M11.3881081,12.4252632 C9.10895676,10.1093301 9.09784899,6.35824608 11.3632432,4.02842105 L3.43445946,12.0810526 L7.58067568,16.2936842 L11.3881081,12.4252632 Z\" fill=\"url(#${id}-1)\" fill-rule=\"nonzero\"></path>\n      <path fill=\"url(#${id}-2)\" d=\"M15.1893243,15.6368421 L11.3881081,19.4989474 C12.4881804,20.6159762 13.1062496,22.1313915 13.1062496,23.7115789 C13.1062496,25.2917664 12.4881804,26.8071817 11.3881081,27.9242105 L19.3355405,19.8494737 L15.1893243,15.6368421 Z\" fill-rule=\"nonzero\"></path>\n      <path fill=\"${colors.textColor}\" d=\"M36.07,18.956 C36.07,20.646 35.394,21.842 33.418,21.842 C32.56,21.842 31.702,21.686 31,21.4 L31,23.662 C31.65,23.896 32.586,24.104 33.808,24.104 C37.032,24.104 38.41,21.946 38.41,18.8 L38.41,6.918 L36.07,6.918 L36.07,18.956 Z M41.894,7.568 C41.894,8.556 42.544,9.128 43.454,9.128 C44.364,9.128 45.014,8.556 45.014,7.568 C45.014,6.58 44.364,6.008 43.454,6.008 C42.544,6.008 41.894,6.58 41.894,7.568 Z M42.31,24 L44.546,24 L44.546,11 L42.31,11 L42.31,24 Z M47.926,24 L50.11,24 L50.11,16.33 C50.11,13.574 51.852,12.716 54.712,13.002 L54.712,10.818 C52.164,10.662 50.864,11.754 50.11,13.288 L50.11,11 L47.926,11 L47.926,24 Z M65.45,24 L65.45,21.66 C64.618,23.376 63.058,24.26 61.056,24.26 C57.598,24.26 55.856,21.322 55.856,17.5 C55.856,13.834 57.676,10.74 61.316,10.74 C63.214,10.74 64.67,11.598 65.45,13.288 L65.45,11 L67.686,11 L67.686,24 L65.45,24 Z M58.092,17.5 C58.092,20.62 59.34,22.18 61.654,22.18 C63.656,22.18 65.45,20.906 65.45,18.02 L65.45,16.98 C65.45,14.094 63.812,12.82 61.914,12.82 C59.392,12.82 58.092,14.484 58.092,17.5 Z M86.926,19.294 C86.926,16.226 84.898,15.056 81.284,14.146 C78.268,13.392 77.176,12.69 77.176,11.286 C77.176,9.726 78.502,8.946 80.738,8.946 C82.506,8.946 84.352,9.258 86.068,10.246 L86.068,7.906 C84.898,7.256 83.312,6.658 80.842,6.658 C76.864,6.658 74.836,8.634 74.836,11.286 C74.836,14.094 76.552,15.42 80.4,16.356 C83.65,17.136 84.586,17.942 84.586,19.45 C84.586,20.958 83.624,21.972 81.05,21.972 C78.788,21.972 76.344,21.374 74.758,20.542 L74.758,22.934 C76.084,23.61 77.618,24.26 80.92,24.26 C85.158,24.26 86.926,22.258 86.926,19.294 Z M95.09,24.26 C91.19,24.26 88.902,21.374 88.902,17.474 C88.902,13.574 91.19,10.74 95.09,10.74 C98.964,10.74 101.226,13.574 101.226,17.474 C101.226,21.374 98.964,24.26 95.09,24.26 Z M95.09,12.82 C92.308,12.82 91.086,15.004 91.086,17.474 C91.086,19.944 92.308,22.18 95.09,22.18 C97.846,22.18 99.042,19.944 99.042,17.474 C99.042,15.004 97.846,12.82 95.09,12.82 Z M106.92,9.622 C106.92,8.452 107.596,7.646 108.974,7.646 C109.494,7.646 109.988,7.698 110.378,7.776 L110.378,5.722 C109.988,5.618 109.546,5.514 108.87,5.514 C106.088,5.514 104.736,7.152 104.736,9.57 L104.736,11 L102.63,11 L102.63,13.08 L104.736,13.08 L104.736,24 L106.92,24 L106.92,13.08 L110.274,13.08 L110.274,11 L106.92,11 L106.92,9.622 Z M115.786,19.892 L115.786,13.08 L119.244,13.08 L119.244,11 L115.786,11 L115.786,8.244 L113.602,8.244 L113.602,11 L111.496,11 L111.496,13.08 L113.602,13.08 L113.602,19.944 C113.602,22.362 114.954,24 117.736,24 C118.412,24 118.854,23.896 119.244,23.792 L119.244,21.634 C118.854,21.712 118.36,21.816 117.84,21.816 C116.462,21.816 115.786,21.036 115.786,19.892 Z M125.432,24 L128.292,24 L130.528,17.708 L131.724,13.704 L132.92,17.708 L135.156,24 L138.016,24 L142.8,11 L140.33,11 L136.586,22.024 L132.79,11 L130.658,11 L126.862,22.024 L123.118,11 L120.648,11 L125.432,24 Z M153.538,24 L153.538,21.66 C152.706,23.376 151.146,24.26 149.144,24.26 C145.686,24.26 143.944,21.322 143.944,17.5 C143.944,13.834 145.764,10.74 149.404,10.74 C151.302,10.74 152.758,11.598 153.538,13.288 L153.538,11 L155.774,11 L155.774,24 L153.538,24 Z M146.18,17.5 C146.18,20.62 147.428,22.18 149.742,22.18 C151.744,22.18 153.538,20.906 153.538,18.02 L153.538,16.98 C153.538,14.094 151.9,12.82 150.002,12.82 C147.48,12.82 146.18,14.484 146.18,17.5 Z M159.154,24 L161.338,24 L161.338,16.33 C161.338,13.574 163.08,12.716 165.94,13.002 L165.94,10.818 C163.392,10.662 162.092,11.754 161.338,13.288 L161.338,11 L159.154,11 L159.154,24 Z M178.108,23.48 C177.042,24.052 175.404,24.26 174.078,24.26 C169.216,24.26 167.084,21.452 167.084,17.474 C167.084,13.548 169.268,10.74 173.22,10.74 C177.224,10.74 178.836,13.522 178.836,17.474 L178.836,18.488 L169.346,18.488 C169.658,20.698 171.088,22.128 174.156,22.128 C175.664,22.128 176.938,21.842 178.108,21.426 L178.108,23.48 Z M173.116,12.768 C170.75,12.768 169.554,14.302 169.32,16.564 L176.574,16.564 C176.444,14.146 175.352,12.768 173.116,12.768 Z\" fill-rule=\"evenodd\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Jira Software logo__\n *\n * The Jira Software logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraSoftwareLogo = ({\n  appearance,\n  label = 'Jira Software',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 211 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"38.0412357%\" y1=\"6.63683429%\" x2=\"59.8560262%\" y2=\"63.7778713%\" id=\"${id}\">\n        <stop stop-color=\"${iconGradientStart}\" ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n      <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n        <path d=\"M11.191,13.4484211 L17.7175,13.4736842 C18.1019517,13.475472 18.4524969,13.6934048 18.623358,14.0368529 C18.794219,14.3803011 18.7561568,14.7904914 18.525,15.0968421 L8.892,27.9242105 C7.43758041,26.8410282 6.47431921,25.2259563 6.21419504,23.4344131 C5.95407087,21.6428699 6.41839981,19.821665 7.505,18.3715789 L11.191,13.4484211 Z\" fill=\"url(#${id})\"></path>\n        <path d=\"M7.50183333,18.3715789 L1.01333333,18.3305263 C0.628881593,18.3287385 0.278336389,18.1108058 0.10747538,17.7673576 C-0.0633856302,17.4239094 -0.0253234719,17.0137191 0.205833333,16.7073684 L9.74383333,4 C11.1982529,5.08318232 12.1615141,6.69825426 12.4216383,8.48979744 C12.6817625,10.2813406 12.2174335,12.1025456 11.1308333,13.5526316 L7.50183333,18.3715789 Z\" fill=\"currentColor\"></path>\n        <path d=\"M32.07,18.956 C32.07,20.646 31.394,21.842 29.418,21.842 C28.56,21.842 27.702,21.686 27,21.4 L27,23.662 C27.65,23.896 28.586,24.104 29.808,24.104 C33.032,24.104 34.41,21.946 34.41,18.8 L34.41,6.918 L32.07,6.918 L32.07,18.956 Z M37.894,7.568 C37.894,8.556 38.544,9.128 39.454,9.128 C40.364,9.128 41.014,8.556 41.014,7.568 C41.014,6.58 40.364,6.008 39.454,6.008 C38.544,6.008 37.894,6.58 37.894,7.568 Z M38.31,24 L40.546,24 L40.546,11 L38.31,11 L38.31,24 Z M43.926,24 L46.11,24 L46.11,16.33 C46.11,13.574 47.852,12.716 50.712,13.002 L50.712,10.818 C48.164,10.662 46.864,11.754 46.11,13.288 L46.11,11 L43.926,11 L43.926,24 Z M61.45,24 L61.45,21.66 C60.618,23.376 59.058,24.26 57.056,24.26 C53.598,24.26 51.856,21.322 51.856,17.5 C51.856,13.834 53.676,10.74 57.316,10.74 C59.214,10.74 60.67,11.598 61.45,13.288 L61.45,11 L63.686,11 L63.686,24 L61.45,24 Z M54.092,17.5 C54.092,20.62 55.34,22.18 57.654,22.18 C59.656,22.18 61.45,20.906 61.45,18.02 L61.45,16.98 C61.45,14.094 59.812,12.82 57.914,12.82 C55.392,12.82 54.092,14.484 54.092,17.5 Z M82.926,19.294 C82.926,16.226 80.898,15.056 77.284,14.146 C74.268,13.392 73.176,12.69 73.176,11.286 C73.176,9.726 74.502,8.946 76.738,8.946 C78.506,8.946 80.352,9.258 82.068,10.246 L82.068,7.906 C80.898,7.256 79.312,6.658 76.842,6.658 C72.864,6.658 70.836,8.634 70.836,11.286 C70.836,14.094 72.552,15.42 76.4,16.356 C79.65,17.136 80.586,17.942 80.586,19.45 C80.586,20.958 79.624,21.972 77.05,21.972 C74.788,21.972 72.344,21.374 70.758,20.542 L70.758,22.934 C72.084,23.61 73.618,24.26 76.92,24.26 C81.158,24.26 82.926,22.258 82.926,19.294 Z M95.926,23.48 C94.86,24.052 93.222,24.26 91.896,24.26 C87.034,24.26 84.902,21.452 84.902,17.474 C84.902,13.548 87.086,10.74 91.038,10.74 C95.042,10.74 96.654,13.522 96.654,17.474 L96.654,18.488 L87.164,18.488 C87.476,20.698 88.906,22.128 91.974,22.128 C93.482,22.128 94.756,21.842 95.926,21.426 L95.926,23.48 Z M90.934,12.768 C88.568,12.768 87.372,14.302 87.138,16.564 L94.392,16.564 C94.262,14.146 93.17,12.768 90.934,12.768 Z M99.306,24 L101.49,24 L101.49,16.33 C101.49,13.574 103.232,12.716 106.092,13.002 L106.092,10.818 C103.544,10.662 102.244,11.754 101.49,13.288 L101.49,11 L99.306,11 L99.306,24 Z M111.604,24 L114.594,24 L119.638,11 L117.298,11 L113.112,22.102 L108.9,11 L106.56,11 L111.604,24 Z M121.146,7.568 C121.146,8.556 121.796,9.128 122.706,9.128 C123.616,9.128 124.266,8.556 124.266,7.568 C124.266,6.58 123.616,6.008 122.706,6.008 C121.796,6.008 121.146,6.58 121.146,7.568 Z M121.562,24 L123.798,24 L123.798,11 L121.562,11 L121.562,24 Z M136.356,21.66 C135.55,21.946 134.718,22.128 133.392,22.128 C129.986,22.128 128.582,19.996 128.582,17.474 C128.582,14.952 129.96,12.82 133.34,12.82 C134.562,12.82 135.446,13.054 136.278,13.444 L136.278,11.364 C135.264,10.896 134.354,10.74 133.184,10.74 C128.556,10.74 126.398,13.548 126.398,17.474 C126.398,21.452 128.556,24.26 133.184,24.26 C134.38,24.26 135.576,24.078 136.356,23.662 L136.356,21.66 Z M149.148,23.48 C148.082,24.052 146.444,24.26 145.118,24.26 C140.256,24.26 138.124,21.452 138.124,17.474 C138.124,13.548 140.308,10.74 144.26,10.74 C148.264,10.74 149.876,13.522 149.876,17.474 L149.876,18.488 L140.386,18.488 C140.698,20.698 142.128,22.128 145.196,22.128 C146.704,22.128 147.978,21.842 149.148,21.426 L149.148,23.48 Z M144.156,12.768 C141.79,12.768 140.594,14.302 140.36,16.564 L147.614,16.564 C147.484,14.146 146.392,12.768 144.156,12.768 Z M157.572,6.918 L163.864,6.918 C169.402,6.918 172.08,10.376 172.08,15.498 C172.08,20.672 169.376,24 163.864,24 L157.572,24 L157.572,6.918 Z M163.76,9.154 L159.912,9.154 L159.912,21.764 L163.89,21.764 C167.79,21.764 169.74,19.71 169.74,15.576 C169.74,11.416 167.894,9.154 163.76,9.154 Z M185.054,23.48 C183.988,24.052 182.35,24.26 181.024,24.26 C176.162,24.26 174.03,21.452 174.03,17.474 C174.03,13.548 176.214,10.74 180.166,10.74 C184.17,10.74 185.782,13.522 185.782,17.474 L185.782,18.488 L176.292,18.488 C176.604,20.698 178.034,22.128 181.102,22.128 C182.61,22.128 183.884,21.842 185.054,21.426 L185.054,23.48 Z M180.062,12.768 C177.696,12.768 176.5,14.302 176.266,16.564 L183.52,16.564 C183.39,14.146 182.298,12.768 180.062,12.768 Z M197.404,20.464 C197.404,18.202 195.948,17.136 193.062,16.434 C190.67,15.862 190.046,15.29 190.046,14.38 C190.046,13.366 190.93,12.794 192.568,12.794 C193.946,12.794 195.22,13.21 196.78,13.99 L196.78,11.676 C195.818,11.156 194.284,10.74 192.594,10.74 C189.63,10.74 187.888,12.118 187.888,14.38 C187.888,16.512 189.11,17.63 191.996,18.332 C194.466,18.93 195.22,19.502 195.22,20.49 C195.22,21.504 194.336,22.206 192.62,22.206 C190.982,22.206 189.11,21.582 187.992,20.932 L187.992,23.298 C188.98,23.818 190.566,24.26 192.516,24.26 C196,24.26 197.404,22.622 197.404,20.464 Z M202.214,24 L202.214,17.916 L207.934,24 L210.976,24 L204.606,17.396 L210.716,11 L207.804,11 L202.214,17.084 L202.214,5.566 L199.978,5.566 L199.978,24 L202.214,24 Z\" fill=\"inherit\" fill-rule=\"evenodd\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated JiraServiceDeskLogo will be removed from atlaskit/logo in the next major release. Please use JiraServiceManagementLogo instead.\n */\nexport const JiraServiceDeskLogo = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  label = 'Jira Service Desk',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('JiraServiceDeskLogo has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraServiceManagementLogo instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 305 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"38.0412357%\" y1=\"6.63683429%\" x2=\"59.8560262%\" y2=\"63.7778713%\" id=\"${id}\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"url(#${id})\" d=\"M11.191 13.448l6.527.026a1.011 1.011 0 01.807 1.623L8.892 27.924a6.81 6.81 0 01-1.387-9.553l3.686-4.923z\"/>\n      <path fill=\"${colors.iconColor}\" d=\"M7.502 18.372l-6.489-.041a1.011 1.011 0 01-.807-1.623L9.744 4a6.81 6.81 0 011.387 9.553L7.5 18.372z\"/>\n      <path fill=\"${colors.textColor}\" fill-rule=\"evenodd\" d=\"M38.565 6.004a1.443 1.443 0 011.546 1.545 1.545 1.545 0 11-3.091 0 1.448 1.448 0 011.545-1.545zm-1.133 4.944h2.216v12.88h-2.216v-12.88zm-5.409-4.043h2.318v11.77c0 3.118-1.364 5.27-4.557 5.27a8.253 8.253 0 01-2.784-.44v-2.254a6.496 6.496 0 002.397.44c1.959 0 2.635-1.186 2.635-2.86l-.009-11.926zm10.974 16.922h2.163v-7.599c0-2.728 1.727-3.589 4.56-3.296V10.77c-2.526-.155-3.813.928-4.56 2.447v-2.268h-2.163v12.879zM60.1 21.509c-.822 1.7-2.368 2.576-4.352 2.576-3.425 0-5.152-2.91-5.152-6.698 0-3.63 1.803-6.697 5.41-6.697 1.878 0 3.322.852 4.097 2.526v-2.268h2.216v12.88h-2.216l-.003-2.32zm-3.761.515c1.985 0 3.761-1.262 3.761-4.121v-1.03c0-2.858-1.621-4.122-3.512-4.122-2.497 0-3.785 1.65-3.785 4.636.009 3.089 1.244 4.637 3.536 4.637zm12.985.75c1.311.667 2.83 1.311 6.103 1.311 4.197 0 5.95-1.982 5.986-4.918 0-3.053-2.011-4.2-5.591-5.102-2.989-.746-4.069-1.443-4.069-2.833 0-1.546 1.3-2.318 3.513-2.318a10.4 10.4 0 015.269 1.288V7.883c-1.16-.65-2.728-1.235-5.175-1.235-3.943 0-5.951 1.95-5.951 4.584 0 2.784 1.706 4.095 5.511 5.023 3.22.773 4.148 1.569 4.148 3.065 0 1.495-.963 2.5-3.512 2.5-2.243 0-4.663-.592-6.232-1.417v2.37zm20.94 1.311c-4.817 0-6.928-2.78-6.928-6.733 0-3.89 2.163-6.673 6.077-6.673 3.966 0 5.561 2.757 5.561 6.673v1.016h-9.399c.31 2.19 1.727 3.607 4.766 3.607 1.336-.001 2.662-.237 3.916-.697v2.049c-1.056.553-2.678.758-3.992.758zm-4.715-7.61h7.189c-.129-2.398-1.212-3.762-3.428-3.762-2.344-.012-3.527 1.507-3.761 3.75v.011zm12.057 7.352h2.163v-7.599c0-2.728 1.727-3.589 4.561-3.296V10.77c-2.527-.155-3.815.928-4.56 2.447v-2.268h-2.164v12.879zm12.183 0l-4.997-12.879h2.318l4.172 10.991 4.147-11h2.319l-4.997 12.88-2.962.009zm11.608-17.736a1.441 1.441 0 00-.608-.087 1.45 1.45 0 00-1.458.937 1.45 1.45 0 00-.088.608 1.556 1.556 0 00.428 1.136 1.544 1.544 0 002.233 0 1.557 1.557 0 00.428-1.136 1.449 1.449 0 00-.935-1.458zm.472 4.857h-2.216v12.88h2.216v-12.88zm12.441 12.546c-.773.412-1.956.585-3.141.585-4.584 0-6.733-2.78-6.733-6.733 0-3.89 2.14-6.673 6.733-6.673a6.777 6.777 0 013.064.62v2.05a6.49 6.49 0 00-2.909-.621c-3.349 0-4.716 2.113-4.716 4.613 0 2.5 1.393 4.61 4.766 4.61a8.102 8.102 0 002.927-.465l.009 2.014zm1.762-6.142c0 3.952 2.11 6.733 6.928 6.733 1.306 0 2.927-.205 3.999-.758v-2.05c-1.255.46-2.581.697-3.917.697-3.038 0-4.455-1.416-4.765-3.606h9.396v-1.015c0-3.917-1.595-6.674-5.562-6.674-3.916 0-6.079 2.783-6.079 6.673zm9.402-.878h-7.187l-.008-.011c.231-2.243 1.416-3.762 3.767-3.75 2.216 0 3.299 1.364 3.428 3.761zm12.302-8.178v15.531h-2.318V6.905h4.019l3.838 9.71 1.572 4.663 1.571-4.663 3.861-9.71h3.735v16.922h-2.318V8.474l-1.982 6.106-3.735 9.247h-2.236l-3.688-9.247-2.319-6.284zm24.369 15.789c1.982 0 3.527-.875 4.353-2.576v2.318h2.218v-12.88h-2.215v2.27c-.776-1.675-2.219-2.527-4.098-2.527-3.607 0-5.41 3.068-5.41 6.697 0 3.788 1.724 6.698 5.152 6.698zm4.353-6.182c0 2.86-1.777 4.121-3.762 4.121-2.292 0-3.527-1.548-3.536-4.637 0-2.985 1.288-4.636 3.785-4.636 1.891 0 3.513 1.264 3.513 4.121v1.03zm16.509 5.924h-2.216V16.05c0-2.319-.928-3.349-3.038-3.349-2.049 0-3.478 1.364-3.478 3.966v7.16h-2.216v-12.88h2.216v2.114a4.513 4.513 0 014.069-2.37c2.962 0 4.663 2.048 4.663 5.59v7.546zm7.473.258c1.982 0 3.527-.875 4.353-2.576v2.318h2.224v-12.88h-2.221v2.27c-.776-1.675-2.219-2.527-4.098-2.527-3.607 0-5.41 3.068-5.41 6.697 0 3.788 1.724 6.698 5.152 6.698zm4.353-6.182c0 2.86-1.777 4.121-3.762 4.121-2.292 0-3.527-1.548-3.536-4.637 0-2.985 1.288-4.636 3.785-4.636 1.888 0 3.513 1.264 3.513 4.121v1.03zm14.243 3.606c-.822 1.7-2.368 2.576-4.353 2.576-3.398 0-5.099-2.91-5.099-6.698 0-3.63 1.777-6.697 5.357-6.697 1.882 0 3.322.852 4.098 2.526v-2.268h2.163v11.708c0 3.788-1.777 6.338-6.387 6.338a12.944 12.944 0 01-4.578-.685v-2.164c1.44.496 2.95.756 4.473.77 3.22 0 4.326-1.724 4.326-4.121v-1.285zm-3.758.515c1.981 0 3.758-1.262 3.758-4.121v-1.03c0-2.858-1.622-4.122-3.512-4.122-2.5 0-3.788 1.65-3.788 4.636.011 3.089 1.247 4.637 3.542 4.637zm8.5-4.672c0 3.952 2.111 6.733 6.929 6.733 1.311 0 2.947-.205 3.992-.758v-2.05a11.41 11.41 0 01-3.916.697c-3.039 0-4.455-1.416-4.766-3.606h9.399v-1.015c0-3.917-1.595-6.674-5.561-6.674-3.914 0-6.077 2.783-6.077 6.673zm9.399-.878h-7.186v-.011c.231-2.243 1.417-3.762 3.761-3.75 2.216 0 3.296 1.364 3.425 3.761zm15.819 7.353h-2.216V16.05c0-2.319-.928-3.349-3.042-3.349-2.049 0-3.477 1.364-3.477 3.966v7.16h-2.216v-12.88h2.213v2.114a4.521 4.521 0 014.072-2.37c2.189 0 3.682 1.109 4.326 3.143.72-1.985 2.447-3.144 4.587-3.144 2.883 0 4.481 1.959 4.481 5.591v7.546h-2.216V16.67c0-2.652-.927-3.966-3.041-3.966-2.049 0-3.474 1.364-3.474 3.966l.003 7.157zm11.05-6.475c0 3.952 2.11 6.733 6.928 6.733 1.314 0 2.936-.205 3.993-.758v-2.05a11.4 11.4 0 01-3.917.697c-3.038 0-4.455-1.416-4.765-3.606h9.402v-1.015c0-3.917-1.595-6.674-5.562-6.674-3.916 0-6.079 2.783-6.079 6.673zm9.402-.878h-7.19v-.011c.235-2.243 1.417-3.762 3.762-3.75 2.216 0 3.299 1.364 3.428 3.761zm15.815 7.353h-2.216V16.05c0-2.319-.928-3.349-3.041-3.349-2.049 0-3.475 1.364-3.475 3.966v7.16h-2.216v-12.88h2.216v2.114a4.513 4.513 0 014.069-2.37c2.962 0 4.663 2.048 4.663 5.59v7.546zm9.581-2.265a7.12 7.12 0 01-1.391.181c-1.364 0-2.034-.773-2.046-1.908v-6.838h3.425v-2.05h-3.399V8.22h-2.163v2.74h-2.104v2.049h2.087v6.875c0 2.395 1.34 4.02 4.098 4.02a5.213 5.213 0 001.493-.208v-2.134z\" clip-rule=\"evenodd\"/>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Jira Service Management logo__\n *\n * The Jira Service Management logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraServiceManagementLogo = ({\n  appearance,\n  label = 'Jira Service Management',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 158 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"99.140087%\" y1=\"112.745465%\" x2=\"33.8589812%\" y2=\"37.7675389%\" id=\"${id}-1\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n      <linearGradient x1=\"14.1838118%\" y1=\"5.80047897%\" x2=\"61.141783%\" y2=\"70.9663868%\" id=\"${id}-2\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"${colors.textColor}\" fill-rule=\"evenodd\" d=\"M45.312,20.984 C44.064,21.608 42.66,22.024 40.866,22.024 C36.81,22.024 34.34,19.424 34.34,15.498 C34.34,11.572 36.732,8.92 40.736,8.92 C42.712,8.92 44.064,9.336 45.286,10.116 L45.286,7.854 C44.064,6.97 42.4,6.658 40.736,6.658 C35.172,6.658 32,10.298 32,15.498 C32,20.88 35.172,24.26 40.788,24.26 C42.556,24.26 44.246,23.948 45.312,23.246 L45.312,20.984 Z M53.918,24.26 C50.018,24.26 47.73,21.374 47.73,17.474 C47.73,13.574 50.018,10.74 53.918,10.74 C57.792,10.74 60.054,13.574 60.054,17.474 C60.054,21.374 57.792,24.26 53.918,24.26 Z M53.918,12.82 C51.136,12.82 49.914,15.004 49.914,17.474 C49.914,19.944 51.136,22.18 53.918,22.18 C56.674,22.18 57.87,19.944 57.87,17.474 C57.87,15.004 56.674,12.82 53.918,12.82 Z M73.704,16.382 C73.704,12.794 71.988,10.74 68.998,10.74 C67.256,10.74 65.722,11.598 64.89,13.132 L64.89,11 L62.654,11 L62.654,24 L64.89,24 L64.89,16.772 C64.89,14.146 66.32,12.768 68.4,12.768 C70.532,12.768 71.468,13.808 71.468,16.148 L71.468,24 L73.704,24 L73.704,16.382 Z M79.918,9.622 C79.918,8.452 80.594,7.646 81.972,7.646 C82.492,7.646 82.986,7.698 83.376,7.776 L83.376,5.722 C82.986,5.618 82.544,5.514 81.868,5.514 C79.086,5.514 77.734,7.152 77.734,9.57 L77.734,11 L75.628,11 L75.628,13.08 L77.734,13.08 L77.734,24 L79.918,24 L79.918,13.08 L83.272,13.08 L83.272,11 L79.918,11 L79.918,9.622 Z M90.318,23.974 L90.318,21.972 C90.058,21.998 89.902,21.998 89.668,21.998 C88.706,21.998 87.926,21.582 87.926,20.412 L87.926,5.566 L85.69,5.566 L85.69,20.672 C85.69,23.064 87.042,24.078 89.174,24.078 C89.746,24.078 90.136,24.026 90.318,23.974 Z M92.216,18.618 C92.216,22.206 93.932,24.26 96.922,24.26 C98.664,24.26 100.198,23.402 101.03,21.868 L101.03,24 L103.266,24 L103.266,11 L101.03,11 L101.03,18.228 C101.03,20.854 99.6,22.232 97.52,22.232 C95.388,22.232 94.452,21.192 94.452,18.852 L94.452,11 L92.216,11 L92.216,18.618 Z M116.89,23.48 C115.824,24.052 114.186,24.26 112.86,24.26 C107.998,24.26 105.866,21.452 105.866,17.474 C105.866,13.548 108.05,10.74 112.002,10.74 C116.006,10.74 117.618,13.522 117.618,17.474 L117.618,18.488 L108.128,18.488 C108.44,20.698 109.87,22.128 112.938,22.128 C114.446,22.128 115.72,21.842 116.89,21.426 L116.89,23.48 Z M111.898,12.768 C109.532,12.768 108.336,14.302 108.102,16.564 L115.356,16.564 C115.226,14.146 114.134,12.768 111.898,12.768 Z M131.32,16.382 C131.32,12.794 129.604,10.74 126.614,10.74 C124.872,10.74 123.338,11.598 122.506,13.132 L122.506,11 L120.27,11 L120.27,24 L122.506,24 L122.506,16.772 C122.506,14.146 123.936,12.768 126.016,12.768 C128.148,12.768 129.084,13.808 129.084,16.148 L129.084,24 L131.32,24 L131.32,16.382 Z M143.618,21.66 C142.812,21.946 141.98,22.128 140.654,22.128 C137.248,22.128 135.844,19.996 135.844,17.474 C135.844,14.952 137.222,12.82 140.602,12.82 C141.824,12.82 142.708,13.054 143.54,13.444 L143.54,11.364 C142.526,10.896 141.616,10.74 140.446,10.74 C135.818,10.74 133.66,13.548 133.66,17.474 C133.66,21.452 135.818,24.26 140.446,24.26 C141.642,24.26 142.838,24.078 143.618,23.662 L143.618,21.66 Z M156.41,23.48 C155.344,24.052 153.706,24.26 152.38,24.26 C147.518,24.26 145.386,21.452 145.386,17.474 C145.386,13.548 147.57,10.74 151.522,10.74 C155.526,10.74 157.138,13.522 157.138,17.474 L157.138,18.488 L147.648,18.488 C147.96,20.698 149.39,22.128 152.458,22.128 C153.966,22.128 155.24,21.842 156.41,21.426 L156.41,23.48 Z M151.418,12.768 C149.052,12.768 147.856,14.302 147.622,16.564 L154.876,16.564 C154.746,14.146 153.654,12.768 151.418,12.768 Z\"></path>\n      <path fill=\"url(#${id}-1)\" d=\"M0.85465057,21.7022581 C0.61090057,22.0783871 0.33715057,22.5148387 0.10465057,22.8625806 C-0.10345498,23.195346 0.00826440879,23.6245091 0.35590057,23.8277419 L5.23090057,26.6664516 C5.40202309,26.7664253 5.60840847,26.7971801 5.80372052,26.7518112 C5.99903257,26.7064423 6.16690583,26.5887513 6.26965057,26.4251613 C6.46465057,26.1164516 6.71590057,25.7154839 6.98965057,25.286129 C8.92090057,22.27 10.8634006,22.6390323 14.3659006,24.2216129 L19.1996506,26.3967742 C19.3827218,26.4792261 19.5932727,26.4880304 19.7833166,26.4211804 C19.9733605,26.3543303 20.1267047,26.2175221 20.2084006,26.0419355 L22.5296506,21.0741935 C22.6936507,20.7193919 22.5267777,20.3056906 22.1546506,20.1445161 C21.1346506,19.6903226 19.1059006,18.7854839 17.2796506,17.9516129 C10.7096506,14.9354839 5.12590057,15.1341935 0.85465057,21.7022581 Z\"></path>\n      <path fill=\"url(#${id}-2)\" d=\"M22.7130274,10.4325806 C22.9567774,10.0564516 23.2305274,9.62 23.4630274,9.27225806 C23.6711329,8.93949274 23.5594135,8.51032964 23.2117774,8.30709677 L18.3367774,5.4683871 C18.1633186,5.35902032 17.9495842,5.32289142 17.7468362,5.36866556 C17.5440883,5.4144397 17.3706168,5.53798759 17.2680274,5.70967742 C17.0730274,6.0183871 16.8217774,6.41935484 16.5480274,6.84870968 C14.6167774,9.86483871 12.6742774,9.49580645 9.17177736,7.91322581 L4.35302736,5.7416129 C4.16995613,5.65916098 3.95940527,5.65035674 3.76936133,5.71720675 C3.5793174,5.78405675 3.42597321,5.92086501 3.34427736,6.09645161 L1.02302736,11.0641935 C0.85902727,11.4189952 1.02590019,11.8326965 1.39802736,11.993871 C2.41802736,12.4480645 4.44677736,13.3529032 6.27302736,14.1867742 C12.8580274,17.1993548 18.4417774,17.0006452 22.7130274,10.4325806 Z\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Confluence logo__\n *\n * The Confluence logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const ConfluenceLogo = ({\n  appearance,\n  label = 'Confluence',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n    id = `bitbucketLogo-${appearance}`;\n  }\n  return `\n  <svg viewBox=\"0 0 137 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"100.866322%\" y1=\"25.6261254%\" x2=\"46.5685299%\" y2=\"75.2076031%\" id=\"${id}\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n      <path d=\"M22.38125,13.1176316 L15.3425,13.1176316 L14.16125,20.0504386 L9.28624997,20.0504386 L3.52999997,26.9266667 C3.71244766,27.0853527 3.94506033,27.173594 4.18624997,27.175614 L19.46375,27.175614 C19.8352946,27.180424 20.1543287,26.9108682 20.21375,26.5419298 L22.38125,13.1176316 Z\" fill=\"url(#${id})\" fill-rule=\"nonzero\"></path>\n      <path fill=\"${colors.iconColor}\" fill-rule=\"nonzero\" d=\"M0.759678147,6 C0.53811485,5.99712567 0.326627812,6.09294508 0.181948325,6.26175474 C0.0372688368,6.4305644 -0.0257933559,6.65508453 0.00967814748,6.87508772 L3.19342815,26.315614 C3.23255884,26.5521357 3.35340224,26.7671859 3.53467815,26.9228947 L3.53467815,26.9228947 C3.71712584,27.0815808 3.94973851,27.169822 4.19092815,27.1718421 L10.1009281,20.0504386 L9.27217815,20.0504386 L7.97092815,13.1176316 L22.3859281,13.1176316 L23.3984281,6.88263158 C23.4360238,6.66342534 23.375521,6.43870373 23.2330921,6.26853487 C23.0906632,6.09836602 22.880829,6.00009878 22.6596781,6 L0.759678147,6 Z\"></path>\n      <path fill=\"${colors.textColor}\" d=\"M32,8.352 L38.63,8.352 C42.114,8.352 43.804,10.068 43.804,12.824 C43.804,14.878 42.868,16.152 40.944,16.62 C43.466,17.036 44.714,18.414 44.714,20.832 C44.714,23.562 42.868,25.434 39.046,25.434 L32,25.434 L32,8.352 Z M38.318,10.588 L34.34,10.588 L34.34,15.684 L38.318,15.684 C40.528,15.684 41.438,14.67 41.438,13.032 C41.438,11.368 40.45,10.588 38.318,10.588 Z M39.072,17.764 L34.34,17.764 L34.34,23.094 L39.124,23.094 C41.36,23.094 42.374,22.288 42.374,20.572 C42.374,18.752 41.412,17.764 39.072,17.764 Z M47.236,9.002 C47.236,9.99 47.886,10.562 48.796,10.562 C49.706,10.562 50.356,9.99 50.356,9.002 C50.356,8.014 49.706,7.442 48.796,7.442 C47.886,7.442 47.236,8.014 47.236,9.002 Z M47.652,25.434 L49.888,25.434 L49.888,12.434 L47.652,12.434 L47.652,25.434 Z M56.362,21.326 L56.362,14.514 L59.82,14.514 L59.82,12.434 L56.362,12.434 L56.362,9.678 L54.178,9.678 L54.178,12.434 L52.072,12.434 L52.072,14.514 L54.178,14.514 L54.178,21.378 C54.178,23.796 55.53,25.434 58.312,25.434 C58.988,25.434 59.43,25.33 59.82,25.226 L59.82,23.068 C59.43,23.146 58.936,23.25 58.416,23.25 C57.038,23.25 56.362,22.47 56.362,21.326 Z M74.51,18.934 C74.51,22.6 72.69,25.694 69.05,25.694 C67.152,25.694 65.696,24.836 64.916,23.146 L64.916,25.434 L62.68,25.434 L62.68,7 L64.916,7 L64.916,14.774 C65.748,13.058 67.308,12.174 69.31,12.174 C72.768,12.174 74.51,15.112 74.51,18.934 Z M72.274,18.934 C72.274,15.814 71.026,14.254 68.712,14.254 C66.71,14.254 64.916,15.528 64.916,18.414 L64.916,19.454 C64.916,22.34 66.554,23.614 68.452,23.614 C70.974,23.614 72.274,21.95 72.274,18.934 Z M76.85,20.052 C76.85,23.64 78.566,25.694 81.556,25.694 C83.298,25.694 84.832,24.836 85.664,23.302 L85.664,25.434 L87.9,25.434 L87.9,12.434 L85.664,12.434 L85.664,19.662 C85.664,22.288 84.234,23.666 82.154,23.666 C80.022,23.666 79.086,22.626 79.086,20.286 L79.086,12.434 L76.85,12.434 L76.85,20.052 Z M100.458,23.094 C99.652,23.38 98.82,23.562 97.494,23.562 C94.088,23.562 92.684,21.43 92.684,18.908 C92.684,16.386 94.062,14.254 97.442,14.254 C98.664,14.254 99.548,14.488 100.38,14.878 L100.38,12.798 C99.366,12.33 98.456,12.174 97.286,12.174 C92.658,12.174 90.5,14.982 90.5,18.908 C90.5,22.886 92.658,25.694 97.286,25.694 C98.482,25.694 99.678,25.512 100.458,25.096 L100.458,23.094 Z M105.242,25.434 L105.242,19.35 L110.962,25.434 L114.004,25.434 L107.634,18.83 L113.744,12.434 L110.832,12.434 L105.242,18.518 L105.242,7 L103.006,7 L103.006,25.434 L105.242,25.434 Z M126.224,24.914 C125.158,25.486 123.52,25.694 122.194,25.694 C117.332,25.694 115.2,22.886 115.2,18.908 C115.2,14.982 117.384,12.174 121.336,12.174 C125.34,12.174 126.952,14.956 126.952,18.908 L126.952,19.922 L117.462,19.922 C117.774,22.132 119.204,23.562 122.272,23.562 C123.78,23.562 125.054,23.276 126.224,22.86 L126.224,24.914 Z M121.232,14.202 C118.866,14.202 117.67,15.736 117.436,17.998 L124.69,17.998 C124.56,15.58 123.468,14.202 121.232,14.202 Z M132.698,21.326 L132.698,14.514 L136.156,14.514 L136.156,12.434 L132.698,12.434 L132.698,9.678 L130.514,9.678 L130.514,12.434 L128.408,12.434 L128.408,14.514 L130.514,14.514 L130.514,21.378 C130.514,23.796 131.866,25.434 134.648,25.434 C135.324,25.434 135.766,25.33 136.156,25.226 L136.156,23.068 C135.766,23.146 135.272,23.25 134.752,23.25 C133.374,23.25 132.698,22.47 132.698,21.326 Z\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Bitbucket logo__\n *\n * The Bitbucket logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const BitbucketLogo = ({\n  appearance,\n  label = 'Bitbucket',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\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***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    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;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\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;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\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 () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","var safeIsNaN = Number.isNaN ||\n    function ponyfill(value) {\n        return typeof value === 'number' && value !== value;\n    };\nfunction isEqual(first, second) {\n    if (first === second) {\n        return true;\n    }\n    if (safeIsNaN(first) && safeIsNaN(second)) {\n        return true;\n    }\n    return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (!isEqual(newInputs[i], lastInputs[i])) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\nexport default memoizeOne;\n","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n    getAtlaskitAnalyticsContext: PropTypes.func,\n    getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n    __extends(AnalyticsContext, _super);\n    function AnalyticsContext(props) {\n        var _this = _super.call(this, props) || this;\n        _this.getChildContext = function () { return ({\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n        }); };\n        _this.getAnalyticsContext = function () {\n            var data = _this.props.data;\n            var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n            var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n                getAtlaskitAnalyticsContext()) ||\n                [];\n            return __spread(ancestorData, [data]);\n        };\n        _this.getAnalyticsEventHandlers = function () {\n            var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n            var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                getAtlaskitAnalyticsEventHandlers()) ||\n                [];\n            return ancestorHandlers;\n        };\n        _this.state = {\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n            getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n        };\n        return _this;\n    }\n    AnalyticsContext.prototype.render = function () {\n        var children = this.props.children;\n        return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n    };\n    AnalyticsContext.contextTypes = ContextTypes;\n    AnalyticsContext.childContextTypes = ContextTypes;\n    return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n    __extends(UIAnalyticsEvent, _super);\n    function UIAnalyticsEvent(props) {\n        var _this = _super.call(this, props) || this;\n        _this.clone = function () {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn(\"Cannot clone an event after it's been fired.\");\n                return null;\n            }\n            var context = __spread(_this.context);\n            var handlers = __spread(_this.handlers);\n            /**\n             * A hacky \"deep clone\" of the object. This is limited in that it wont\n             * support functions, regexs, Maps, Sets, etc, but none of those need to\n             * be represented in our payload.\n             */\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n        };\n        _this.fire = function (channel) {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn('Cannot fire an event twice.');\n                return;\n            }\n            _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n            _this.hasFired = true;\n        };\n        _this.context = props.context || [];\n        _this.handlers = props.handlers || [];\n        _this.hasFired = false;\n        return _this;\n    }\n    UIAnalyticsEvent.prototype.update = function (updater) {\n        if (this.hasFired) {\n            // eslint-disable-next-line no-console\n            console.warn(\"Cannot update an event after it's been fired.\");\n            return this;\n        }\n        return _super.prototype.update.call(this, updater);\n    };\n    return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n    function AnalyticsEvent(props) {\n        var _this = this;\n        this.clone = function () {\n            // We stringify and parse here to get a hacky \"deep clone\" of the object.\n            // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n            // but none of those need to be represented in our payload, so we consider this fine\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new AnalyticsEvent({ payload: payload });\n        };\n        this.payload = props.payload;\n    }\n    AnalyticsEvent.prototype.update = function (updater) {\n        if (typeof updater === 'function') {\n            this.payload = updater(this.payload);\n        }\n        if (typeof updater === 'object') {\n            this.payload = __assign(__assign({}, this.payload), updater);\n        }\n        return this;\n    };\n    return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n    __extends(AnalyticsContextConsumer, _super);\n    function AnalyticsContextConsumer(props) {\n        var _this = _super.call(this, props) || this;\n        /**\n         * Store references to the original and patched event props so we can\n         * determine when to update the patched props\n         */\n        _this.originalEventProps = {};\n        _this.patchedEventProps = {};\n        // Update patched event props only if the original props have changed\n        _this.updatePatchedEventProps = function (props) {\n            var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n            if (changedPropCallbacks.length > 0) {\n                _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n                changedPropCallbacks.forEach(function (p) {\n                    _this.originalEventProps[p] = props[p];\n                });\n            }\n            return _this.patchedEventProps;\n        };\n        _this.mapCreateEventsToProps = function (changedPropNames, props) {\n            return changedPropNames.reduce(function (modified, propCallbackName) {\n                var _a;\n                var eventCreator = _this.props.createEventMap[propCallbackName];\n                var providedCallback = props[propCallbackName];\n                if (!['object', 'function'].includes(typeof eventCreator)) {\n                    return modified;\n                }\n                var modifiedCallback = function () {\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    var analyticsEvent = typeof eventCreator === 'function'\n                        ? eventCreator(_this.createAnalyticsEvent, props)\n                        : _this.createAnalyticsEvent(eventCreator);\n                    if (providedCallback) {\n                        providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n                    }\n                };\n                return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n            }, {});\n        };\n        _this.createAnalyticsEvent = function (payload) {\n            var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n            return new UIAnalyticsEvent({\n                context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n                    getAtlaskitAnalyticsContext()) ||\n                    [],\n                handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                    getAtlaskitAnalyticsEventHandlers()) ||\n                    [],\n                payload: payload,\n            });\n        };\n        Object.keys(_this.props.createEventMap).forEach(function (p) {\n            _this.originalEventProps[p] = props.wrappedComponentProps[p];\n        });\n        _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n        return _this;\n    }\n    AnalyticsContextConsumer.prototype.render = function () {\n        var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n        return this.props.children({\n            createAnalyticsEvent: this.createAnalyticsEvent,\n            patchedEventProps: patchedEventProps,\n        });\n    };\n    AnalyticsContextConsumer.contextTypes = {\n        getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n        getAtlaskitAnalyticsContext: PropTypes.func,\n    };\n    AnalyticsContextConsumer.defaultProps = {\n        createEventMap: {},\n    };\n    return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n   based on those props. An example of this default theme function is one that produces the standard\n   appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n   that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n    const emptyThemeFn = (getTokens, props) => getTokens(props);\n    /* Internally, Theme uses React Context, with internal providers and consumers.\n       The React Context passes only a function that gets props, and turns them into tokens. This\n          function gets mixed as more Providers with their own themes are added. This mixed function\n          is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n          the theme. */\n    const ThemeContext = createContext(defaultGetTokens);\n    // The Theme Consumer takes a function as its child - this function takes tokens, and the\n    // return value is generally a set of nodes with the tokens applied appropriately.\n    function Consumer(props) {\n        const { children, ...themeProps } = props;\n        const theme = useContext(ThemeContext);\n        const themeFn = theme || emptyThemeFn;\n        // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n        // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n        const tokens = themeFn(themeProps);\n        // We add a fragment to ensure we don't break people upgrading.\n        // Previously they may have been able to pass in undefined without things blowing up.\n        return React.createElement(React.Fragment, null, children(tokens));\n    }\n    /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n       - The theme function takes a set of props, as well as a function (getTokens) that can\n          turn props into tokens.\n       - The getTokens function isn't called immediately - instead the props are passed\n          through a mix of parent theming functions\n       Children of this provider will receive this mixed theme\n    */\n    function Provider(props) {\n        const themeFn = useContext(ThemeContext);\n        const valueFn = props.value || emptyThemeFn;\n        const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n        return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n    }\n    return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n    mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { __rest } from \"tslib\";\nexport var mapAttributesToState = function (_a) {\n    var _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, _c = _a.isActive, isActive = _c === void 0 ? false : _c, _d = _a.isFocus, isFocus = _d === void 0 ? false : _d, _e = _a.isHover, isHover = _e === void 0 ? false : _e, _f = _a.isSelected, isSelected = _f === void 0 ? false : _f;\n    if (isDisabled) {\n        return 'disabled';\n    }\n    if (isSelected && isFocus) {\n        return 'focusSelected';\n    }\n    if (isSelected) {\n        return 'selected';\n    }\n    if (isActive) {\n        return 'active';\n    }\n    if (isHover) {\n        return 'hover';\n    }\n    if (isFocus) {\n        return 'focus';\n    }\n    return 'default';\n};\nexport var filterProps = function (\n// @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n_a, type) {\n    var createAnalyticsEvent = _a.createAnalyticsEvent, props = __rest(_a, \n    // @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n    [\"createAnalyticsEvent\"]);\n    if (type === 'span') {\n        var target = props.target, href = props.href, rest = __rest(props, [\"target\", \"href\"]);\n        return rest;\n    }\n    return props;\n};\nexport var getLoadingStyle = function (isLoading) { return ({\n    transition: 'opacity 0.3s',\n    opacity: isLoading ? 0 : 1,\n}); };\nexport var composeRefs = function () {\n    var refs = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        refs[_i] = arguments[_i];\n    }\n    return function (x) {\n        refs\n            .filter(function (r) { return !!r; })\n            .forEach(function (ref) {\n            if (typeof ref === 'function') {\n                ref(x);\n            }\n            else {\n                ref.current = x;\n            }\n        });\n    };\n};\n/**\n * Convert a hex colour code to RGBA.\n * @param {String} hex Hex colour code.\n * @param {Number} alpha Optional alpha value (defaults to 1).\n */\nexport function hex2rgba(hex, alpha) {\n    if (alpha === void 0) { alpha = 1; }\n    if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n        var colorArr = hex.substring(1).split('');\n        if (colorArr.length === 3) {\n            colorArr = [\n                colorArr[0],\n                colorArr[0],\n                colorArr[1],\n                colorArr[1],\n                colorArr[2],\n                colorArr[2],\n            ];\n        }\n        var color = \"0x\" + colorArr.join('');\n        // FIXME: `>>` operand can validly take a string value\n        var r = (color >> 16) & 255;\n        var g = (color >> 8) & 255;\n        var b = color & 255;\n        return \"rgba(\" + [r, g, b].join(',') + \", \" + alpha + \")\";\n    }\n    throw new Error('Bad Hex');\n}\n//# sourceMappingURL=utils.js.map","import { __assign } from \"tslib\";\nimport { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { applyPropertyStyle, baseTheme } from '../theme';\nvar compactButtonHeight = (gridSize() * 3) / fontSize() + \"em\";\nvar buttonHeight = (gridSize() * 4) / fontSize() + \"em\";\n/** Background */\nvar getBackground = function (props) {\n    return applyPropertyStyle('background', props, baseTheme);\n};\n/** Box Shadow */\nvar getBoxShadow = function (props) {\n    var boxShadowColor = applyPropertyStyle('boxShadowColor', props, baseTheme);\n    return \"0 0 0 2px \" + boxShadowColor;\n};\n/** Color */\nvar getColor = function (props) {\n    return applyPropertyStyle('color', props, baseTheme);\n};\n/** Cursor */\nvar getCursor = function (_a) {\n    var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n    return state === 'hover' || state === 'active' || state === 'selected'\n        ? 'pointer'\n        : state === 'disabled'\n            ? 'not-allowed'\n            : 'default';\n};\n/** Height */\nvar getHeight = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'compact'\n        ? compactButtonHeight\n        : spacing === 'none'\n            ? 'auto'\n            : buttonHeight;\n};\n/** Line Height */\nvar getLineHeight = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'compact'\n        ? compactButtonHeight\n        : spacing === 'none'\n            ? 'inherit'\n            : buttonHeight;\n};\n/** Padding */\nvar getPadding = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'none' ? 0 : \"0 \" + gridSize() + \"px\";\n};\n/** Text Decoration */\nvar getTextDecoration = function (_a) {\n    var _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, _c = _a.state, state = _c === void 0 ? 'default' : _c;\n    return state === 'hover' && (appearance === 'link' || appearance === 'subtle-link')\n        ? 'underline'\n        : 'inherit';\n};\n/** Transition */\nvar getTransition = function (_a) {\n    var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n    return state === 'hover'\n        ? 'background 0s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)'\n        : 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)';\n};\n/** Transition Duration */\nvar getTransitionDuration = function (_a) {\n    var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n    return state === 'active' ? '0s' : state === 'focus' ? '0s, 0.2s' : '0.1s, 0.15s';\n};\n/** Vertical Align */\nvar getVerticalAlign = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'none' ? 'baseline' : 'middle';\n};\n/** Width */\nvar getWidth = function (_a) {\n    var shouldFitContainer = _a.shouldFitContainer;\n    return shouldFitContainer ? '100%' : 'auto';\n};\n/** Base styles */\nvar staticStyles = {\n    alignItems: 'baseline',\n    borderWidth: 0,\n    boxSizing: 'border-box',\n    display: 'inline-flex',\n    fontSize: 'inherit',\n    fontStyle: 'normal',\n    fontWeight: 'normal',\n    maxWidth: '100%',\n    outline: 'none !important',\n    textAlign: 'center',\n    textDecoration: 'none',\n    whiteSpace: 'nowrap',\n};\n/**\n * BUTTON STYLES\n */\nexport var getButtonStyles = function (props) { return (__assign(__assign(__assign({}, staticStyles), { background: getBackground(props), borderRadius: borderRadius() + \"px\", boxShadow: getBoxShadow(props), color: getColor(props) + \" !important\", cursor: getCursor(props), height: getHeight(props), lineHeight: getLineHeight(props), padding: getPadding(props), transition: getTransition(props), transitionDuration: getTransitionDuration(props), verticalAlign: getVerticalAlign(props), width: getWidth(props), '&::-moz-focus-inner': {\n        border: 0,\n        margin: 0,\n        padding: 0,\n    }, '&:hover': {\n        textDecoration: getTextDecoration(props),\n    } }), (props.isLoading && { pointerEvents: 'none' }))); };\n/**\n * SPINNER STYLES\n */\nexport var getSpinnerStyles = function () { return ({\n    display: 'flex',\n    position: 'absolute',\n    left: '50%',\n    top: '50%',\n    transform: 'translate(-50%, -50%)',\n}); };\n//# sourceMappingURL=getStyles.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n    card: () => 100,\n    dialog: () => 300,\n    navigation: () => 200,\n    layer: () => 400,\n    blanket: () => 500,\n    modal: () => 510,\n    flag: () => 600,\n    spotlight: () => 700,\n    tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n  border: 0 !important;\n  clip: rect(1px, 1px, 1px, 1px) !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  padding: 0 !important;\n  position: absolute !important;\n  width: 1px !important;\n  white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n    css: {\n        backgroundColor: skeletonColor(),\n        animationDuration: '1.5s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n        animationDirection: 'alternate',\n    },\n    keyframes: {\n        from: {\n            backgroundColor: skeletonColor(),\n        },\n        to: {\n            backgroundColor: N30A,\n        },\n    },\n});\n//# sourceMappingURL=constants.js.map","import { createTheme } from '@atlaskit/theme/components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { hex2rgba } from './components/utils';\nimport { getButtonStyles, getSpinnerStyles } from './components/getStyles';\nexport var fallbacks = {\n    background: { light: colors.N20A, dark: colors.DN70 },\n    color: { light: colors.N400, dark: colors.DN400 },\n    textDecoration: { light: 'none', dark: 'none' },\n};\nexport var baseTheme = {\n    // Default appearance\n    background: {\n        default: {\n            default: { light: colors.N20A, dark: colors.DN70 },\n            hover: { light: colors.N30A, dark: colors.DN60 },\n            active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.N700, dark: colors.DN0 },\n            focusSelected: { light: colors.N700, dark: colors.DN0 },\n        },\n        primary: {\n            default: { light: colors.B400, dark: colors.B100 },\n            hover: { light: colors.B300, dark: colors.B75 },\n            active: { light: colors.B500, dark: colors.B200 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.N700, dark: colors.DN0 },\n            focusSelected: { light: colors.N700, dark: colors.DN0 },\n        },\n        warning: {\n            default: { light: colors.Y300, dark: colors.Y300 },\n            hover: { light: colors.Y200, dark: colors.Y200 },\n            active: { light: colors.Y400, dark: colors.Y400 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.Y400, dark: colors.Y400 },\n            focusSelected: { light: colors.Y400, dark: colors.Y400 },\n        },\n        danger: {\n            default: { light: colors.R400, dark: colors.R400 },\n            hover: { light: colors.R300, dark: colors.R300 },\n            active: { light: colors.R500, dark: colors.R500 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.R500, dark: colors.R500 },\n            focusSelected: { light: colors.R500, dark: colors.R500 },\n        },\n        link: {\n            default: { light: 'none', dark: 'none' },\n            selected: { light: colors.N700, dark: colors.N20 },\n            focusSelected: { light: colors.N700, dark: colors.N20 },\n        },\n        subtle: {\n            default: { light: 'none', dark: 'none' },\n            hover: { light: colors.N30A, dark: colors.DN60 },\n            active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n            disabled: { light: 'none', dark: 'none' },\n            selected: { light: colors.N700, dark: colors.DN0 },\n            focusSelected: { light: colors.N700, dark: colors.DN0 },\n        },\n        'subtle-link': {\n            default: { light: 'none', dark: 'none' },\n            selected: { light: colors.N700, dark: colors.N20 },\n            focusSelected: { light: colors.N700, dark: colors.N20 },\n        },\n    },\n    boxShadowColor: {\n        default: {\n            focus: { light: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\n                dark: colors.B75,\n            },\n        },\n        primary: {\n            focus: { light: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\n                dark: colors.B75,\n            },\n        },\n        warning: {\n            focus: { light: colors.Y500, dark: colors.Y500 },\n            focusSelected: { light: colors.Y500, dark: colors.Y500 },\n        },\n        danger: {\n            focus: { light: colors.R100, dark: colors.R100 },\n            focusSelected: { light: colors.R100, dark: colors.R100 },\n        },\n        link: {\n            focus: { light: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\n                dark: colors.B75,\n            },\n        },\n        subtle: {\n            focus: { light: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\n                dark: colors.B75,\n            },\n        },\n        'subtle-link': {\n            focus: { light: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\n                dark: colors.B75,\n            },\n        },\n    },\n    color: {\n        default: {\n            default: { light: colors.N500, dark: colors.DN400 },\n            active: { light: colors.B400, dark: colors.B400 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n        primary: {\n            default: { light: colors.N0, dark: colors.DN30 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n        warning: {\n            default: { light: colors.N800, dark: colors.N800 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N800, dark: colors.N800 },\n            focusSelected: { light: colors.N800, dark: colors.N800 },\n        },\n        danger: {\n            default: { light: colors.N0, dark: colors.N0 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N0, dark: colors.N0 },\n            focusSelected: { light: colors.N0, dark: colors.N0 },\n        },\n        link: {\n            default: { light: colors.B400, dark: colors.B100 },\n            hover: { light: colors.B300, dark: colors.B75 },\n            active: { light: colors.B500, dark: colors.B200 },\n            disabled: { light: colors.N70, dark: colors.DN100 },\n            selected: { light: colors.N20, dark: colors.N700 },\n            focusSelected: { light: colors.N20, dark: colors.N700 },\n        },\n        subtle: {\n            default: { light: colors.N500, dark: colors.DN400 },\n            active: { light: colors.B400, dark: colors.B400 },\n            disabled: { light: colors.N70, dark: colors.DN100 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n        'subtle-link': {\n            default: { light: colors.N200, dark: colors.DN400 },\n            hover: { light: colors.N90, dark: colors.B50 },\n            active: { light: colors.N400, dark: colors.DN300 },\n            disabled: { light: colors.N70, dark: colors.DN100 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n    },\n};\nexport function applyPropertyStyle(property, _a, theme) {\n    var _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, _c = _a.state, state = _c === void 0 ? 'default' : _c, _d = _a.mode, mode = _d === void 0 ? 'light' : _d;\n    var propertyStyles = theme[property];\n    if (!propertyStyles) {\n        return 'initial';\n    }\n    // Check for relevant fallbacks\n    if (!propertyStyles[appearance]) {\n        if (!propertyStyles['default']) {\n            return fallbacks[property][mode] ? fallbacks[property][mode] : 'initial';\n        }\n        appearance = 'default';\n    }\n    // If there is no 'state' key (ie, 'hover') defined for a given appearance,\n    // return the 'default' state of that appearance.\n    if (!propertyStyles[appearance][state]) {\n        state = 'default';\n    }\n    var appearanceStyles = propertyStyles[appearance];\n    var stateStyles = appearanceStyles[state];\n    if (!stateStyles) {\n        return 'inherit';\n    }\n    return stateStyles[mode] || appearanceStyles.default[mode];\n}\nexport var Theme = createTheme(function (themeProps) { return ({\n    buttonStyles: getButtonStyles(themeProps),\n    spinnerStyles: getSpinnerStyles(),\n}); });\n//# sourceMappingURL=theme.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default (function (_a) {\n    var children = _a.children, followsIcon = _a.followsIcon, spacing = _a.spacing, isLoading = _a.isLoading, rest = __rest(_a, [\"children\", \"followsIcon\", \"spacing\", \"isLoading\"]);\n    return (jsx(\"span\", __assign({ css: __assign({ alignItems: followsIcon ? 'baseline' : 'center', alignSelf: followsIcon ? 'baseline' : 'center', flex: '1 1 auto', margin: spacing === 'none' ? 0 : \"0 \" + gridSize() / 2 + \"px\", maxWidth: '100%', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, getLoadingStyle(isLoading)) }, rest), children));\n});\n//# sourceMappingURL=Content.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nexport default (function (_a) {\n    var fit = _a.fit, children = _a.children, rest = __rest(_a, [\"fit\", \"children\"]);\n    return (jsx(\"span\", __assign({ css: __assign(__assign({ alignSelf: 'center', display: 'inline-flex', flexWrap: 'nowrap', maxWidth: '100%', position: 'relative' }, (fit && { width: '100%' })), (fit && { justifyContent: 'center' })) }, rest), children));\n});\n//# sourceMappingURL=InnerWrapper.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { getLoadingStyle } from './utils';\nimport { gridSize } from '@atlaskit/theme/constants';\nexport default (function (_a) {\n    var spacing = _a.spacing, icon = _a.icon, isOnlyChild = _a.isOnlyChild, isLoading = _a.isLoading, rest = __rest(_a, [\"spacing\", \"icon\", \"isOnlyChild\", \"isLoading\"]);\n    return (jsx(\"span\", __assign({ css: __assign({ alignSelf: 'center', display: 'flex', flexShrink: 0, lineHeight: 0, fontSize: 0, userSelect: 'none', margin: spacing === 'none'\n                ? 0\n                : isOnlyChild\n                    ? \"0 -\" + gridSize() / 4 + \"px\"\n                    : \"0 \" + gridSize() / 2 + \"px\" }, getLoadingStyle(isLoading)) }, rest), icon));\n});\n//# sourceMappingURL=IconWrapper.js.map","export var SIZES_MAP = {\n    xsmall: 8,\n    small: 16,\n    medium: 24,\n    large: 48,\n    xlarge: 96,\n};\nexport var DEFAULT_SIZE = SIZES_MAP.small;\n//# sourceMappingURL=constants.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled, { keyframes, css } from 'styled-components';\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to use dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n    noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"], [\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"]))),\n    enterRotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n    from { transform: rotate(50deg); }\\n    to { transform: rotate(230deg); }\\n  \"], [\"\\n    from { transform: rotate(50deg); }\\n    to { transform: rotate(230deg); }\\n  \"]))),\n    leaveRotate: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n    from { transform: rotate(230deg); }\\n    to { transform: rotate(510deg); }\\n  \"], [\"\\n    from { transform: rotate(230deg); }\\n    to { transform: rotate(510deg); }\\n  \"]))),\n    leaveOpacity: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n    from { opacity: 1; }\\n    to { opacity: 0; }\\n  \"], [\"\\n    from { opacity: 1; }\\n    to { opacity: 0; }\\n  \"]))),\n};\nexport var getContainerAnimation = function (_a) {\n    var delay = _a.delay, phase = _a.phase;\n    if (phase === 'DELAY') {\n        /* This hides the spinner and allows us to use animationend events to move to the next phase in\n         * the same way we do with the other lifecycle stages */\n        return css(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n      animation: \", \"s \", \";\\n    \"], [\"\\n      animation: \", \"s \", \";\\n    \"])), delay, keyframeNames.noop);\n    }\n    if (phase === 'ENTER' || phase === 'IDLE') {\n        return css(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n      animation: 1s ease-in-out forwards \", \";\\n    \"], [\"\\n      animation: 1s ease-in-out forwards \", \";\\n    \"])), keyframeNames.enterRotate);\n    }\n    if (phase === 'LEAVE') {\n        return css(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n      animation: 0.53s ease-in-out forwards \", \",\\n        0.2s ease-in-out 0.33s \", \";\\n    \"], [\"\\n      animation: 0.53s ease-in-out forwards \", \",\\n        0.2s ease-in-out 0.33s \", \";\\n    \"])), keyframeNames.leaveRotate, keyframeNames.leaveOpacity);\n    }\n    return '';\n};\nvar getSize = function (_a) {\n    var size = _a.size;\n    return size + \"px\";\n};\nvar Container = styled.span(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n  \", \"\\n  display: flex;\\n  height: \", \";\\n  width: \", \";\\n\\n  /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n   * they complete their exit animations. This rules hides the spinner if another one has been\\n   * added. */\\n  div + & {\\n    display: none;\\n  }\\n\"], [\"\\n  \", \"\\n  display: flex;\\n  height: \", \";\\n  width: \", \";\\n\\n  /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n   * they complete their exit animations. This rules hides the spinner if another one has been\\n   * added. */\\n  div + & {\\n    display: none;\\n  }\\n\"])), getContainerAnimation, getSize, getSize);\nContainer.displayName = 'SpinnerContainer';\nexport default Container;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n//# sourceMappingURL=styledContainer.js.map","import { __makeTemplateObject, __rest } from \"tslib\";\nimport styled, { css, keyframes } from 'styled-components';\nimport { themed } from '@atlaskit/theme/components';\nimport { N500, N0 } from '@atlaskit/theme/colors';\nimport { SIZES_MAP } from './constants';\nvar getStrokeWidth = function (size) { return Math.round(size / 10); };\nvar getStrokeCircumference = function (size) {\n    var strokeWidth = getStrokeWidth(size);\n    var strokeRadius = size / 2 - strokeWidth / 2;\n    return Math.PI * strokeRadius * 2;\n};\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n    noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"], [\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"]))),\n    rotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n    to { transform: rotate(360deg); }\\n  \"], [\"\\n    to { transform: rotate(360deg); }\\n  \"]))),\n    enterOpacity: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n    from { opacity: 0; }\\n    to { opacity: 1; }\\n  \"], [\"\\n    from { opacity: 0; }\\n    to { opacity: 1; }\\n  \"]))),\n    smallEnterStroke: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.small), getStrokeCircumference(SIZES_MAP.small) *\n        0.8),\n    mediumEnterStroke: keyframes(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.medium), getStrokeCircumference(SIZES_MAP.medium) *\n        0.8),\n    largeEnterStroke: keyframes(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.large), getStrokeCircumference(SIZES_MAP.large) *\n        0.8),\n    xlargeEnterStroke: keyframes(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.xlarge), getStrokeCircumference(SIZES_MAP.xlarge) *\n        0.8),\n};\n/* If a standard size is used, we can use one of our statically defined keyframes, otherwise\n * we're forced to dynamically create the keyframe and incur a performance cost.\n */\nvar getEnterStrokeKeyframe = function (size) {\n    var standardSizeName = Object.keys(SIZES_MAP).find(function (sizeName) { return size === SIZES_MAP[sizeName]; });\n    if (standardSizeName) {\n        return keyframeNames[standardSizeName + \"EnterStroke\"];\n    }\n    var circumference = getStrokeCircumference(size);\n    return keyframes(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"])), circumference, circumference * 0.8);\n};\nvar spinnerColor = themed({ light: N500, dark: N0 });\nvar spinnerColorInverted = themed({ light: N0, dark: N0 });\nexport var getStrokeColor = function (_a) {\n    var invertColor = _a.invertColor, props = __rest(_a, [\"invertColor\"]);\n    return invertColor ? spinnerColorInverted(props) : spinnerColor(props);\n};\nexport var svgStyles = css(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n  \", \";\\n\"], [\"\\n  \",\n    \";\\n\"])), function (props) {\n    var circumference = getStrokeCircumference(props.size);\n    var animation = function (animProps) {\n        var baseAnimation = '0.86s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite';\n        if (animProps.phase === 'ENTER') {\n            return css(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n          animation: \", \" \", \",\\n            0.8s ease-in-out \", \",\\n            0.2s ease-in-out \", \";\\n        \"], [\"\\n          animation: \", \" \", \",\\n            0.8s ease-in-out \", \",\\n            0.2s ease-in-out \", \";\\n        \"])), baseAnimation, keyframeNames.rotate, getEnterStrokeKeyframe(animProps.size), keyframeNames.enterOpacity);\n        }\n        return css(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n        animation: \", \" \", \";\\n      \"], [\"\\n        animation: \", \" \", \";\\n      \"])), baseAnimation, keyframeNames.rotate);\n    };\n    return css(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n      \", \"\\n      fill: none;\\n      stroke: \", \";\\n      stroke-dasharray: \", \"px;\\n      stroke-dashoffset: \", \"px;\\n      stroke-linecap: round;\\n      stroke-width: \", \"px;\\n      transform-origin: center;\\n    \"], [\"\\n      \", \"\\n      fill: none;\\n      stroke: \", \";\\n      stroke-dasharray: \", \"px;\\n      stroke-dashoffset: \", \"px;\\n      stroke-linecap: round;\\n      stroke-width: \", \"px;\\n      transform-origin: center;\\n    \"])), animation, getStrokeColor, circumference, circumference * 0.8, getStrokeWidth(props.size));\n});\nvar Svg = styled.svg(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n  \", \";\\n\"], [\"\\n  \", \";\\n\"])), svgStyles);\nSvg.displayName = 'SpinnerSvg';\nexport default Svg;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;\n//# sourceMappingURL=styledSvg.js.map","import { __extends, __makeTemplateObject } from \"tslib\";\nimport React, { Component } from 'react';\nimport { Transition } from 'react-transition-group';\nimport styled from 'styled-components';\nimport { SIZES_MAP, DEFAULT_SIZE } from './constants';\nimport Container from './styledContainer';\nimport Svg from './styledSvg';\nvar Outer = styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n  display: inline-block;\\n  vertical-align: middle;\\n\"], [\"\\n  display: inline-block;\\n  vertical-align: middle;\\n\"])));\nOuter.displayName = 'Outer';\nvar Spinner = /** @class */ (function (_super) {\n    __extends(Spinner, _super);\n    function Spinner(props) {\n        var _this = _super.call(this, props) || this;\n        _this.transitionNode = null;\n        _this.enter = function () {\n            var delay = _this.props.delay;\n            if (delay) {\n                _this.setState({ phase: 'DELAY' });\n            }\n            else {\n                _this.setState({ phase: 'ENTER' });\n            }\n        };\n        _this.idle = function () {\n            _this.setState({ phase: 'IDLE' });\n        };\n        _this.exit = function () {\n            _this.setState({ phase: 'LEAVE' });\n        };\n        _this.endListener = function (node, done) {\n            var executeCallback = function (event) {\n                // ignore animation events on the glyph\n                if (event.target.tagName === 'svg') {\n                    return;\n                }\n                if (_this.state.phase === 'DELAY') {\n                    _this.setState({ phase: 'ENTER' });\n                    _this.endListener(node, done);\n                }\n                else {\n                    done();\n                }\n                return node && node.removeEventListener('animationend', executeCallback);\n            };\n            // FIX - jest-emotion doesn't recognise the DOM node so it can't add\n            // the eventListener in the @atlaskit/button tests.\n            // Should be fixed when we move to emotion@10\n            if (node && node.addEventListener) {\n                return node.addEventListener('animationend', executeCallback);\n            }\n            return done();\n        };\n        _this.validateSize = function () {\n            var size = _this.props.size;\n            var spinnerSize = SIZES_MAP[size] || size;\n            return typeof spinnerSize === 'number' ? spinnerSize : DEFAULT_SIZE;\n        };\n        _this.state = {\n            phase: '',\n        };\n        return _this;\n    }\n    Spinner.prototype.render = function () {\n        var _this = this;\n        var phase = this.state.phase;\n        var _a = this.props, delay = _a.delay, invertColor = _a.invertColor, isCompleting = _a.isCompleting, testId = _a.testId;\n        var size = this.validateSize();\n        var strokeWidth = Math.round(size / 10);\n        var strokeRadius = size / 2 - strokeWidth / 2;\n        return (React.createElement(Outer, null,\n            React.createElement(Transition, { addEndListener: this.endListener, appear: true, in: !isCompleting, mountOnEnter: true, unmountOnExit: true, onEnter: this.enter, onEntered: this.idle, onExit: this.exit, onExited: function () { return _this.props.onComplete(); }, timeout: 0, ref: function (node) {\n                    _this.transitionNode = node;\n                } },\n                React.createElement(Container, { delay: delay / 1000, phase: phase, size: size, \"data-testid\": testId },\n                    React.createElement(Svg, { focusable: \"false\", height: size, invertColor: invertColor, phase: phase, size: size, viewBox: \"0 0 \" + size + \" \" + size, width: size, xmlns: \"http://www.w3.org/2000/svg\" },\n                        React.createElement(\"circle\", { cx: size / 2, cy: size / 2, r: strokeRadius }))))));\n    };\n    Spinner.defaultProps = {\n        delay: 100,\n        isCompleting: false,\n        invertColor: false,\n        onComplete: function () { },\n        size: 'medium',\n    };\n    return Spinner;\n}(Component));\nexport default Spinner;\nvar templateObject_1;\n//# sourceMappingURL=index.js.map","import { __extends } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport Spinner from '@atlaskit/spinner';\nvar appearances = ['primary', 'danger'];\nvar LoadingSpinner = /** @class */ (function (_super) {\n    __extends(LoadingSpinner, _super);\n    function LoadingSpinner() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.invertSpinner = function () {\n            var _a = _this.props, appearance = _a.appearance, isSelected = _a.isSelected, isDisabled = _a.isDisabled;\n            if (isSelected) {\n                return true;\n            }\n            if (isDisabled) {\n                return false;\n            }\n            if (appearance !== undefined) {\n                if (appearances.indexOf(appearance) !== -1) {\n                    return true;\n                }\n            }\n            return false;\n        };\n        return _this;\n    }\n    LoadingSpinner.prototype.render = function () {\n        var _a = this.props, spacing = _a.spacing, styles = _a.styles;\n        var spinnerSize = spacing !== 'default' ? 'small' : 'medium';\n        return (jsx(\"div\", { css: styles },\n            jsx(Spinner, { size: spinnerSize, invertColor: this.invertSpinner() })));\n    };\n    return LoadingSpinner;\n}(React.Component));\nexport default LoadingSpinner;\n//# sourceMappingURL=LoadingSpinner.js.map","import { __assign, __extends, __rest } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport memoize from 'memoize-one';\nimport { withAnalyticsEvents, withAnalyticsContext, createAndFireEvent, } from '@atlaskit/analytics-next';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nimport { mapAttributesToState, filterProps, composeRefs } from './utils';\nimport Content from './Content';\nimport InnerWrapper from './InnerWrapper';\nimport IconWrapper from './IconWrapper';\nimport LoadingSpinner from './LoadingSpinner';\nvar Button = /** @class */ (function (_super) {\n    __extends(Button, _super);\n    function Button() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        // ref can be a range of things because we render button, a, span or other React components\n        _this.button = React.createRef();\n        // Makes sure we don't call ref every render.\n        _this.getComposedRefs = memoize(composeRefs);\n        _this.state = {\n            isActive: false,\n            isFocus: false,\n            isHover: false,\n        };\n        _this.isInteractive = function () { return !_this.props.isDisabled && !_this.props.isLoading; };\n        _this.onMouseEnter = function (e) {\n            _this.setState({ isHover: true });\n            if (_this.props.onMouseEnter) {\n                _this.props.onMouseEnter(e);\n            }\n        };\n        _this.onMouseLeave = function (e) {\n            _this.setState({ isHover: false, isActive: false });\n            if (_this.props.onMouseLeave) {\n                _this.props.onMouseLeave(e);\n            }\n        };\n        _this.onMouseDown = function (e) {\n            e.preventDefault();\n            _this.setState({ isActive: true });\n            if (_this.props.onMouseDown) {\n                _this.props.onMouseDown(e);\n            }\n        };\n        _this.onMouseUp = function (e) {\n            _this.setState({ isActive: false });\n            if (_this.props.onMouseUp) {\n                _this.props.onMouseUp(e);\n            }\n        };\n        _this.onFocus = function (event) {\n            _this.setState({ isFocus: true });\n            if (_this.props.onFocus) {\n                _this.props.onFocus(event);\n            }\n        };\n        _this.onBlur = function (event) {\n            _this.setState({ isFocus: false });\n            if (_this.props.onBlur) {\n                _this.props.onBlur(event);\n            }\n        };\n        _this.getElement = function () {\n            var _a = _this.props, href = _a.href, isDisabled = _a.isDisabled;\n            if (href) {\n                return isDisabled ? 'span' : 'a';\n            }\n            return 'button';\n        };\n        // Swallow click events when the button is disabled\n        // to prevent inner child clicks bubbling up.\n        _this.onInnerClick = function (e) {\n            if (!_this.isInteractive()) {\n                e.stopPropagation();\n            }\n            return true;\n        };\n        return _this;\n    }\n    Button.prototype.componentDidMount = function () {\n        if (this.props.autoFocus && this.button instanceof HTMLButtonElement) {\n            this.button.focus();\n        }\n    };\n    Button.prototype.render = function () {\n        var _this = this;\n        var _a = this.props, _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, children = _a.children, className = _a.className, CustomComponent = _a.component, consumerRef = _a.consumerRef, iconAfter = _a.iconAfter, iconBefore = _a.iconBefore, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.isSelected, isSelected = _e === void 0 ? false : _e, _f = _a.shouldFitContainer, shouldFitContainer = _f === void 0 ? false : _f, _g = _a.spacing, spacing = _g === void 0 ? 'default' : _g, _h = _a.theme, theme = _h === void 0 ? function (current, props) { return current(props); } : _h, testId = _a.testId, rest = __rest(_a, [\"appearance\", \"children\", \"className\", \"component\", \"consumerRef\", \"iconAfter\", \"iconBefore\", \"isDisabled\", \"isLoading\", \"isSelected\", \"shouldFitContainer\", \"spacing\", \"theme\", \"testId\"]);\n        var attributes = __assign(__assign({}, this.state), { isSelected: isSelected, isDisabled: isDisabled });\n        var StyledButton = CustomComponent || this.getElement();\n        var iconIsOnlyChild = !!((iconBefore && !iconAfter && !children) ||\n            (iconAfter && !iconBefore && !children));\n        var specifiers = function (styles) {\n            if (StyledButton === 'a') {\n                return {\n                    'a&': styles,\n                };\n            }\n            else if (StyledButton === CustomComponent) {\n                return {\n                    '&, a&, &:hover, &:active, &:focus': styles,\n                };\n            }\n            return styles;\n        };\n        return (jsx(Theme.Provider, { value: theme },\n            jsx(GlobalTheme.Consumer, null, function (_a) {\n                var mode = _a.mode;\n                return (jsx(Theme.Consumer, __assign({ mode: mode, state: mapAttributesToState(attributes), iconIsOnlyChild: iconIsOnlyChild }, _this.props), function (_a) {\n                    var buttonStyles = _a.buttonStyles, spinnerStyles = _a.spinnerStyles;\n                    return (jsx(StyledButton, __assign({}, filterProps(rest, StyledButton), { \"data-testid\": testId, ref: _this.getComposedRefs(_this.button, consumerRef), onMouseEnter: _this.onMouseEnter, onMouseLeave: _this.onMouseLeave, onMouseDown: _this.onMouseDown, onMouseUp: _this.onMouseUp, onFocus: _this.onFocus, onBlur: _this.onBlur, disabled: isDisabled, className: className, css: specifiers(buttonStyles) }),\n                        jsx(InnerWrapper, { onClick: _this.onInnerClick, fit: !!shouldFitContainer },\n                            isLoading && (jsx(LoadingSpinner, { spacing: spacing, appearance: appearance, isSelected: isSelected, isDisabled: isDisabled, styles: spinnerStyles })),\n                            iconBefore && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconBefore })),\n                            children && (jsx(Content, { isLoading: isLoading, followsIcon: !!iconBefore, spacing: spacing }, children)),\n                            iconAfter && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconAfter })))));\n                }));\n            })));\n    };\n    Button.defaultProps = {\n        appearance: 'default',\n        autoFocus: false,\n        isDisabled: false,\n        isLoading: false,\n        isSelected: false,\n        shouldFitContainer: false,\n        spacing: 'default',\n        type: 'button',\n    };\n    return Button;\n}(React.Component));\nexport { Button };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nvar ButtonWithRef = React.forwardRef(function (props, ref) { return jsx(Button, __assign({}, props, { consumerRef: ref })); });\nButtonWithRef.displayName = 'Button';\nexport default withAnalyticsContext({\n    componentName: 'button',\n    packageName: packageName,\n    packageVersion: packageVersion,\n})(withAnalyticsEvents({\n    onClick: createAndFireEventOnAtlaskit({\n        action: 'clicked',\n        actionSubject: 'button',\n        attributes: {\n            componentName: 'button',\n            packageName: packageName,\n            packageVersion: packageVersion,\n        },\n    }),\n})(ButtonWithRef));\n//# sourceMappingURL=Button.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n    var consumerEvent = createAnalyticsEvent(payload);\n    var clonedEvent = consumerEvent.clone();\n    if (clonedEvent) {\n        clonedEvent.fire(channel);\n    }\n    return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n    var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n        var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n        var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n        return (React.createElement(AnalyticsContext, { data: analyticsData },\n            React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n    });\n    // @ts-ignore\n    WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n    var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n        var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n        return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n    })); });\n    // @ts-ignore\n    WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import Button from '@atlaskit/button';\nimport {\n  G500,\n  G50,\n  N0,\n  N40,\n  B50,\n  B200,\n  B400,\n  B500\n} from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\n\nexport const EctlRecord = styled.div`\n  margin: 10px 10px;\n  display: flex;\n  flex-direction: column;\n  align-items: left;\n  justify-content: left;\n  position: relative;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nexport const Product = styled.div`\n  width: auto;\n`;\n\nexport const ProductName = styled.p`\n  margin-top: 0;\n  margin-bottom: 0;\n`;\n\nexport const ProductDescription = styled.span`\n  font-weight: normal;\n`;\n\nexport const CurrentLicense = styled.div`\n  width: auto;\n  white-space: nowrap;\n`;\n\nexport const CurrentLicenseDescription = styled.p`\n  margin-top: 0;\n  margin-bottom: 0;\n  width: auto;\n`;\n\nexport const EctlDescription = styled.div`\n  width: auto;\n  white-space: nowrap;\n`;\n\nexport const EctlExpiration = styled.p`\n  margin-top: 0;\n  margin-bottom: 0;\n  color: ${G500};\n  font-size: 0.85em;\n  font-weight: 600;\n  background-color: ${G50};\n  padding: 3px 5px;\n  white-space: nowrap;\n  display: inline-block;\n`;\n\nexport const CtaButton = styled(Button)`\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  font-weight: 500;\n  color: ${N0} !important;\n  :enabled,\n  :enabled:hover {\n    background-color: ${B400};\n    color: ${N0} !important;\n  }\n  :enabled:hover {\n    background-color: ${B500};\n  }\n  :disabled,\n  :disabled:hover {\n    background-color: ${N40};\n  }\n`;\n\nexport const ectlListCss = `\n.ectl-record-ctrl {\n  display: flex;\n  align-items: center;\n  padding: 5px 15px 5px 10px;\n  box-sizing: border-box;\n  border: 0.5px solid transparent;\n  min-width: 750px;\n}\n.ectl-record-ctrl:hover, .ectl-record-ctrl-selected {\n  display: flex;\n  align-items: center;\n  padding: 5px 15px 5px 10px;\n  border-radius: 5px;\n  border: 0.5px solid transparent;\n  background-color: ${B50};\n  cursor: pointer;\n  min-width: 750px;\n}\n.ectl-record-ctrl:hover .ectl-cta, .ectl-record-ctrl-selected .ectl-cta {\n  display:inline-block;\n}\n.ectl-record-ctrl-selected {\n  border: 0.5px solid ${B200};\n  border-radius: 5px;\n  cursor: default;\n}\n.ectl-record-ctrl-claimed, .ectl-record-ctrl-claimed:hover {\n  cursor: default;\n  margin-bottom:12px;\n}\n.ectl-record {\n  display: inline-block;\n}\n.radio-button {\n  vertical-align: top;\n  display: inline-block;\n  padding-top: 2px;\n  align-self: flex-start;\n  margin-right: 8px;\n}\n.ectl-record-ctrl-selected .radio-button input[type=radio] {\n  margin-right: 8px;\n}\n\n.ectl-record-ctrl .radio-button input[type=radio] {\n  margin-right: 8px;\n  cursor: pointer;\n}\n.ectl-cta {\n  margin-left: auto;\n  display: none;\n  height: 100%;\n}\n`;\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'EctlRecord.';\nexport const messages = defineMessages({\n  supportExpirationDate: {\n    id: `${ID_PREFIX}supportExpirationDate`,\n    defaultMessage: 'Support expires on {theDate}'\n  },\n  installTypeServer: {\n    id: `${ID_PREFIX}installTypeServer`,\n    defaultMessage: 'Server'\n  },\n  installTypeDc: {\n    id: `${ID_PREFIX}installTypeDc`,\n    defaultMessage: 'Data Center'\n  },\n  numberOfSeatsUnitUsers: {\n    id: `${ID_PREFIX}numberOfSeatsUnitUsers`,\n    defaultMessage: 'users'\n  },\n  numberOfSeatsUnitAgents: {\n    id: `${ID_PREFIX}numberOfSeatsUnitAgents`,\n    defaultMessage: 'agents'\n  },\n  ectlWillLastUntil: {\n    id: `${ID_PREFIX}ectlWillLastUntil`,\n    defaultMessage: 'CLOUD MIGRATION TRIAL WILL LAST UNTIL {theDate}'\n  },\n  ectlExpiresInTwoMonths: {\n    id: `${ID_PREFIX}ectlExpiresInTwoMonths`,\n    defaultMessage: 'CLOUD MIGRATION TRIAL WILL LAST 2 MONTHS FROM TODAY'\n  },\n  claimedEctlExpiresOn: {\n    id: `${ID_PREFIX}claimedEctlExpiresOn`,\n    defaultMessage: 'CLOUD MIGRATION TRIAL EXPIRES ON {theDate}'\n  },\n  purchaseTypeCommercialLic: {\n    id: `${ID_PREFIX}purchaseTypeCommercialLic`,\n    defaultMessage: 'Commercial License'\n  },\n  purchaseTypeAcademicLic: {\n    id: `${ID_PREFIX}purchaseTypeAcademicLic`,\n    defaultMessage: 'Academic License'\n  },\n  purchaseTypeCommercialSub: {\n    id: `${ID_PREFIX}purchaseTypeCommercialSub`,\n    defaultMessage: 'Commercial Subscription'\n  },\n  purchaseTypeAcademicSub: {\n    id: `${ID_PREFIX}purchaseTypeAcademicSub`,\n    defaultMessage: 'Academic Subscription'\n  },\n  ctaButtonText: {\n    id: `${ID_PREFIX}ctaButtonText`,\n    defaultMessage: 'Activate trial'\n  }\n});\n","import { N40, N900, G50, G500 } from '@atlaskit/theme/colors';\nimport { messages } from '../messages';\nimport {\n  OriginalEctlRecordProps,\n  TransformedEctlRecordProps,\n  TransformedEctlRecordType\n} from '../models';\n\n/*\n  The values below are the ones that come back as data from the graphql, Hydra service.\n\n  This is the current (Sep 2020) solution for >>translation<< of these data points, realizing\n  that if there is ever a new data value for any of these (albeit very unlikely), we'd have to\n  expand the below code to account for them.  This decision was made while balancing risk, MVP rollout,\n  ROI, and diminishing returns if we tried a more elegant solution at this time.\n*/\nconst LICENSE_TYPE_COMMERCIAL = 'COMMERCIAL';\nconst LICENSE_TYPE_ACADEMIC = 'ACADEMIC';\nconst INSTALL_TYPE_SERVER = 'SERVER';\nconst INSTALL_TYPE_DC = 'DATA CENTER';\n\nconst SIGNUP_QUERY_PARM_BUNDLE = 'bundle';\nconst SIGNUP_QUERY_PARM_MIGRATION_UUID = 'migrationSourceUuid';\n\n/*\n  below two consts are commented for now, per NOTE (1) below.\n*/\n// const NUMBER_SEATS_UNIT_USER = 'USER';\n// const NUMBER_SEATS_UNIT_AGENT = 'AGENT';\n\nexport function transformEctlRecordData({\n  originalEctlRecord,\n  intl,\n  activateTrialBaseUrl,\n  activateUrlParameterKeys\n}: OriginalEctlRecordProps & {\n  activateTrialBaseUrl: string;\n  activateUrlParameterKeys?: string[];\n}) {\n  const transformedEctlRecord: TransformedEctlRecordType = {\n    name: '',\n    installType: '',\n    numberOfSeats: 0,\n    numberOfSeatsUnit: '',\n    purchaseType: '',\n    supportEntitlementNumber: '',\n    supportExpirationDate: '',\n    ectlExpirationDate: '',\n    available: false,\n    migrationSourceUuid: '',\n    bundleKey: ''\n  };\n\n  transformedEctlRecord.name = originalEctlRecord.name;\n  transformedEctlRecord.supportEntitlementNumber =\n    originalEctlRecord.entitlementKey;\n  transformedEctlRecord.supportExpirationDate =\n    originalEctlRecord.supportExpirationDate;\n  transformedEctlRecord.ectlExpirationDate =\n    originalEctlRecord.ectlExpirationDate;\n  transformedEctlRecord.numberOfSeats = originalEctlRecord.numberOfSeats;\n\n  transformedEctlRecord.available = originalEctlRecord.available;\n  transformedEctlRecord.migrationSourceUuid =\n    originalEctlRecord.migrationSourceUuid;\n  transformedEctlRecord.bundleKey = originalEctlRecord.bundleKey;\n\n  // ---------------------------\n  const currentUrlParams = new URLSearchParams(window.location.search);\n  const activateUrlParams = new URLSearchParams();\n\n  activateUrlParams.set(\n    SIGNUP_QUERY_PARM_BUNDLE,\n    transformedEctlRecord.bundleKey\n  );\n  activateUrlParams.set(\n    SIGNUP_QUERY_PARM_MIGRATION_UUID,\n    transformedEctlRecord.migrationSourceUuid\n  );\n\n  activateUrlParams.set('source', 'WAC');\n\n  activateUrlParameterKeys?.forEach((param) => {\n    if (currentUrlParams.has(param)) {\n      activateUrlParams.set(param, currentUrlParams.get(param) || '');\n    }\n  });\n\n  transformedEctlRecord.activateTrialUrl = `${activateTrialBaseUrl}?${activateUrlParams.toString()}`;\n\n  // ---------------------------\n  let purchaseType = '';\n  if (\n    originalEctlRecord.licenseType.toUpperCase() === LICENSE_TYPE_COMMERCIAL &&\n    originalEctlRecord.installType.toUpperCase() === INSTALL_TYPE_SERVER\n  ) {\n    purchaseType = intl.formatMessage(messages.purchaseTypeCommercialLic);\n  } else if (\n    originalEctlRecord.licenseType.toUpperCase() === LICENSE_TYPE_COMMERCIAL &&\n    originalEctlRecord.installType.toUpperCase() === INSTALL_TYPE_DC\n  ) {\n    purchaseType = intl.formatMessage(messages.purchaseTypeCommercialSub);\n  }\n  if (\n    originalEctlRecord.licenseType.toUpperCase() === LICENSE_TYPE_ACADEMIC &&\n    originalEctlRecord.installType.toUpperCase() === INSTALL_TYPE_SERVER\n  ) {\n    purchaseType = intl.formatMessage(messages.purchaseTypeAcademicLic);\n  } else if (\n    originalEctlRecord.licenseType.toUpperCase() === LICENSE_TYPE_ACADEMIC &&\n    originalEctlRecord.installType.toUpperCase() === INSTALL_TYPE_DC\n  ) {\n    purchaseType = intl.formatMessage(messages.purchaseTypeAcademicSub);\n  }\n\n  transformedEctlRecord.purchaseType = purchaseType;\n\n  // ---------------------------\n  let installType = '';\n  if (originalEctlRecord.installType.toUpperCase() === INSTALL_TYPE_SERVER) {\n    installType = intl.formatMessage(messages.installTypeServer);\n  } else if (originalEctlRecord.installType.toUpperCase() === INSTALL_TYPE_DC) {\n    installType = intl.formatMessage(messages.installTypeDc);\n  }\n  transformedEctlRecord.installType = installType;\n\n  // ---------------------------\n  /*\n    TODO\n\n    NOTE (1): The below, commented-out logic is correct, but we're currently (Sep 2020) using the TEMPORARY, \n    uncommented-out logic and will investigate, post-MVP, why hydra returns 'USER' for JSD user unit, \n    instead of returning 'AGENT'\n  */\n  // if (originalEctlRecord.numberOfSeatsUnit.toUpperCase() === NUMBER_SEATS_UNIT_USER) {\n  //   numberOfSeatsUnit = intl.formatMessage(messages.numberOfSeatsUnitUsers);\n  // }\n  // else if (originalEctlRecord.numberOfSeatsUnit.toUpperCase() === NUMBER_SEATS_UNIT_AGENT) {\n  //   numberOfSeatsUnit = intl.formatMessage(messages.numberOfSeatsUnitAgents);\n  // }\n  let numberOfSeatsUnit = intl.formatMessage(messages.numberOfSeatsUnitUsers);\n  const regexValue = originalEctlRecord.name.match(\n    /^([ ]{0,}jira[ ]{1,}service[ ]{1,}desk[ ]{0,})/gi\n  );\n\n  if (regexValue) {\n    numberOfSeatsUnit = intl.formatMessage(messages.numberOfSeatsUnitAgents);\n  }\n  transformedEctlRecord.numberOfSeatsUnit = numberOfSeatsUnit;\n\n  // ---------------------------\n  transformedEctlRecord.supportEntitlementNumber = `SEN-${originalEctlRecord.entitlementKey}`;\n\n  return transformedEctlRecord;\n}\n\nexport function generateEctlExpirationMessage({\n  transformedEctlRecord,\n  intl,\n  activateOneYearCloudTrial\n}: TransformedEctlRecordProps) {\n  /*\n    NOTE: none of the below logic checks/validates the two dates' (supportExpirationDate & ectlExpirationDate)\n    relationship, when they are both in the transformedEctlRecord payload.  No check/validation is made since\n    they are what came back from the Hydra service.\n  */\n\n  let ectlExpirationMessage = '';\n\n  const suppExpDateAsStr = transformedEctlRecord.supportExpirationDate; // is in string format at this pt.\n  if (transformedEctlRecord.ectlExpirationDate) {\n    const suppExpDateAsIntlDate = intl.formatDate(\n      new Date(transformedEctlRecord.ectlExpirationDate)\n    );\n    ectlExpirationMessage = intl.formatMessage(messages.claimedEctlExpiresOn, {\n      theDate: suppExpDateAsIntlDate\n    });\n  } else {\n    const now = new Date();\n    // set time to midnight, local time; b/c times from backend service are set to it, so better for date comparison\n    now.setHours(0, 0, 0, 0);\n\n    const suppExpDateAsDate = new Date(suppExpDateAsStr);\n    let ectlExpDateAsDate;\n\n    const aDayInMilliSecs = 24 * 60 * 60 * 1000;\n    const aYearInMilliSecs = 365 * aDayInMilliSecs;\n\n    const timeNumNow = now.getTime();\n    const timeNumExp = suppExpDateAsDate.getTime();\n    const timeDiffInDays = (timeNumExp - timeNumNow) / aDayInMilliSecs;\n\n    if (suppExpDateAsDate < now || timeDiffInDays < 60) {\n      ectlExpirationMessage = intl.formatMessage(\n        messages.ectlExpiresInTwoMonths\n      );\n    } else {\n      const milliSecsTillSuppExpDate: number =\n        suppExpDateAsDate.valueOf() - now.valueOf();\n\n      const SuppExpiresInAYearOrMore: boolean =\n        milliSecsTillSuppExpDate >= aYearInMilliSecs;\n\n      if (SuppExpiresInAYearOrMore) {\n        // set ECTL expiration to a year from now\n        ectlExpDateAsDate = now;\n        ectlExpDateAsDate.setMilliseconds(\n          ectlExpDateAsDate.getMilliseconds() + aYearInMilliSecs\n        );\n      } else if (activateOneYearCloudTrial) {\n        // Promo expire one year from today\n        ectlExpDateAsDate = new Date(Date.now() + aYearInMilliSecs);\n      } else {\n        // set ECTL expiration date equal to support expiration date.\n        ectlExpDateAsDate = new Date(suppExpDateAsDate);\n      }\n\n      const ectlExpDateAsDateFmtd = intl.formatDate(ectlExpDateAsDate);\n\n      ectlExpirationMessage = intl.formatMessage(messages.ectlWillLastUntil, {\n        theDate: ectlExpDateAsDateFmtd\n      });\n    }\n  }\n\n  return ectlExpirationMessage;\n}\n\n/*\n  Convenience function, for self-doc, readability, and future maintenance.\n*/\nexport function getStyleForEctlElig(\n  transformedEctlRecord: TransformedEctlRecordType\n) {\n  if (transformedEctlRecord.ectlExpirationDate) {\n    return { backgroundColor: `${N40}`, color: `${N900}` }; // claimed ectl\n  } else {\n    return { backgroundColor: `${G50}`, color: `${G500}` };\n  }\n}\n","import React, { useRef } from 'react';\nimport { injectIntl } from 'react-intl';\nimport {\n  CtaButton,\n  CurrentLicense,\n  CurrentLicenseDescription,\n  EctlDescription,\n  EctlExpiration,\n  ectlListCss,\n  EctlRecord,\n  Product,\n  ProductDescription,\n  ProductName\n} from './components';\nimport { messages } from './messages';\nimport { OriginalEctlRecordProps } from './models';\nimport {\n  generateEctlExpirationMessage,\n  getStyleForEctlElig,\n  transformEctlRecordData\n} from './utils/ectl-record-utils';\n\nfunction EctlRecordComponent({\n  originalEctlRecord,\n  activateTrialBaseUrl,\n  activateUrlParameterKeys,\n  handleSelectedEctlIdChanged,\n  selectedEctlId,\n  intl,\n  activateOneYearCloudTrial\n}: OriginalEctlRecordProps & {\n  handleSelectedEctlIdChanged?: (newValue: string) => void;\n  selectedEctlId: string;\n  activateTrialBaseUrl: string;\n  activateUrlParameterKeys?: string[];\n  activateOneYearCloudTrial?: boolean;\n}) {\n  const handleRecordClicked = () => {\n    if (\n      radioInputRef &&\n      radioInputRef.current &&\n      radioInputRef.current.checked\n    ) {\n      radioInputRef.current.checked = true;\n    }\n    if (handleSelectedEctlIdChanged) {\n      handleSelectedEctlIdChanged(\n        transformedEctlRecord.supportEntitlementNumber\n      );\n    }\n  };\n\n  const radioInputRef = useRef<HTMLInputElement>(null);\n\n  const transformedEctlRecord = transformEctlRecordData({\n    originalEctlRecord,\n    intl,\n    activateTrialBaseUrl,\n    activateUrlParameterKeys\n  });\n\n  return (\n    <EctlRecord>\n      {/*\n        TODO: move this to the ectl-list component to avoid duplicate style tags in rendered output,\n        but for some reason importing ectl-record's components folder would not compile in storybook\n        but would compile in ectl-record and ectl-list folders (??).\n        */}\n      <style>{ectlListCss}</style>\n\n      <div\n        className={\n          transformedEctlRecord.ectlExpirationDate\n            ? 'ectl-record-ctrl-claimed'\n            : selectedEctlId !== transformedEctlRecord.supportEntitlementNumber\n            ? 'ectl-record-ctrl'\n            : 'ectl-record-ctrl-selected'\n        }\n        onClick={\n          transformedEctlRecord.ectlExpirationDate\n            ? undefined\n            : handleRecordClicked\n        }\n      >\n        {transformedEctlRecord.ectlExpirationDate ? (\n          ''\n        ) : (\n          <div className=\"radio-button\">\n            <input\n              ref={radioInputRef}\n              type=\"radio\"\n              name=\"ectlRadioGroup\"\n            ></input>\n          </div>\n        )}\n        <div className=\"ectl-record\">\n          <Product>\n            <ProductName>\n              {transformedEctlRecord.installType}&nbsp;|&nbsp;\n              <ProductDescription>\n                {transformedEctlRecord.numberOfSeats}\n                &nbsp;{transformedEctlRecord.numberOfSeatsUnit}&nbsp;|&nbsp;\n                {transformedEctlRecord.purchaseType}\n              </ProductDescription>\n            </ProductName>\n          </Product>\n          <CurrentLicense>\n            <CurrentLicenseDescription>\n              {transformedEctlRecord.supportEntitlementNumber} |&nbsp;\n              {intl.formatMessage(messages.supportExpirationDate, {\n                theDate: intl.formatDate(\n                  new Date(transformedEctlRecord.supportExpirationDate)\n                )\n              })}\n            </CurrentLicenseDescription>\n          </CurrentLicense>\n          <EctlDescription>\n            <EctlExpiration style={getStyleForEctlElig(transformedEctlRecord)}>\n              {generateEctlExpirationMessage({\n                transformedEctlRecord,\n                intl,\n                activateOneYearCloudTrial\n              })}\n            </EctlExpiration>\n          </EctlDescription>\n        </div>\n        {transformedEctlRecord.ectlExpirationDate ? (\n          ''\n        ) : (\n          <div className=\"ectl-cta\">\n            <CtaButton\n              appearance=\"primary\"\n              href={transformedEctlRecord.activateTrialUrl}\n              isDisabled={\n                selectedEctlId !==\n                transformedEctlRecord.supportEntitlementNumber\n              }\n            >\n              {intl.formatMessage(messages.ctaButtonText)}\n            </CtaButton>\n          </div>\n        )}\n      </div>\n    </EctlRecord>\n  );\n}\n\nEctlRecordComponent.messages = messages;\n\nexport default injectIntl(EctlRecordComponent);\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'EctlList.';\nexport const messages = defineMessages({\n  eligibleSectionHeader: {\n    id: `${ID_PREFIX}eligibleSectionHeader`,\n    defaultMessage: 'Your eligible self-managed products'\n  },\n  claimedSectionHeader: {\n    id: `${ID_PREFIX}claimedSectionHeader`,\n    defaultMessage: 'Activated trials'\n  },\n  noActiveRecordsMessage: {\n    id: `${ID_PREFIX}noActiveRecordsMessage`,\n    defaultMessage: 'You’ve activated all of your cloud migration trials.'\n  },\n  multiEctlInstructions: {\n    id: `${ID_PREFIX}multiEctlInstructions`,\n    defaultMessage:\n      'Select a product SEN to activate your trial. After your initial set up, return to this page to activate additional trials.'\n  },\n  ineligibleParOne: {\n    id: `${ID_PREFIX}ineligibleParOne`,\n    defaultMessage: 'You don’t appear to have any eligible products.'\n  },\n  ineligibleParTwo: {\n    id: `${ID_PREFIX}ineligibleParTwo`,\n    defaultMessage:\n      'Free cloud migration trials are available for Jira Software, Confluence, Jira Service Desk, and Jira Core. You need to have more than 10 users or 3 agents – and have active, or recently expired, maintenance.'\n  },\n  ineligibleParThree: {\n    id: `${ID_PREFIX}ineligibleParThree`,\n    defaultMessage: 'Questions?'\n  },\n  ineligibleParFourContactUsLinkText: {\n    id: `${ID_PREFIX}ineligibleParFourContactUsLinkText`,\n    defaultMessage: 'Contact us'\n  },\n  loginVerbiage: {\n    id: `${ID_PREFIX}loginVerbiage`,\n    defaultMessage:\n      'Please {loginCtaHtml} to view your eligible self-managed products.'\n  },\n  loginVerbiageLinkText: {\n    id: `${ID_PREFIX}loginVerbiageLinkText`,\n    defaultMessage: 'log in'\n  }\n});\n","import {\n  ConfluenceLogo,\n  JiraServiceDeskLogo,\n  JiraSoftwareLogo,\n  JiraServiceManagementLogo,\n  BitbucketLogo\n} from '@atlaskit/logo';\nimport { B400, B200, N900 } from '@atlaskit/theme/colors';\nimport EctlRecord, {\n  OriginalEctlRecordType\n} from '@atlassiansox/bxpkit-ectl-record';\nimport React, { Fragment, useState } from 'react';\nimport { FormattedMessage, InjectedIntlProps, injectIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport { messages } from './messages';\nimport { sortOutRecords } from './utils';\n\ntype EctlListPropsType = {\n  ectlRecords: [OriginalEctlRecordType];\n  contactUsUrl: string;\n  activateTrialBaseUrl: string;\n  isLoggedIn: boolean;\n  loginUrl: string;\n  activateUrlParameterKeys?: string[];\n  activateOneYearCloudTrial?: boolean;\n  isBitbucketEnabled?: boolean;\n} & InjectedIntlProps;\n\nfunction EctlListComponent({\n  ectlRecords,\n  intl,\n  contactUsUrl,\n  activateTrialBaseUrl,\n  isLoggedIn,\n  loginUrl,\n  activateUrlParameterKeys,\n  activateOneYearCloudTrial,\n  isBitbucketEnabled = false\n}: EctlListPropsType) {\n  const [selectedEctlId, setSelectedEctlId] = useState('');\n  const handleSelectedEctlIdChanged = (newValue: string) => {\n    setSelectedEctlId(newValue);\n  };\n\n  const sortedOutRecords = sortOutRecords(ectlRecords, isBitbucketEnabled);\n\n  if (isLoggedIn) {\n    const emptyEligRecords =\n      sortedOutRecords.jiraEligRecords.length <= 0 &&\n      sortedOutRecords.jsdEligRecords.length <= 0 &&\n      sortedOutRecords.jsmEligRecords.length <= 0 &&\n      sortedOutRecords.confEligRecords.length <= 0 &&\n      sortedOutRecords.bitbucketEligRecords.length <= 0;\n\n    const emptyClaimedRecords =\n      sortedOutRecords.jiraClaimedRecords.length <= 0 &&\n      sortedOutRecords.jsdClaimedRecords.length <= 0 &&\n      sortedOutRecords.jsmClaimedRecords.length <= 0 &&\n      sortedOutRecords.confClaimedRecords.length <= 0 &&\n      sortedOutRecords.bitbucketClaimedRecords.length < 0;\n\n    const logoProps = {\n      iconColor: B200,\n      textColor: N900,\n      iconGradientStart: B400,\n      iconGradientStop: B200,\n      size: 'small',\n      className: 'atl-product-logo'\n    };\n\n    return (\n      <EctlList>\n        <style>{ectlListCss}</style>\n        <div id=\"eligibleEctls\">\n          <h2>{intl.formatMessage(messages.eligibleSectionHeader)}</h2>\n          {emptyEligRecords ? (\n            ''\n          ) : (\n            <p>{intl.formatMessage(messages.multiEctlInstructions)}</p>\n          )}\n          <hr />\n          {ectlRecords.length > 0 && emptyEligRecords ? (\n            <StyledP>\n              {intl.formatMessage(messages.noActiveRecordsMessage)}\n            </StyledP>\n          ) : (\n            ''\n          )}\n          {ectlRecords.length > 0 ? (\n            ''\n          ) : (\n            <Fragment>\n              <p>{intl.formatMessage(messages.ineligibleParOne)}</p>\n              <p>{intl.formatMessage(messages.ineligibleParTwo)}</p>\n              <p>\n                {intl.formatMessage(messages.ineligibleParThree)}&nbsp;\n                <a href={contactUsUrl}>\n                  {intl.formatMessage(\n                    messages.ineligibleParFourContactUsLinkText\n                  )}\n                </a>\n              </p>\n            </Fragment>\n          )}\n\n          {sortedOutRecords.jiraEligRecords.length <= 0 ? (\n            ''\n          ) : (\n            <JiraSoftwareLogo {...logoProps} />\n          )}\n          {sortedOutRecords.jiraEligRecords.length <= 0\n            ? ''\n            : sortedOutRecords.jiraEligRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={handleSelectedEctlIdChanged}\n                  selectedEctlId={selectedEctlId}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n\n          {sortedOutRecords.jsdEligRecords.length <= 0 ? (\n            ''\n          ) : (\n            <JiraServiceDeskLogo {...logoProps} />\n          )}\n          {sortedOutRecords.jsdEligRecords.length <= 0\n            ? ''\n            : sortedOutRecords.jsdEligRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={handleSelectedEctlIdChanged}\n                  selectedEctlId={selectedEctlId}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n\n          {sortedOutRecords.jsmEligRecords.length <= 0 ? (\n            ''\n          ) : (\n            <JiraServiceManagementLogo {...logoProps} />\n          )}\n          {sortedOutRecords.jsmEligRecords.length <= 0\n            ? ''\n            : sortedOutRecords.jsmEligRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={handleSelectedEctlIdChanged}\n                  selectedEctlId={selectedEctlId}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n\n          {sortedOutRecords.confEligRecords.length <= 0 ? (\n            ''\n          ) : (\n            <ConfluenceLogo {...logoProps} />\n          )}\n          {sortedOutRecords.confEligRecords.length <= 0\n            ? ''\n            : sortedOutRecords.confEligRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={handleSelectedEctlIdChanged}\n                  selectedEctlId={selectedEctlId}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n\n          {sortedOutRecords.bitbucketEligRecords.length <= 0 ? (\n            ''\n          ) : (\n            <BitbucketLogo {...logoProps} />\n          )}\n          {sortedOutRecords.bitbucketEligRecords.length <= 0\n            ? ''\n            : sortedOutRecords.bitbucketEligRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={handleSelectedEctlIdChanged}\n                  selectedEctlId={selectedEctlId}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n        </div>\n        <div id=\"claimedEctls\">\n          {emptyClaimedRecords ? (\n            ''\n          ) : (\n            <Fragment>\n              <h2> {intl.formatMessage(messages.claimedSectionHeader)}</h2>\n              <hr />\n            </Fragment>\n          )}\n\n          {sortedOutRecords.jiraClaimedRecords.length <= 0 ? (\n            ''\n          ) : (\n            <JiraSoftwareLogo {...logoProps} />\n          )}\n          {sortedOutRecords.jiraClaimedRecords.length <= 0\n            ? ''\n            : sortedOutRecords.jiraClaimedRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={undefined}\n                  selectedEctlId={''}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n\n          {sortedOutRecords.jsdClaimedRecords.length <= 0 ? (\n            ''\n          ) : (\n            <JiraServiceDeskLogo {...logoProps} />\n          )}\n          {sortedOutRecords.jsdClaimedRecords.length <= 0\n            ? ''\n            : sortedOutRecords.jsdClaimedRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={undefined}\n                  selectedEctlId={''}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n\n          {sortedOutRecords.jsmClaimedRecords.length <= 0 ? (\n            ''\n          ) : (\n            <JiraServiceManagementLogo {...logoProps} />\n          )}\n          {sortedOutRecords.jsmClaimedRecords.length <= 0\n            ? ''\n            : sortedOutRecords.jsmClaimedRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={undefined}\n                  selectedEctlId={''}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n\n          {sortedOutRecords.confClaimedRecords.length <= 0 ? (\n            ''\n          ) : (\n            <ConfluenceLogo {...logoProps} />\n          )}\n          {sortedOutRecords.confClaimedRecords.length <= 0\n            ? ''\n            : sortedOutRecords.confClaimedRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={undefined}\n                  selectedEctlId={''}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n\n          {sortedOutRecords.bitbucketClaimedRecords.length <= 0 ? (\n            ''\n          ) : (\n            <BitbucketLogo {...logoProps} />\n          )}\n          {sortedOutRecords.bitbucketClaimedRecords.length <= 0\n            ? ''\n            : sortedOutRecords.bitbucketClaimedRecords.map((elem) => (\n                <EctlRecord\n                  key={elem.entitlementKey}\n                  originalEctlRecord={elem}\n                  handleSelectedEctlIdChanged={undefined}\n                  selectedEctlId={''}\n                  activateTrialBaseUrl={activateTrialBaseUrl}\n                  activateUrlParameterKeys={activateUrlParameterKeys}\n                  activateOneYearCloudTrial={activateOneYearCloudTrial}\n                />\n              ))}\n        </div>\n      </EctlList>\n    );\n  } else {\n    return (\n      <EctlList>\n        <div id=\"eligibleEctls\">\n          <h2>{intl.formatMessage(messages.eligibleSectionHeader)}</h2>\n          <hr />\n          <StyledP>\n            {\n              <FormattedMessage\n                {...messages.loginVerbiage}\n                values={{\n                  loginCtaHtml: (\n                    <a href={loginUrl}>\n                      {intl.formatMessage(messages.loginVerbiageLinkText)}\n                    </a>\n                  )\n                }}\n              />\n            }\n          </StyledP>\n        </div>\n      </EctlList>\n    );\n  }\n}\n\nEctlListComponent.messages = messages;\n\nexport default injectIntl(EctlListComponent);\n\nconst EctlList = styled.div`\n  margin: 10px 10px;\n  display: flex;\n  flex-direction: column;\n  align-items: left;\n  justify-content: left;\n  position: relative;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst ectlListCss = `\n.atl-product-logo {\n  margin-top: 20px;\n}\n\n#claimedEctls {\n  margin-top: 42px;\n}\n`;\n\nconst StyledP = styled.p`\n  margin-top: 30px;\n`;\n","import { OriginalEctlRecordType } from '@atlassiansox/bxpkit-ectl-record';\nimport FeatureGates from '@atlassian/feature-gate-js-client';\n\nexport function sortOutRecords(\n  ectlRecords: OriginalEctlRecordType[],\n  isBitbucketEnabled = false\n) {\n  type SortedOutRecordType = {\n    jiraEligRecords: OriginalEctlRecordType[];\n    jsdEligRecords: OriginalEctlRecordType[];\n    jsmEligRecords: OriginalEctlRecordType[];\n    confEligRecords: OriginalEctlRecordType[];\n    bitbucketEligRecords: OriginalEctlRecordType[];\n    jiraClaimedRecords: OriginalEctlRecordType[];\n    jsdClaimedRecords: OriginalEctlRecordType[];\n    jsmClaimedRecords: OriginalEctlRecordType[];\n    confClaimedRecords: OriginalEctlRecordType[];\n    bitbucketClaimedRecords: OriginalEctlRecordType[];\n  };\n\n  const sortedOutRecords: SortedOutRecordType = {\n    jiraEligRecords: [],\n    jsdEligRecords: [],\n    jsmEligRecords: [],\n    confEligRecords: [],\n    bitbucketEligRecords: [],\n    jiraClaimedRecords: [],\n    jsdClaimedRecords: [],\n    jsmClaimedRecords: [],\n    confClaimedRecords: [],\n    bitbucketClaimedRecords: []\n  };\n\n  const gate: boolean =\n    FeatureGates.checkGate('bitbucket-cloud-migration-ui') ||\n    isBitbucketEnabled;\n\n  // TODO: post-MVP, look into moving below logic to a business layer (if one exists ?)\n\n  // Eligible ----------------\n  sortedOutRecords.jiraEligRecords = ectlRecords.filter((elem) =>\n    elem.name.match(/^([ ]{0,}jira[ ]{1,}software[ ]{0,})/gi) &&\n    !elem.ectlExpirationDate &&\n    elem.available\n      ? elem\n      : null\n  );\n  sortedOutRecords.jsdEligRecords = ectlRecords.filter((elem) =>\n    elem.name.match(/^([ ]{0,}jira[ ]{1,}service[ ]{1,}desk[ ]{0,})/gi) &&\n    !elem.ectlExpirationDate &&\n    elem.available\n      ? elem\n      : null\n  );\n\n  sortedOutRecords.jsmEligRecords = ectlRecords.filter((elem) =>\n    elem.name.match(/^([ ]{0,}jira[ ]{1,}service[ ]{1,}management[ ]{0,})/gi) &&\n    !elem.ectlExpirationDate &&\n    elem.available\n      ? elem\n      : null\n  );\n\n  sortedOutRecords.confEligRecords = ectlRecords.filter((elem) =>\n    elem.name.match(/^([ ]{0,}confluence[ ]{0,})/gi) &&\n    !elem.ectlExpirationDate &&\n    elem.available\n      ? elem\n      : null\n  );\n\n  if (gate) {\n    sortedOutRecords.bitbucketEligRecords = ectlRecords.filter((elem) =>\n      elem.name.match(/^([ ]{0,}bitbucket[ ]{0,})/gi) &&\n      !elem.ectlExpirationDate &&\n      elem.available\n        ? elem\n        : null\n    );\n  }\n\n  // Claimed ----------------\n  sortedOutRecords.jiraClaimedRecords = ectlRecords.filter((elem) =>\n    elem.name.match(/^([ ]{0,}jira[ ]{1,}software[ ]{0,})/gi) &&\n    elem.ectlExpirationDate\n      ? elem\n      : null\n  );\n  sortedOutRecords.jsdClaimedRecords = ectlRecords.filter((elem) =>\n    elem.name.match(/^([ ]{0,}jira[ ]{1,}service[ ]{1,}desk[ ]{0,})/gi) &&\n    elem.ectlExpirationDate\n      ? elem\n      : null\n  );\n  sortedOutRecords.jsmClaimedRecords = ectlRecords.filter((elem) =>\n    elem.name.match(/^([ ]{0,}jira[ ]{1,}service[ ]{1,}management[ ]{0,})/gi) &&\n    elem.ectlExpirationDate\n      ? elem\n      : null\n  );\n  sortedOutRecords.confClaimedRecords = ectlRecords.filter((elem) =>\n    elem.name.match(/^([ ]{0,}confluence[ ]{0,})/gi) && elem.ectlExpirationDate\n      ? elem\n      : null\n  );\n\n  if (gate) {\n    sortedOutRecords.bitbucketClaimedRecords = ectlRecords.filter((elem) =>\n      elem.name.match(/^([ ]{0,}bitbucket[ ]{0,})/gi) && elem.ectlExpirationDate\n        ? elem\n        : null\n    );\n  }\n\n  return sortedOutRecords;\n}\n","import { AnalyticsListener } from \"@atlaskit/analytics-next\";\nimport EctlList from \"@atlassiansox/bxpkit-ectl-list\";\nimport React, { useEffect, useState } from \"react\";\nimport { IntlProvider } from \"react-intl\";\nimport Environment from \"../../../common/environment\";\nimport Spinner from \"@atlaskit/spinner\";\nimport styled from \"styled-components\";\nimport tracking from '../../../utils/tracking';\nimport { FeatureGatesInitialization } from \"@atlassian/feature-gates-react\";\nimport { FeatureGateEnvironment } from \"@atlassian/feature-gate-js-client\";\nimport storage from \"../../../utils/storage\";\n\n\nconst Loading = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n`;\n\nconst UTM_WHITE_LIST = [\"utm_medium\", \"utm_source\", \"utm_campaign\"];\n\nconst sendAnalytics = (analytic) => {\n  const eventName =\n    analytic.payload && analytic.payload.name\n      ? analytic.payload.name\n      : \"ectl-list-component-track-event\";\n\n  let eventPayload = analytic.payload;\n  if (analytic.context[0]) {\n    eventPayload = Object.assign(analytic.context[0], analytic.payload);\n  }\n\n  if (eventPayload.name !== undefined) {\n    delete eventPayload.name;\n  }\n\n  try {\n    tracking.trackEvent(eventName, eventPayload);\n  } catch (e) {\n    console.log(eventName, \"AnalyticsListener did not find tracker\");\n  }\n};\n\n\nconst EctlListComponentContainer = ({ contentCopy, ectlListConfig }) => {\n  const [isLoading, setIsLoading] = useState(true);\n  const [ectlLicenses, setEctlLicenses] = useState(null);\n  const [isLoggedIn, setIsLoggedIn] = useState(null);\n  const [isv2] = useState(ectlListConfig.enableV2LicensesEndpoint);\n\n  function getEctlLicenses() {\n    const v2 = isv2? '/v2': '';\n    return fetch(\n      `${Environment.getAPIPrivateURL()}/ectl/licenses${v2}`,\n      {\n      method: \"GET\",\n      credentials: \"include\",\n      headers: {\n        \"Content-type\": \"application/json; charset=UTF-8\",\n      },\n      }\n    )\n      .then((response) => {\n        if (response.ok) {\n          setIsLoggedIn(true);\n          return Promise.resolve(response.json());\n        } else {\n          if (response.status === 401) {\n            setIsLoggedIn(false);\n            return Promise.resolve({ entitlements: [] });\n          } else {\n            setIsLoggedIn(null);\n            return Promise.reject(response);\n          }\n        }\n      })\n      .catch((error) => {\n        setIsLoggedIn(null);\n        return Promise.reject(error);\n      });\n  }\n\n  function fetchAndSetStates() {\n    getEctlLicenses()\n      .then((res) => {\n        setEctlLicenses(res.entitlements);\n        setIsLoading(false);\n      })\n      .catch((error) => {\n        setIsLoading(false);\n        return Promise.reject(error);\n      });\n  }\n\n  const getEnvironment = () => {\n    switch (Environment.getEnvironment()) {\n      case \"production\":\n        return {\n          apiKey: \"4e18bcb9-52fb-4f76-b7b6-a0d9d8e56f8f\",\n          environment: FeatureGateEnvironment.Production,\n        };\n      case \"staging\":\n        return {\n          apiKey: \"ff9c70b0-ab7e-4abc-be4f-53f9c3fd37d6\",\n          environment: FeatureGateEnvironment.Staging,\n        };\n      case \"dev\":\n      default:\n        return {\n          apiKey: \"ab9944a4-9eb2-482b-b997-36f41f3a1edf\",\n          environment: FeatureGateEnvironment.Development,\n        };\n    }\n  };\n\n  const atlassianAccountId = (storage.getCookie(\"__aid_user_id\") ?? \"\").replace(\n    /\\\"/g,\n    \"\"\n  );\n\n  if (!atlassianAccountId || atlassianAccountId === '') {\n    return false;\n  }\n\n  useEffect(() => {\n    fetchAndSetStates();\n  }, []);\n  if (!isLoading) {\n    return (\n      <FeatureGatesInitialization\n        options={{\n          apiKey: getEnvironment().apiKey,\n          environment: getEnvironment().environment,\n          targetApp: \"bxp-web-platform_web\",\n        }}\n        identifiers={{ atlassianAccountId }}\n        customAttributes={{\n          platform: \"magnolia\",\n          locale: document.documentElement.lang || \"en\",\n        }}\n      >\n        <AnalyticsListener onEvent={sendAnalytics}>\n          <IntlProvider\n            locale={document.documentElement.lang}\n            messages={contentCopy}\n          >\n            <EctlList\n              ectlRecords={ectlLicenses}\n              contactUsUrl={ectlListConfig.contactUsUrl}\n              showJSMLicenses={ectlListConfig.showJSMLicenses}\n            activateOneYearCloudTrial={ectlListConfig.activateOneYearCloudTrial}\n              jsmLogoPathSrc={ectlListConfig.jsmLogoPathSrc}\n              activateTrialBaseUrl={ectlListConfig.activateTrialUrl}\n              activateUrlParameterKeys={UTM_WHITE_LIST}\n              isLoggedIn={isLoggedIn}\n              loginUrl={`${Environment.getIdentityBaseUrl()}/login?continue=${\n                window.location.href\n              }`}\n            />\n          </IntlProvider>\n        </AnalyticsListener>\n      </FeatureGatesInitialization>\n    );\n  } else {\n    return (\n      <Loading>\n        <Spinner size={\"large\"} />\n      </Loading>\n    );\n  }\n};\n\nexport default EctlListComponentContainer;\n","function _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    \"default\": obj\n  };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst errors_1 = require(\"./errors\");\nconst types_1 = require(\"../types\");\nconst version_1 = require(\"../version\");\nconst DEFAULT_REQUEST_TIMEOUT_MS = 2000;\nconst PROD_BASE_URL = 'https://api.atlassian.com/flags';\nconst STAGING_BASE_URL = 'https://api.stg.atlassian.com/flags';\nconst DEV_BASE_URL = 'https://api.dev.atlassian.com/flags';\nconst GATEWAY_BASE_URL = '/gateway/api/flags';\nclass Fetcher {\n    static async fetchClientSdk(fetcherOptions) {\n        const { targetApp } = fetcherOptions;\n        const url = `/api/v2/frontend/clientSdkKey/${targetApp}`;\n        try {\n            return await this.fetchRequest(url, 'GET', fetcherOptions);\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                throw error;\n            }\n            throw Error('Failed to retrieve client sdk key');\n        }\n    }\n    static async fetchExperimentValues(fetcherOptions, identifiers, customAttributes) {\n        const requestBody = {\n            identifiers,\n            customAttributes,\n            targetApp: fetcherOptions.targetApp\n        };\n        try {\n            return await this.fetchRequest('/api/v2/frontend/experimentValues', 'POST', fetcherOptions, requestBody);\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                throw error;\n            }\n            throw Error('Failed to retrieve experiment values');\n        }\n    }\n    static async handleResponseError(response) {\n        if (!response.ok) {\n            // Use text() instead of json() as the error body might not be json data\n            const body = await response.text();\n            throw new errors_1.ResponseError(`Non 2xx response status received, status: ${response.status}, body: ${JSON.stringify(body)}`);\n        }\n        if (response.status === 204) {\n            throw new errors_1.ResponseError('Unexpected 204 response');\n        }\n    }\n    static async extractResponseBody(response) {\n        const value = await response.text();\n        return JSON.parse(value);\n    }\n    static getBaseUrl(serviceEnv, useGatewayUrl = false) {\n        if (useGatewayUrl) {\n            return GATEWAY_BASE_URL;\n        }\n        switch (serviceEnv) {\n            case types_1.FeatureGateEnvironment.Development:\n                return DEV_BASE_URL;\n            case types_1.FeatureGateEnvironment.Staging:\n                return STAGING_BASE_URL;\n            default:\n                return PROD_BASE_URL;\n        }\n    }\n    static async fetchRequest(path, method, fetcherOptions, body) {\n        const baseUrl = Fetcher.getBaseUrl(fetcherOptions.environment, fetcherOptions.useGatewayURL);\n        const fetchTimeout = fetcherOptions.fetchTimeoutMs || DEFAULT_REQUEST_TIMEOUT_MS;\n        let abortSignal;\n        if (AbortSignal.timeout) {\n            abortSignal = AbortSignal.timeout(fetchTimeout);\n        }\n        else if (AbortController) {\n            const abortController = new AbortController();\n            abortSignal = abortController.signal;\n            setTimeout(() => abortController.abort(), fetchTimeout);\n        }\n        const response = await fetch(`${baseUrl}${path}`, Object.assign({ method, headers: {\n                'Content-Type': 'application/json',\n                'X-Client-Name': 'feature-gate-js-client',\n                'X-Client-Version': version_1.CLIENT_VERSION,\n                'X-API-KEY': fetcherOptions.apiKey\n            }, signal: abortSignal }, (body && { body: JSON.stringify(body) })));\n        await this.handleResponseError(response);\n        return await this.extractResponseBody(response);\n    }\n}\nexports.default = Fetcher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResponseError = void 0;\nclass ResponseError extends Error {\n    constructor(message) {\n        super(message);\n    }\n}\nexports.ResponseError = ResponseError;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = void 0;\nvar Fetcher_1 = require(\"./Fetcher\");\nObject.defineProperty(exports, \"default\", { enumerable: true, get: function () { return __importDefault(Fetcher_1).default; } });\n","\"use strict\";\nvar __createBinding = (this && this.__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 = { enumerable: true, get: function() { return m[k]; } };\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}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (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};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        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]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EvaluationReason = exports.DynamicConfig = void 0;\nconst statsig_js_lite_1 = __importStar(require(\"statsig-js-lite\"));\nvar statsig_js_lite_2 = require(\"statsig-js-lite\");\nObject.defineProperty(exports, \"DynamicConfig\", { enumerable: true, get: function () { return statsig_js_lite_2.DynamicConfig; } });\nObject.defineProperty(exports, \"EvaluationReason\", { enumerable: true, get: function () { return statsig_js_lite_2.EvaluationReason; } });\nconst fetcher_1 = __importDefault(require(\"./fetcher\"));\n__exportStar(require(\"./types\"), exports);\nconst DEFAULT_CLIENT_KEY = 'client-default-key';\n// the default event logging api is the Atlassian proxy rather than Statsig's domain, to avoid ad blockers\nconst DEFAULT_EVENT_LOGGING_API = 'https://xp.atlassian.com/v1/';\nclass FeatureGates {\n    static async initialize(clientOptions, identifiers, customAttributes) {\n        if (FeatureGates.initPromise) {\n            if (!FeatureGates.shallowEquals(clientOptions, FeatureGates.initOptions)) {\n                console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n            }\n            return FeatureGates.initPromise;\n        }\n        FeatureGates.initOptions = clientOptions;\n        FeatureGates.initPromise = FeatureGates.init(clientOptions, identifiers, customAttributes).then(() => {\n            FeatureGates.initCompleted = true;\n        });\n        return FeatureGates.initPromise;\n    }\n    static async initializeFromValues(clientOptions, identifiers, customAttributes, initializeValues = {}) {\n        if (FeatureGates.initPromise) {\n            if (!FeatureGates.shallowEquals(clientOptions, FeatureGates.initOptions)) {\n                console.warn('Feature Gates client already initialized with different options. New options were not applied.');\n            }\n            return FeatureGates.initPromise;\n        }\n        FeatureGates.initOptions = clientOptions;\n        FeatureGates.initPromise = FeatureGates.initFromValues(clientOptions, identifiers, customAttributes, initializeValues).then(() => {\n            FeatureGates.initCompleted = true;\n        });\n        return FeatureGates.initPromise;\n    }\n    /**\n     * This method updates the user using a network call to fetch the new set of values.\n     * @param fetchOptions {FetcherOptions}\n     * @param identifiers {Identifiers}\n     * @param customAttributes {CustomAttributes}\n     */\n    static async updateUser(fetchOptions, identifiers, customAttributes) {\n        const initializeValuesProducer = () => fetcher_1.default.fetchExperimentValues(fetchOptions, identifiers, customAttributes).then(({ experimentValues, customAttributes }) => ({\n            experimentValues,\n            customAttributesFromFetch: customAttributes\n        }));\n        await FeatureGates.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n    }\n    /**\n     * This method updates the user given a new set of bootstrap values obtained from one of the server-side SDKs.\n     *\n     * @param identifiers {Identifiers}\n     * @param customAttributes {CustomAttributes}\n     * @param initializeValues {Record<string,unknown>}\n     */\n    static async updateUserWithValues(identifiers, customAttributes, initializeValues = {}) {\n        const initializeValuesProducer = () => Promise.resolve({\n            experimentValues: initializeValues,\n            customAttributesFromFetch: customAttributes\n        });\n        await FeatureGates.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n    }\n    static initializeCalled() {\n        return FeatureGates.initPromise != null;\n    }\n    static initializeCompleted() {\n        return FeatureGates.initCompleted;\n    }\n    /**\n     * Returns the value for a feature gate. Returns false if there are errors.\n     * @param gateName - The name of the feature gate.\n     */\n    static checkGate(gateName) {\n        try {\n            return statsig_js_lite_1.default.checkGate(gateName);\n        }\n        catch (error) {\n            // Log the first occurrence of the error\n            if (!FeatureGates.hasCheckGateErrorOccurred) {\n                console.warn({\n                    msg: 'An error has occurred checking the feature gate. Only the first occurrence of this error is logged.',\n                    gateName,\n                    error\n                });\n                FeatureGates.hasCheckGateErrorOccurred = true;\n            }\n            return false;\n        }\n    }\n    /**\n     * Returns the entire config for a given experiment.\n     *\n     * @param {string} experimentName - The name of the experiment\n     * @param {Object} options\n     * @param {boolean} options.fireExperimentExposure - Whether or not to fire the exposure event for the experiment. Defaults to true. To log an exposure event manually at a later time, use {@link manuallyLogExperimentExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n     * @returns The config for an experiment\n     * @example\n     * ```ts\n     * const experimentConfig = FeatureGates.getExperiment('example-experiment-name');\n     * const backgroundColor: string = experimentConfig.get('backgroundColor', 'yellow');\n     * ```\n     */\n    static getExperiment(experimentName, options = {}) {\n        try {\n            const { fireExperimentExposure = true } = options;\n            const evalMethod = fireExperimentExposure\n                ? statsig_js_lite_1.default.getExperiment.bind(statsig_js_lite_1.default)\n                : statsig_js_lite_1.default.getExperimentWithExposureLoggingDisabled.bind(statsig_js_lite_1.default);\n            return evalMethod(experimentName);\n        }\n        catch (error) {\n            // Log the first occurrence of the error\n            if (!FeatureGates.hasGetExperimentErrorOccurred) {\n                console.warn({\n                    msg: 'An error has occurred getting the experiment. Only the first occurrence of this error is logged.',\n                    experimentName,\n                    error\n                });\n                FeatureGates.hasGetExperimentErrorOccurred = true;\n            }\n            // Return a default value\n            return new statsig_js_lite_1.DynamicConfig(experimentName, {}, '', {\n                time: Date.now(),\n                reason: statsig_js_lite_1.EvaluationReason.Error\n            });\n        }\n    }\n    /**\n     * Returns the value of a given parameter in an experiment config.\n     *\n     * @template T\n     * @param {string} experimentName - The name of the experiment\n     * @param {string} parameterName - The name of the parameter to fetch from the experiment config\n     * @param {T} defaultValue - The value to serve if the experiment or parameter do not exist, or if the returned value does not match the expected type.\n     * @param {Object} options\n     * @param {boolean} options.fireExperimentExposure - Whether or not to fire the exposure event for the experiment. Defaults to true. To log an exposure event manually at a later time, use {@link manuallyLogExperimentExposure} (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-))\n     * @param {function} options.typeGuard - A function that asserts that the return value has the expected type. If this function returns false, then the default value will be returned instead. This can be set to protect your code from unexpected values being set remotely. By default, this will be done by asserting that the default value and value are the same primitive type.\n     * @returns The value of the parameter if the experiment and parameter both exist, otherwise the default value.\n     * @example\n     ``` ts\n     type ValidColor = 'blue' | 'red' | 'yellow';\n     type ValidColorTypeCheck = (value: unknown) => value is ValidColor;\n\n     const isValidColor: ValidColorTypeCheck =\n        (value: unknown) => typeof value === 'string' && ['blue', 'red', 'yellow'].includes(value);\n\n     const buttonColor: ValidColor = FeatureGates.getExperimentValue(\n        'example-experiment-name',\n        'backgroundColor',\n        'yellow',\n        {\n            typeGuard: isValidColor\n        }\n     );\n     ```\n    */\n    static getExperimentValue(experimentName, parameterName, defaultValue, options = {}) {\n        const experiment = FeatureGates.getExperiment(experimentName, options);\n        try {\n            const { typeGuard } = options;\n            return experiment.get(parameterName, defaultValue, typeGuard);\n        }\n        catch (error) {\n            // Log the first occurrence of the error\n            if (!FeatureGates.hasGetExperimentValueErrorOccurred) {\n                console.warn({\n                    msg: 'An error has occurred getting the experiment value. Only the first occurrence of this error is logged.',\n                    experimentName,\n                    defaultValue,\n                    options,\n                    error\n                });\n                FeatureGates.hasGetExperimentValueErrorOccurred = true;\n            }\n            return defaultValue;\n        }\n    }\n    /**\n     * Manually log an experiment exposure (see [Statsig docs about manually logging exposures](https://docs.statsig.com/client/jsClientSDK#manual-exposures-)).\n     * This is useful if you have evaluated an experiment earlier via {@link getExperimentValue} or\n     * {@link getExperiment} where <code>options.fireExperimentExposure</code> is false.\n     * @param experimentName\n     */\n    static manuallyLogExperimentExposure(experimentName) {\n        statsig_js_lite_1.default.manuallyLogExperimentExposure(experimentName);\n    }\n    static shutdownStatsig() {\n        statsig_js_lite_1.default.shutdown();\n    }\n    /**\n     * Adds a new override for the given gate.\n     *\n     * This method is additive, meaning you can call it multiple times with different gate names to build\n     * your full set of overrides.\n     *\n     * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they will\n     * continue to affect every client that is initialized on the same domain after this method is called.\n     * If you are using this API for testing purposes, you should call ${@link clearGateOverride} after\n     * your tests are completed to remove this localStorage entry.\n     *\n     * @param {string} gateName\n     * @param {boolean} value\n     */\n    static overrideGate(gateName, value) {\n        statsig_js_lite_1.default.overrideGate(gateName, value);\n    }\n    /**\n     * Removes any overrides that have been set for the given gate.\n     * @param {string} gateName\n     */\n    static clearGateOverride(gateName) {\n        statsig_js_lite_1.default.overrideGate(gateName, null);\n    }\n    /**\n     * Adds a new override for the given config (or experiment).\n     *\n     * This method is additive, meaning you can call it multiple times with different experiment names to build\n     * your full set of overrides.\n     *\n     * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they will\n     * continue to affect every client that is initialized on the same domain after this method is called.\n     * If you are using this API for testing purposes, you should call ${@link clearConfigOverride} after\n     * your tests are completed to remove this localStorage entry.\n     *\n     * @param {string} experimentName\n     * @param {object} values\n     */\n    static overrideConfig(experimentName, values) {\n        statsig_js_lite_1.default.overrideConfig(experimentName, values);\n    }\n    /**\n     * Removes any overrides that have been set for the given experiment.\n     * @param {string} experimentName\n     */\n    static clearConfigOverride(experimentName) {\n        statsig_js_lite_1.default.overrideConfig(experimentName, null);\n    }\n    /**\n     * Set overrides for gates, experiments and layers in batch.\n     *\n     * Note that these overrides are **not** additive and will completely replace any that have been added\n     * via prior calls to {@link overrideConfig} or {@link overrideGate}.\n     *\n     * Overrides are persisted to the `STATSIG_JS_LITE_LOCAL_OVERRIDES` key in localStorage, so they will\n     * continue to affect every client that is initialized on the same domain after this method is called.\n     * If you are using this API for testing purposes, you should call ${@link clearAllOverrides} after\n     * your tests are completed to remove this localStorage entry.\n     *\n     * @param {object} overrides\n     */\n    static setOverrides(overrides) {\n        statsig_js_lite_1.default.setOverrides(Object.assign({ gates: {}, configs: {}, layers: {} }, overrides));\n    }\n    /**\n     * Clears overrides for all gates, configs (including experiments) and layers.\n     */\n    static clearAllOverrides() {\n        statsig_js_lite_1.default.setOverrides(null);\n    }\n    /**\n     * Returns whether the given identifiers and customAttributes align with the current\n     * set that is being used by the client.\n     *\n     * If this method returns false, then the {@link updateUser} or {@link updateUserWithValues}\n     * methods can be used to re-align these values.\n     *\n     * @param identifiers\n     * @param customAttributes\n     * @returns a flag indicating whether the clients current configuration aligns with the given values\n     */\n    static isCurrentUser(identifiers, customAttributes) {\n        return (FeatureGates.shallowEquals(FeatureGates.currentIdentifiers, identifiers) &&\n            FeatureGates.shallowEquals(FeatureGates.currentAttributes, customAttributes));\n    }\n    /**\n     * This method initializes the client using a network call to fetch the bootstrap values for the given user.\n     *\n     * @param clientOptions\n     * @param identifiers\n     * @param customAttributes\n     * @private\n     */\n    static async init(clientOptions, identifiers, customAttributes) {\n        const fromValuesClientOptions = Object.assign(Object.assign({}, clientOptions), { disableCurrentPageLogging: true });\n        let experimentValues;\n        let customAttributesFromResult;\n        try {\n            // If client sdk key fetch fails, an error would be thrown and handled instead of waiting for the experiment\n            // values request to be settled, and it will fall back to use default values.\n            const clientSdkKeyPromise = fetcher_1.default.fetchClientSdk(clientOptions).then((value) => (fromValuesClientOptions.sdkKey = value.clientSdkKey));\n            const experimentValuesPromise = fetcher_1.default.fetchExperimentValues(clientOptions, identifiers, customAttributes);\n            // Only wait for the experiment values request to finish and try to initialise the client with experiment\n            // values if both requests are successful. Else an error would be thrown and handled by the catch\n            const [, experimentValuesResult] = await Promise.all([\n                clientSdkKeyPromise,\n                experimentValuesPromise\n            ]);\n            experimentValues = experimentValuesResult.experimentValues;\n            customAttributesFromResult =\n                experimentValuesResult.customAttributes;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.error(`Error occurred when trying to fetch the Feature Gates client values, error: ${error === null || error === void 0 ? void 0 : error.message}`);\n            }\n            console.warn(`Initialising Statsig client without values`);\n            await FeatureGates.initFromValues(fromValuesClientOptions, identifiers, customAttributes);\n            throw error;\n        }\n        await this.initFromValues(fromValuesClientOptions, identifiers, customAttributesFromResult, experimentValues);\n    }\n    /**\n     * This method initializes the client using a set of boostrap values obtained from one of the server-side SDKs.\n     *\n     * @param clientOptions\n     * @param identifiers\n     * @param customAttributes\n     * @param initializeValues\n     * @private\n     */\n    static async initFromValues(clientOptions, identifiers, customAttributes, initializeValues = {}) {\n        const user = this.toStatsigUser(identifiers, customAttributes);\n        FeatureGates.currentIdentifiers = identifiers;\n        FeatureGates.currentAttributes = customAttributes;\n        if (!clientOptions.sdkKey) {\n            clientOptions.sdkKey = DEFAULT_CLIENT_KEY;\n        }\n        if (!clientOptions.eventLoggingApi) {\n            clientOptions.eventLoggingApi = DEFAULT_EVENT_LOGGING_API;\n        }\n        const { sdkKey } = clientOptions;\n        const statsigOptions = this.toStatsigOptions(clientOptions, initializeValues);\n        try {\n            await statsig_js_lite_1.default.initialize(sdkKey, user, statsigOptions);\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.error(`Error occurred when trying to initialise the Statsig client, error: ${error === null || error === void 0 ? void 0 : error.message}`);\n            }\n            console.warn(`Initialising Statsig client with default sdk key and without values`);\n            await statsig_js_lite_1.default.initialize(DEFAULT_CLIENT_KEY, user, Object.assign(Object.assign({}, statsigOptions), { initializeValues: {} }));\n            throw error;\n        }\n    }\n    /**\n     * This method creates an instance of StatsigUser from the given set of identifiers and attributes.\n     *\n     * @param identifiers\n     * @param customAttributes\n     * @private\n     */\n    static toStatsigUser(identifiers, customAttributes) {\n        const user = {\n            customIDs: identifiers,\n            custom: customAttributes\n        };\n        if (identifiers.atlassianAccountId) {\n            user.userID = identifiers.atlassianAccountId;\n        }\n        return user;\n    }\n    /**\n     * This method updates the user for this client with the bootstrap values returned from a given Promise.\n     * It uses the customAttributes from fetching experiment values to update the Statsig user but\n     * uses the customAttributes from given input to check if the user has changed.\n     *\n     * @param identifiers\n     * @param customAttributes\n     * @param initializeValuesPromise\n     * @private\n     */\n    static async updateUserUsingInitializeValuesProducer(getInitializeValues, identifiers, customAttributes) {\n        if (!FeatureGates.initPromise) {\n            throw new Error('The FeatureGates client must be initialized before you can update the user.');\n        }\n        // If the user isn't changing at all, then exit immediately\n        if (FeatureGates.isCurrentUser(identifiers, customAttributes)) {\n            return FeatureGates.initPromise;\n        }\n        // Wait for the current initialize/update to finish\n        const originalInitPromise = FeatureGates.initPromise;\n        try {\n            await FeatureGates.initPromise;\n        }\n        catch (err) {\n            // Proceed with the user update even if the init failed, since this update\n            // may put the client back into a valid state.\n        }\n        const initializeValuesPromise = getInitializeValues();\n        const updateUserPromise = FeatureGates.updateStatsigClientUser(initializeValuesPromise, identifiers, customAttributes);\n        // We replace the init promise here since we are essentially re-initializing the client at this point.\n        // Any subsequent calls to await FeatureGates.initialize() or FeatureGates.updateUser() will now also await this user update.\n        FeatureGates.initPromise = updateUserPromise.catch(() => {\n            // If the update failed then it changed nothing, so revert back to the original promise.\n            FeatureGates.initPromise = originalInitPromise;\n        });\n        return updateUserPromise;\n    }\n    /**\n     * This method updates the user on the nested Statsig client\n     *\n     * @param identifiers\n     * @param customAttributes\n     * @param initializeValuesPromise\n     * @private\n     */\n    static async updateStatsigClientUser(initializeValuesPromise, identifiers, customAttributes) {\n        var _a, _b;\n        let initializeValues, user;\n        try {\n            initializeValues = await initializeValuesPromise;\n            user = FeatureGates.toStatsigUser(identifiers, initializeValues.customAttributesFromFetch);\n        }\n        catch (err) {\n            // Make sure the updateUserCompletionCallback is called for any errors in our custom code.\n            // This is not necessary for the updateUserWithValues call, because the Statsig client will already invoke the callback itself.\n            const errMsg = err instanceof Error ? err.message : JSON.stringify(err);\n            (_b = (_a = FeatureGates.initOptions).updateUserCompletionCallback) === null || _b === void 0 ? void 0 : _b.call(_a, false, errMsg);\n            throw err;\n        }\n        const success = statsig_js_lite_1.default.updateUserWithValues(user, initializeValues.experimentValues);\n        if (success) {\n            FeatureGates.currentIdentifiers = identifiers;\n            FeatureGates.currentAttributes = customAttributes;\n        }\n        else {\n            throw new Error('Failed to update user. An unexpected error occured.');\n        }\n    }\n    /**\n     * This method transforms the options given by the user into the format accepted by the Statsig client.\n     *\n     * @param options\n     * @private\n     */\n    static toStatsigOptions(options, initializeValues) {\n        const { \n        // De-structured to remove from restClientOptions\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        sdkKey, \n        // De-structured to remove from restClientOptions\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        updateUserCompletionCallback } = options, restClientOptions = __rest(options, [\"sdkKey\", \"updateUserCompletionCallback\"]);\n        return Object.assign(Object.assign(Object.assign({}, restClientOptions), { initializeValues, environment: {\n                tier: options.environment\n            }, disableCurrentPageLogging: true }), (options.updateUserCompletionCallback && {\n            updateUserCompletionCallback: FeatureGates.toStatsigUpdateUserCompletionCallback(options.updateUserCompletionCallback)\n        }));\n    }\n    /**\n     * This method transforms an UpdateUserCompletionCallback in our own format into the format accepted by the Statsig client.\n     *\n     * @param callback\n     * @private\n     */\n    static toStatsigUpdateUserCompletionCallback(callback) {\n        /**\n         * The duration passed to the callback indicates how long the update took, but it is deceptive since it only times the\n         * Statsig code and doesn't account for all of the extra custom work we do to obtain the bootstrap values.\n         * As a result, we just suppress this parameter in our own callback rather than trying to keep it accurate.\n         */\n        return (_duration, success, message) => {\n            callback(success, message);\n        };\n    }\n    static shallowEquals(objectA, objectB) {\n        if (!objectA && !objectB) {\n            return true;\n        }\n        if (!objectA || !objectB) {\n            return false;\n        }\n        const aEntries = Object.entries(objectA);\n        const bEntries = Object.entries(objectB);\n        if (aEntries.length !== bEntries.length) {\n            return false;\n        }\n        const ascendingKeyOrder = ([key1], [key2]) => key1.localeCompare(key2);\n        aEntries.sort(ascendingKeyOrder);\n        bEntries.sort(ascendingKeyOrder);\n        for (let i = 0; i < aEntries.length; i++) {\n            const [, aValue] = aEntries[i];\n            const [, bValue] = bEntries[i];\n            if (aValue !== bValue) {\n                return false;\n            }\n        }\n        return true;\n    }\n}\nFeatureGates.initPromise = null;\nFeatureGates.initCompleted = false;\nFeatureGates.hasGetExperimentErrorOccurred = false;\nFeatureGates.hasGetExperimentValueErrorOccurred = false;\nFeatureGates.hasCheckGateErrorOccurred = false;\nexports.default = FeatureGates;\n// This makes it possible to get a reference to the FeatureGates client at runtime.\n// This is important for overriding values in Cyprus tests, as there needs to be a\n// way to get the exact instance for a window in order to mock some of its methods.\nif (typeof window !== 'undefined') {\n    window.__FEATUREGATES_JS__ = FeatureGates;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FeatureGateEnvironment = void 0;\nvar FeatureGateEnvironment;\n(function (FeatureGateEnvironment) {\n    FeatureGateEnvironment[\"Development\"] = \"development\";\n    FeatureGateEnvironment[\"Staging\"] = \"staging\";\n    FeatureGateEnvironment[\"Production\"] = \"production\";\n})(FeatureGateEnvironment || (exports.FeatureGateEnvironment = FeatureGateEnvironment = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CLIENT_VERSION = void 0;\nexports.CLIENT_VERSION = \"4.7.1\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FeatureGatesInitialization = void 0;\nconst react_1 = require(\"react\");\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nconst utils_1 = require(\"./utils\");\n/**\n * This component initializes the @atlassian/feature-flag-js-client by fetching the gate and experiment\n * evaluations for the given user, and blocks rendering of the children until the rendering is complete.\n */\nconst FeatureGatesInitialization = ({ children, enabled = true, identifiers, customAttributes, options, initializingComponent, overrides, onReady }) => {\n    // Rather than checking the state of all overrides, we can just assume that if overrides are provided\n    // then some sort of update will need to be performed, and hold off rendering until the useEffect is run.\n    const [isInitialized, setInitialized] = (0, react_1.useState)(!overrides &&\n        (0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes));\n    // Use a ref for the options, so that we can use them within the following useEffect\n    // without adding options as a dependency.\n    // This avoids the user updating every time an option is changed.\n    const optionsRef = (0, react_1.useRef)(options);\n    (0, react_1.useEffect)(() => {\n        optionsRef.current = options;\n    }, [options]);\n    (0, react_1.useEffect)(() => {\n        if (enabled) {\n            if ((0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes)) {\n                (0, utils_1.applyOverrides)(overrides);\n                setInitialized(true);\n                onReady === null || onReady === void 0 ? void 0 : onReady();\n            }\n            else {\n                const initPromise = feature_gate_js_client_1.default.initializeCalled()\n                    ? feature_gate_js_client_1.default.updateUser(optionsRef.current, identifiers, customAttributes)\n                    : feature_gate_js_client_1.default.initialize(optionsRef.current, identifiers, customAttributes);\n                void initPromise\n                    .then(() => (0, utils_1.applyOverrides)(overrides))\n                    .catch((err) => (0, utils_1.toError)(err))\n                    .then((err) => {\n                    setInitialized(true);\n                    onReady === null || onReady === void 0 ? void 0 : onReady(err || undefined);\n                });\n            }\n        }\n        else {\n            setInitialized(true);\n            onReady === null || onReady === void 0 ? void 0 : onReady();\n        }\n        return () => (0, utils_1.clearOverrides)(overrides);\n    }, [enabled, identifiers, customAttributes, overrides]);\n    return (0, utils_1.pickChildToRender)(enabled, isInitialized, children, initializingComponent);\n};\nexports.FeatureGatesInitialization = FeatureGatesInitialization;\nexports.default = exports.FeatureGatesInitialization;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FeatureGatesInitializationWithDefaults = void 0;\nconst react_1 = require(\"react\");\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nconst utils_1 = require(\"./utils\");\n/**\n * This component initializes the @atlassian/feature-flag-js-client by fetching the gate and experiment\n * evaluations for the given user, and blocks rendering of the children until the rendering is complete.\n */\nconst FeatureGatesInitializationWithDefaults = ({ children, enabled = true, identifiers, customAttributes, options, overrides, onReady }) => {\n    // Rather than checking the state of all overrides, we can just assume that if overrides are provided\n    // then some sort of update will need to be performed, and hold off rendering until the useEffect is run.\n    const [isInitialized, setInitialized] = (0, react_1.useState)(!overrides &&\n        (0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes));\n    // Use a ref for the options, so that we can use them within the following useEffect\n    // without adding options as a dependency.\n    // This avoids the user updating every time an option is changed.\n    const optionsRef = (0, react_1.useRef)(options);\n    (0, react_1.useEffect)(() => {\n        optionsRef.current = options;\n    }, [options]);\n    (0, react_1.useEffect)(() => {\n        if (enabled) {\n            if ((0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes)) {\n                (0, utils_1.applyOverrides)(overrides);\n                setInitialized(true);\n                onReady === null || onReady === void 0 ? void 0 : onReady();\n            }\n            else {\n                setInitialized(false);\n                const initPromise = feature_gate_js_client_1.default.initializeCalled()\n                    ? feature_gate_js_client_1.default.updateUserWithValues(identifiers, customAttributes)\n                    : feature_gate_js_client_1.default.initializeFromValues(Object.assign({ sdkKey: 'client-default-key' }, (optionsRef.current || {})), identifiers, customAttributes);\n                void initPromise\n                    .then(() => (0, utils_1.applyOverrides)(overrides))\n                    .catch((err) => (0, utils_1.toError)(err))\n                    .then((err) => {\n                    setInitialized(true);\n                    onReady === null || onReady === void 0 ? void 0 : onReady(err || undefined);\n                });\n            }\n        }\n        else {\n            setInitialized(true);\n            onReady === null || onReady === void 0 ? void 0 : onReady();\n        }\n        return () => (0, utils_1.clearOverrides)(overrides);\n    }, [enabled, identifiers, customAttributes, overrides]);\n    return (0, utils_1.pickChildToRender)(enabled, isInitialized, children);\n};\nexports.FeatureGatesInitializationWithDefaults = FeatureGatesInitializationWithDefaults;\nexports.default = exports.FeatureGatesInitializationWithDefaults;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FeatureGatesInitializationWithValues = void 0;\nconst react_1 = require(\"react\");\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nconst utils_1 = require(\"./utils\");\n/**\n * This component initializes the @atlassian/feature-flag-js-client by fetching the gate and experiment\n * evaluations for the given user, and blocks rendering of the children until the rendering is complete.\n */\nconst FeatureGatesInitializationWithValues = ({ children, enabled = true, identifiers, customAttributes, options, initializeValues, overrides, onReady }) => {\n    // Rather than checking the state of all overrides, we can just assume that if overrides are provided\n    // then some sort of update will need to be performed, and hold off rendering until the useEffect is run.\n    const [isInitialized, setInitialized] = (0, react_1.useState)(!overrides &&\n        (0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes));\n    // Use a ref for the options, so that we can use them within the following useEffect\n    // without adding options as a dependency.\n    // This avoids the user updating every time an option is changed.\n    const optionsRef = (0, react_1.useRef)(options);\n    (0, react_1.useEffect)(() => {\n        optionsRef.current = options;\n    }, [options]);\n    (0, react_1.useEffect)(() => {\n        if (enabled) {\n            if ((0, utils_1.isClientAlreadyInCorrectState)(identifiers, customAttributes)) {\n                (0, utils_1.applyOverrides)(overrides);\n                setInitialized(true);\n                onReady === null || onReady === void 0 ? void 0 : onReady();\n            }\n            else {\n                setInitialized(false);\n                const initPromise = feature_gate_js_client_1.default.initializeCalled()\n                    ? feature_gate_js_client_1.default.updateUserWithValues(identifiers, customAttributes, initializeValues)\n                    : feature_gate_js_client_1.default.initializeFromValues(optionsRef.current, identifiers, customAttributes, initializeValues);\n                void initPromise\n                    .then(() => (0, utils_1.applyOverrides)(overrides))\n                    .catch((err) => (0, utils_1.toError)(err))\n                    .then((err) => {\n                    setInitialized(true);\n                    onReady === null || onReady === void 0 ? void 0 : onReady(err || undefined);\n                });\n            }\n        }\n        else {\n            setInitialized(true);\n            onReady === null || onReady === void 0 ? void 0 : onReady();\n        }\n        return () => (0, utils_1.clearOverrides)(overrides);\n    }, [enabled, identifiers, customAttributes, initializeValues, overrides]);\n    return (0, utils_1.pickChildToRender)(enabled, isInitialized, children);\n};\nexports.FeatureGatesInitializationWithValues = FeatureGatesInitializationWithValues;\nexports.default = exports.FeatureGatesInitializationWithValues;\n","\"use strict\";\nvar __createBinding = (this && this.__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 = { enumerable: true, get: function() { return m[k]; } };\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}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./FeatureGatesInitialization\"), exports);\n__exportStar(require(\"./FeatureGatesInitializationWithDefaults\"), exports);\n__exportStar(require(\"./FeatureGatesInitializationWithValues\"), exports);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clearOverrides = exports.applyOverrides = exports.toError = exports.pickChildToRender = exports.isClientAlreadyInCorrectState = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nlet hasWarnedAboutMissingOverrideSupport = false;\nfunction isClientAlreadyInCorrectState(identifiers, customAttributes) {\n    var _a, _b;\n    // If either of these methods don't exist (ie. if the product is using <v4.2.0), then this method will always return false\n    return (((_a = feature_gate_js_client_1.default.initializeCompleted) === null || _a === void 0 ? void 0 : _a.call(feature_gate_js_client_1.default)) &&\n        ((_b = feature_gate_js_client_1.default.isCurrentUser) === null || _b === void 0 ? void 0 : _b.call(feature_gate_js_client_1.default, identifiers, customAttributes)));\n}\nexports.isClientAlreadyInCorrectState = isClientAlreadyInCorrectState;\nfunction pickChildToRender(enabled, isInitialized, children, initializingComponent) {\n    if (!enabled || isInitialized) {\n        return react_1.default.createElement(react_1.default.Fragment, null, children);\n    }\n    if (initializingComponent != null) {\n        return react_1.default.createElement(react_1.default.Fragment, null, initializingComponent);\n    }\n    return null;\n}\nexports.pickChildToRender = pickChildToRender;\nfunction toError(err) {\n    if (err instanceof Error) {\n        return err;\n    }\n    return new Error(err === null || err === void 0 ? void 0 : err.toString());\n}\nexports.toError = toError;\nfunction applyOverrides(overrides) {\n    // Allow newer versions of the React SDK to be used with older v3.x JS client versions,\n    // provided the caller does not try to leverage the overrides which were introduced in v4.\n    if (overrides &&\n        (!feature_gate_js_client_1.default.overrideGate || !feature_gate_js_client_1.default.overrideConfig)) {\n        if (!hasWarnedAboutMissingOverrideSupport) {\n            console.warn('Overrides are only supported in @atlassian/feature-gate-js-client v4.0.0+');\n            hasWarnedAboutMissingOverrideSupport = true;\n        }\n        return;\n    }\n    Object.entries((overrides === null || overrides === void 0 ? void 0 : overrides.gates) || {}).forEach(([gateName, value]) => {\n        var _a;\n        (_a = feature_gate_js_client_1.default.overrideGate) === null || _a === void 0 ? void 0 : _a.call(feature_gate_js_client_1.default, gateName, value);\n    });\n    Object.entries((overrides === null || overrides === void 0 ? void 0 : overrides.configs) || {}).forEach(([configName, values]) => {\n        var _a;\n        (_a = feature_gate_js_client_1.default.overrideConfig) === null || _a === void 0 ? void 0 : _a.call(feature_gate_js_client_1.default, configName, values);\n    });\n}\nexports.applyOverrides = applyOverrides;\nfunction clearOverrides(overrides) {\n    Object.keys((overrides === null || overrides === void 0 ? void 0 : overrides.gates) || {}).forEach((gateName) => {\n        var _a;\n        (_a = feature_gate_js_client_1.default.clearGateOverride) === null || _a === void 0 ? void 0 : _a.call(feature_gate_js_client_1.default, gateName);\n    });\n    Object.keys((overrides === null || overrides === void 0 ? void 0 : overrides.configs) || {}).forEach((configName) => {\n        var _a;\n        (_a = feature_gate_js_client_1.default.clearConfigOverride) === null || _a === void 0 ? void 0 : _a.call(feature_gate_js_client_1.default, configName);\n    });\n}\nexports.clearOverrides = clearOverrides;\n"],"names":["ContextTypes","getAtlaskitAnalyticsEventHandlers","getAtlaskitAnalyticsContext","noop","AnalyticsListener","Component","constructor","props","super","this","getAnalyticsEventHandlers","channel","onEvent","context","event","eventChannel","contextValue","render","children","value","analyticsContext","useAnalyticsContext","onEventRef","useTrackedRef","channelRef","useCallback","current","useMemo","_process$env","ModernAnalyticsListener","LegacyAnalyticsListener","useContext","ref","useRef","_ref","_process","_process2","_process2$env","DEBUG_MODE","undefined","globalThis","process","env","JEST_WORKER_ID","NODE_ENV","debug","args","console","pkgName","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","Map","booleanResolver","flagKey","globalVar","window","getBooleanFF","name","_globalVar$PFF_GLOBAL3","result","warn","e","CHANNEL","DEFAULT_THEME_MODE","THEME_MODES","getTheme","theme","includes","mode","themed","modesOrVariant","variantModes","variantProp","variants","modes","R300","Y300","G300","B200","B400","N0","N200","N800","DN600","DN300","DN50","light","dark","Provider","Consumer","useTheme","defaultGetTokens","emptyThemeFn","getTokens","ThemeContext","createContext","themeProps","tokens","themeFn","valueFn","mixedFn","createTheme","presetSizes","xsmall","small","medium","large","xlarge","rotate","keyframes","to","transform","rotateStyles","css","animation","animationTimingFunction","transformOrigin","loadIn","from","opacity","strokeDashoffset","loadInStyles","animationFillMode","wrapperStyles","display","verticalAlign","circleStyles","fill","strokeDasharray","strokeLinecap","strokeWidth","filter","stroke","testId","appearance","delay","size","providedSize","animationDelay","getStrokeColor","jsx","style","width","height","viewBox","xmlns","cx","cy","r","_interopRequireDefault","exports","__esModule","element","className","classList","add","_hasClass","default","setAttribute","baseVal","module","contains","indexOf","replaceClassName","origClass","classToRemove","replace","RegExp","remove","obj","newObj","key","Object","prototype","hasOwnProperty","call","desc","defineProperty","getOwnPropertyDescriptor","get","set","_interopRequireWildcard","_addClass","_removeClass","_react","_Transition","_extends","assign","target","i","arguments","length","source","apply","addClass","node","classes","split","forEach","c","removeClass","CSSTransition","_React$Component","subClass","superClass","_this","_len","Array","_key","concat","onEnter","appearing","getClassNames","removeClasses","onEntering","activeClassName","reflowAndAddClass","onEntered","appearClassName","doneClassName","enterClassName","onExit","onExiting","onExited","type","classNames","isStringClassNames","create","__proto__","_proto","_this$getClassNames6","scrollTop","createElement","defaultProps","propTypes","_default","_reactDom","_TransitionGroup","ReplaceTransition","_args","handleEnter","_len2","_key2","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","handleExit","_len5","_key5","handleExiting","_len6","_key6","handleExited","_len7","_key7","handler","idx","originalArgs","_child$props","child","Children","toArray","findDOMNode","_this$props","inProp","in","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","_React$Children$toArr","first","second","cloneElement","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","PropTypes","_reactLifecyclesCompat","Transition","initialStatus","parentGroup","transitionGroup","appear","isMounting","enter","appearStatus","unmountOnExit","mountOnEnter","state","status","nextCallback","getChildContext","getDerivedStateFromProps","prevState","componentDidMount","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","timeout","mounting","performEnter","performExit","setState","_this2","timeouts","enterTimeout","safeSetState","onTransitionEnd","_this3","cancel","nextState","callback","setNextCallback","_this4","active","doesNotHaveTimeoutOrListener","addEndListener","setTimeout","childProps","only","contextTypes","object","childContextTypes","polyfill","_propTypes","_ChildMapping","_assertThisInitialized","self","ReferenceError","values","map","k","TransitionGroup","bind","firstRender","appeared","mounted","nextProps","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","component","childFactory","isRequired","_CSSTransition","_ReplaceTransition","mergeChildMappings","getProp","nextChildMapping","isValidElement","hasPrev","hasNext","prevChild","isLeaving","mapFn","mapper","prev","next","getValueForKey","nextKeysPending","pendingKeys","prevKey","push","childMapping","nextKey","pendingNextKey","prop","classNamesShape","timeoutsShape","componentWillMount","componentWillReceiveProps","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","defaultLogoParams","N100","N400","N900","getColorsFromAppearance","iconGradientStart","iconGradientStop","iconColor","textColor","atlassianLogoTextColor","cache","serialized","isStringTag","registered","styles","EmotionCacheContext","HTMLElement","func","forwardRef","typePropName","Insertion","inserted","insert","sheet","Emotion$1","cssProp","WrappedComponent","registeredStyles","rawClassName","newProps","argsLength","createElementArgArray","createEmotionProps","CSS_VAR_COLOR","CSS_VAR_FILL","baseWrapperStyles","position","color","lineHeight","userSelect","whiteSpace","stopColorStyles","stop","stopColor","sizeStyles","entries","reduce","acc","val","label","svg","userDefinedTestId","rest","shouldApplyStopColor","role","dangerouslySetInnerHTML","__html","colors","id","uid","JiraSoftwareLogo","JiraServiceDeskLogo","JiraServiceManagementLogo","ConfluenceLogo","BitbucketLogo","extendStatics","d","b","setPrototypeOf","p","__extends","__","__assign","t","s","n","__rest","getOwnPropertySymbols","propertyIsEnumerable","__read","o","m","Symbol","iterator","ar","done","error","__spread","__makeTemplateObject","cooked","raw","safeIsNaN","Number","isNaN","areInputsEqual","newInputs","lastInputs","_super","AnalyticsContext","getAnalyticsContext","data","UIAnalyticsEvent","clone","hasFired","handlers","payload","JSON","parse","stringify","fire","update","updater","AnalyticsEvent","AnalyticsContextConsumer","originalEventProps","patchedEventProps","updatePatchedEventProps","changedPropCallbacks","createEventMap","mapCreateEventsToProps","changedPropNames","modified","propCallbackName","_a","eventCreator","providedCallback","_i","analyticsEvent","createAnalyticsEvent","wrappedComponentProps","__ATLASKIT_THEME__","mapAttributesToState","_b","isDisabled","_c","isActive","_d","isFocus","_e","isHover","_f","isSelected","getLoadingStyle","isLoading","transition","composeRefs","refs","x","hex2rgba","hex","alpha","test","colorArr","substring","join","compactButtonHeight","buttonHeight","getBackground","applyPropertyStyle","baseTheme","getBoxShadow","getColor","getHeight","spacing","getLineHeight","getPadding","getTextDecoration","getTransition","getTransitionDuration","getVerticalAlign","getWidth","shouldFitContainer","staticStyles","alignItems","borderWidth","boxSizing","fontSize","fontStyle","fontWeight","maxWidth","outline","textAlign","textDecoration","fallbacks","background","hover","disabled","selected","focusSelected","primary","warning","danger","link","subtle","boxShadowColor","focus","property","propertyStyles","appearanceStyles","stateStyles","buttonStyles","borderRadius","boxShadow","cursor","padding","transitionDuration","border","margin","pointerEvents","spinnerStyles","left","top","followsIcon","alignSelf","flex","overflow","textOverflow","fit","flexWrap","justifyContent","icon","isOnlyChild","flexShrink","SIZES_MAP","DEFAULT_SIZE","keyframeNames","templateObject_1","enterRotate","templateObject_2","leaveRotate","templateObject_3","leaveOpacity","templateObject_4","getSize","Container","templateObject_8","phase","templateObject_5","templateObject_6","templateObject_7","getStrokeWidth","Math","round","getStrokeCircumference","strokeRadius","PI","enterOpacity","smallEnterStroke","mediumEnterStroke","largeEnterStroke","xlargeEnterStroke","spinnerColor","spinnerColorInverted","invertColor","svgStyles","templateObject_12","circumference","templateObject_11","animProps","baseAnimation","templateObject_9","standardSizeName","find","sizeName","getEnterStrokeKeyframe","templateObject_10","Svg","templateObject_13","Outer","Spinner","transitionNode","idle","endListener","executeCallback","tagName","removeEventListener","addEventListener","validateSize","spinnerSize","isCompleting","onComplete","focusable","appearances","LoadingSpinner","invertSpinner","Button","button","getComposedRefs","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","isInteractive","onMouseEnter","onMouseLeave","onMouseDown","preventDefault","onMouseUp","onFocus","onBlur","getElement","href","onInnerClick","stopPropagation","autoFocus","HTMLButtonElement","CustomComponent","consumerRef","iconAfter","iconBefore","_g","_h","attributes","StyledButton","iconIsOnlyChild","filterProps","InnerWrapper","onClick","IconWrapper","Content","createAndFireEventOnAtlaskit","consumerEvent","clonedEvent","ButtonWithRef","defaultData","packageName","packageVersion","WithAnalyticsContext","analyticsData","action","actionSubject","WithAnalyticsEvents","EctlRecord","Product","ProductName","ProductDescription","CurrentLicense","CurrentLicenseDescription","EctlDescription","EctlExpiration","CtaButton","ectlListCss","ID_PREFIX","messages","supportExpirationDate","defaultMessage","installTypeServer","installTypeDc","numberOfSeatsUnitUsers","numberOfSeatsUnitAgents","ectlWillLastUntil","ectlExpiresInTwoMonths","claimedEctlExpiresOn","purchaseTypeCommercialLic","purchaseTypeAcademicLic","purchaseTypeCommercialSub","purchaseTypeAcademicSub","ctaButtonText","LICENSE_TYPE_COMMERCIAL","LICENSE_TYPE_ACADEMIC","INSTALL_TYPE_SERVER","INSTALL_TYPE_DC","getStyleForEctlElig","transformedEctlRecord","ectlExpirationDate","backgroundColor","EctlRecordComponent","originalEctlRecord","activateTrialBaseUrl","activateUrlParameterKeys","handleSelectedEctlIdChanged","selectedEctlId","intl","activateOneYearCloudTrial","radioInputRef","installType","numberOfSeats","numberOfSeatsUnit","purchaseType","supportEntitlementNumber","available","migrationSourceUuid","bundleKey","entitlementKey","currentUrlParams","URLSearchParams","location","search","activateUrlParams","param","has","activateTrialUrl","toString","licenseType","toUpperCase","formatMessage","match","transformEctlRecordData","checked","theDate","formatDate","Date","ectlExpirationMessage","suppExpDateAsStr","suppExpDateAsIntlDate","now","setHours","suppExpDateAsDate","ectlExpDateAsDate","aDayInMilliSecs","aYearInMilliSecs","timeNumNow","getTime","timeNumExp","valueOf","setMilliseconds","getMilliseconds","ectlExpDateAsDateFmtd","generateEctlExpirationMessage","eligibleSectionHeader","claimedSectionHeader","noActiveRecordsMessage","multiEctlInstructions","ineligibleParOne","ineligibleParTwo","ineligibleParThree","ineligibleParFourContactUsLinkText","loginVerbiage","loginVerbiageLinkText","EctlListComponent","ectlRecords","contactUsUrl","isLoggedIn","loginUrl","isBitbucketEnabled","setSelectedEctlId","useState","newValue","sortedOutRecords","jiraEligRecords","jsdEligRecords","jsmEligRecords","confEligRecords","bitbucketEligRecords","jiraClaimedRecords","jsdClaimedRecords","jsmClaimedRecords","confClaimedRecords","bitbucketClaimedRecords","gate","elem","sortOutRecords","emptyEligRecords","emptyClaimedRecords","logoProps","EctlList","StyledP","Fragment","loginCtaHtml","Loading","styled","_templateObject","UTM_WHITE_LIST","sendAnalytics","analytic","eventName","eventPayload","tracking","log","_storage$getCookie","contentCopy","ectlListConfig","_useState2","_slicedToArray","setIsLoading","_useState4","ectlLicenses","setEctlLicenses","_useState6","setIsLoggedIn","isv2","enableV2LicensesEndpoint","getEnvironment","Environment","apiKey","environment","FeatureGateEnvironment","atlassianAccountId","storage","useEffect","v2","fetch","method","credentials","headers","then","response","ok","Promise","resolve","json","entitlements","reject","res","React","FeatureGatesInitialization","options","targetApp","identifiers","customAttributes","platform","locale","document","documentElement","lang","IntlProvider","showJSMLicenses","jsmLogoPathSrc","errors_1","types_1","version_1","Fetcher","static","fetcherOptions","url","fetchRequest","requestBody","body","text","ResponseError","serviceEnv","useGatewayUrl","Development","Staging","path","baseUrl","getBaseUrl","useGatewayURL","fetchTimeout","fetchTimeoutMs","abortSignal","AbortSignal","AbortController","abortController","signal","abort","CLIENT_VERSION","handleResponseError","extractResponseBody","message","__importDefault","mod","Fetcher_1","enumerable","__createBinding","k2","writable","configurable","__setModuleDefault","v","__importStar","__exportStar","EvaluationReason","DynamicConfig","statsig_js_lite_1","statsig_js_lite_2","fetcher_1","DEFAULT_CLIENT_KEY","FeatureGates","clientOptions","initPromise","shallowEquals","initOptions","init","initCompleted","initializeValues","initFromValues","fetchOptions","updateUserUsingInitializeValuesProducer","fetchExperimentValues","experimentValues","customAttributesFromFetch","gateName","checkGate","hasCheckGateErrorOccurred","msg","experimentName","fireExperimentExposure","getExperiment","getExperimentWithExposureLoggingDisabled","hasGetExperimentErrorOccurred","time","reason","parameterName","defaultValue","experiment","typeGuard","hasGetExperimentValueErrorOccurred","manuallyLogExperimentExposure","shutdown","overrideGate","overrideConfig","overrides","setOverrides","gates","configs","layers","currentIdentifiers","currentAttributes","fromValuesClientOptions","disableCurrentPageLogging","customAttributesFromResult","clientSdkKeyPromise","fetchClientSdk","sdkKey","clientSdkKey","experimentValuesPromise","experimentValuesResult","all","user","toStatsigUser","eventLoggingApi","statsigOptions","toStatsigOptions","initialize","customIDs","custom","userID","getInitializeValues","isCurrentUser","originalInitPromise","err","initializeValuesPromise","updateUserPromise","updateStatsigClientUser","catch","errMsg","updateUserCompletionCallback","updateUserWithValues","restClientOptions","tier","toStatsigUpdateUserCompletionCallback","_duration","success","objectA","objectB","aEntries","bEntries","ascendingKeyOrder","key1","key2","localeCompare","sort","aValue","bValue","__FEATUREGATES_JS__","react_1","feature_gate_js_client_1","utils_1","enabled","initializingComponent","onReady","isInitialized","setInitialized","isClientAlreadyInCorrectState","optionsRef","applyOverrides","initializeCalled","updateUser","toError","clearOverrides","pickChildToRender","FeatureGatesInitializationWithDefaults","initializeFromValues","FeatureGatesInitializationWithValues","hasWarnedAboutMissingOverrideSupport","initializeCompleted","configName","clearGateOverride","clearConfigOverride"],"sourceRoot":""}