{"version":3,"file":"chunks/f3a9e1aa84a4b2.js","mappings":"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,IAAM,kBCdnC,IAAIC,EAAM,CACT,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,cAAe,CACd,MACA,KAED,iBAAkB,CACjB,MACA,KAED,OAAQ,CACP,KACA,MAED,UAAW,CACV,KACA,MAED,OAAQ,CACP,MACA,KAED,UAAW,CACV,MACA,KAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,KAED,UAAW,CACV,MACA,KAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,KACA,MAED,aAAc,CACb,KACA,OAGF,SAASC,EA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IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,SAAU,CACN,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,SAAU,CACN,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,QAAS,CACL,IACA,KACA,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,GAAM,CACF,KACA,IACA,IACA,MAEJ,QAAS,CACL,KACA,IACA,KACA,KAEJ,GAAM,CACF,KACA,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IACpBA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,KAAUA,GAAK,KACf,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,KACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,KAC7B,CEvvCA,SAASkb,GAAcC,GACnBA,EAAIxsB,SAAQ,SAAU4d,GAElB,UADOA,EAAGuI,SACN7H,EAAgBV,IAAOY,EAAgBZ,GACvC,IAAK,IAAIzd,KAAKyd,EAAGtW,eACNsW,EA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WAAY,WAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,QAAY,UAAY,UAAY,WAAY,UAChD,WAAY,WAAY,WAAY,WAAY,WAChD,UAAY,SAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,UAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,WAAY,WAChD,SAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,SAAY,UAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,SAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,UAAY,UAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,UAAY,UAChD,WAAY,WAAY,WAAY,WAAY,UAChD,UAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,UAAY,WAAY,UAAY,UAAY,UAChD,WAAY,UAAY,WAAY,UAAY,WAChD,WAAY,SAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,UAAY,UAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,SAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,UAAY,UAAY,WAAY,WAAY,UAChD,WAAY,SAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,UAAY,UAAY,UAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,UAChD,WAAY,WAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,UAChD,UAAY,WAAY,UAAY,UAAY,UAChD,UAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,UAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,SAAY,WAChD,UAAY,WAAY,WAAY,WAAY,WAChD,UAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,UAChD,UAAY,WAAY,UAAY,WAAY,UAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,SAAY,WAAY,SAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,UAAY,UAChD,SAAY,WAAY,WAAY,WAAY,UAChD,UAAY,WAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,UAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,UAAY,UAAY,UAAY,WAAY,UAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,QAChD,UAAY,UAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,UAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,UAAY,SAAY,WAChD,SAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,SAAY,SAAY,WAAY,WAChD,WAAY,WAAY,UAAY,UAAY,WAChD,UAAY,WAAY,WAAY,SAAY,WAChD,UAAY,WAAY,WAAY,WAAY,WAChD,UAAY,UAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UA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,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG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,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,GAAI,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG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AS,SAAS,IAAS,UAAU,IAAS,QAAQ,KAAe,SAAS,IAAS,QAAQ,KAAe,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,QAAQ,IAAS,SAAS,KAAe,UAAU,IAAS,SAAS,IAAS,OAAO,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,UAAU,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,OAAO,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,MAAM,IAAS,OAAO,IAAS,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,KAAK,KAAe,MAAM,IAAS,KAAK,KAAe,MAAM,KAAe,OAAO,IAAS,MAAM,IAAS,MAAM,KAAe,OAAO,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,QAAQ,IAAS,SAAS,IAAS,QAAQ,IAAS,UAAU,KAAe,WAAW,IAAS,UAAU,IAAS,UAAU,IAAS,QAAQ,KAAe,SAAS,IAAS,OAAO,IAAS,OAAO,IAAS,MAAM,IAAS,UAAU,IAAS,UAAU,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,OAAO,IAAS,WAAW,IAAS,WAAW,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IAAS,SAAS,IA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AAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,OAAO,EAAS,SAAS,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,EAAS,OAAO,EAAS,KAAK,EAAS,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,IAAS,KAAK,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,IAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAO,SAAS,EAAS,SAAS,EAAS,SAAS,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAO,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,EAAS,QAAQ,EAAS,QAAQ,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,GAAe,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAO,SAAS,EAAO,SAAS,EAAS,QAAQ,EAAS,QAAQ,EAAO,OAAO,EAAS,OAAO,GAAe,OAAO,GAAe,MAAM,GAAe,OAAO,EAAS,MAAM,EAAS,OAAO,GAAe,OAAO,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAO,QAAQ,EAAO,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,QAAQ,EAAS,UAAU,EAAS,SAAS,EAAS,SAAS,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,SAAS,EAAS,QAAQ,EAAS,SAAS,EAAS,SAAS,EAAS,KAAK,EAAO,QAAQ,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,KAAK,EAAS,UAAU,EAAS,UAAU,EAAS,KAAK,EAAS,MAAM,EAAS,KAAK,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,UAAU,EAAS,OAAO,EAAS,MAAM,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,OAAO,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,QAAQ,EAAS,QAAQ,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,SAAS,EAAS,SAAS,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,OAAO,EAAS,OAAO,EAAS,MAAM,EAAS,MAAM,EAAS,MAAM,EAAS,M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","sources":["webpack:///./node_modules/@atlaskit/analytics-gas-types/dist/es2019/index.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/LegacyAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/index.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/ModernAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/dist/es2019/helper/createNamespaceContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/dist/es2019/NavigationAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/dist/es2019/FabricElementsAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/dist/es2019/FabricEditorAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/dist/es2019/PeopleTeamsAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/dist/es2019/NotificationsAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/dist/es2019/RecentWorkAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/dist/es2019/AtlasAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-namespaced-context/dist/es2019/LinkingPlatformAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next-stable-react-context/dist/es2019/context.js","webpack:///./node_modules/@atlaskit/analytics-next-stable-react-context/dist/es2019/index.js","webpack:///./node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlaskit/icon/glyph/app-switcher.js","webpack:///./node_modules/@atlaskit/item/dist/esm/styled/Item.js","webpack:///./node_modules/@atlaskit/item/dist/esm/styled/ItemParts.js","webpack:///./node_modules/@atlaskit/item/dist/esm/components/Item.js","webpack:///./node_modules/@atlaskit/item/dist/esm/util/theme.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/i18n/ lazy ^\\.\\/.*$ include: \\.js$ exclude: index\\.js$ chunkName: @ak-switcher-chunk-locale-[request] namespace object","webpack:///./node_modules/@atlassian/switcher/dist/es2019/i18n/ lazy ^\\.\\/.*_.*$ include: \\.js$ exclude: index\\.js$ chunkName: @ak-switcher-chunk-locale-[request] namespace object","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/analytics-next/dist/es2019/hocs/withAnalyticsEvents.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePatchedProps.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/theme/dist/es2019/typography.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@emotion/react/dist/emotion-element-6a883da9.browser.esm.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/asc-core/node_modules/cookie/index.js","webpack:///./node_modules/@emotion/cache/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/@emotion/cache/node_modules/stylis/src/Utility.js","webpack:///./node_modules/@emotion/cache/node_modules/stylis/src/Tokenizer.js","webpack:///./node_modules/@emotion/cache/node_modules/stylis/src/Enum.js","webpack:///./node_modules/@emotion/cache/node_modules/stylis/src/Serializer.js","webpack:///./node_modules/@emotion/cache/node_modules/stylis/src/Parser.js","webpack:///./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/@emotion/cache/node_modules/stylis/src/Middleware.js","webpack:///./node_modules/@emotion/core/node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack:///./node_modules/@emotion/core/node_modules/@emotion/cache/dist/cache.browser.esm.js","webpack:///./node_modules/@emotion/core/node_modules/@emotion/utils/dist/utils.browser.esm.js","webpack:///./node_modules/@emotion/core/node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack:///./node_modules/@emotion/core/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/@emotion/core/node_modules/@emotion/serialize/dist/serialize.browser.esm.js","webpack:///./node_modules/@emotion/core/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/core/dist/emotion-element-04d85134.browser.esm.js","webpack:///./node_modules/@emotion/core/dist/core.browser.esm.js","webpack:///./node_modules/@emotion/css/node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack:///./node_modules/@emotion/css/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/@emotion/css/node_modules/@emotion/serialize/dist/serialize.browser.esm.js","webpack:///./node_modules/@emotion/css/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/css/dist/css.browser.esm.js","webpack:///./node_modules/@emotion/serialize/node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack:///./node_modules/@emotion/serialize/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack:///./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","webpack:///./node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack:///./node_modules/@emotion/sheet/dist/sheet.browser.esm.js","webpack:///./node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","webpack:///./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@formatjs/ecma402-abstract/lib/utils.js","webpack:///./node_modules/@formatjs/fast-memoize/lib/index.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/error.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/types.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","webpack:///./node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","webpack:///./node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","webpack:///./node_modules/@formatjs/icu-skeleton-parser/lib/number.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","webpack:///./node_modules/@formatjs/icu-messageformat-parser/lib/index.js","webpack:///./node_modules/@formatjs/intl/lib/src/error.js","webpack:///./node_modules/@formatjs/intl/lib/src/utils.js","webpack:///./node_modules/@formatjs/intl/node_modules/intl-messageformat/lib/src/formatters.js","webpack:///./node_modules/@formatjs/intl/node_modules/intl-messageformat/lib/src/core.js","webpack:///./node_modules/@formatjs/intl/node_modules/intl-messageformat/lib/src/error.js","webpack:///./node_modules/bcryptjs/dist/bcrypt.js","webpack:///./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack:///./node_modules/deepmerge/dist/cjs.js","webpack:///./node_modules/dom-serializer/lib/foreignNames.js","webpack:///./node_modules/dom-serializer/lib/index.js","webpack:///./node_modules/domelementtype/lib/index.js","webpack:///./node_modules/domhandler/lib/index.js","webpack:///./node_modules/domhandler/lib/node.js","webpack:///./node_modules/domutils/lib/feeds.js","webpack:///./node_modules/domutils/lib/helpers.js","webpack:///./node_modules/domutils/lib/index.js","webpack:///./node_modules/domutils/lib/legacy.js","webpack:///./node_modules/domutils/lib/manipulation.js","webpack:///./node_modules/domutils/lib/querying.js","webpack:///./node_modules/domutils/lib/stringify.js","webpack:///./node_modules/domutils/lib/traversal.js","webpack:///./node_modules/entities/lib/decode.js","webpack:///./node_modules/entities/lib/decode_codepoint.js","webpack:///./node_modules/entities/lib/encode.js","webpack:///./node_modules/entities/lib/escape.js","webpack:///./node_modules/entities/lib/generated/decode-data-html.js","webpack:///./node_modules/entities/lib/generated/decode-data-xml.js","webpack:///./node_modules/entities/lib/generated/encode-html.js","webpack:///./node_modules/entities/lib/index.js","webpack:///./node_modules/fbjs/lib/hyphenate.js","webpack:///./node_modules/fbjs/lib/hyphenateStyleName.js","webpack:///./node_modules/he/he.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/htmlparser2/lib/Parser.js","webpack:///./node_modules/htmlparser2/lib/Tokenizer.js","webpack:///./node_modules/htmlparser2/lib/index.js","webpack:///./node_modules/intl-messageformat-parser/index.js","webpack:///./node_modules/intl-messageformat-parser/lib/parser.js","webpack:///./node_modules/intl-relativeformat/index.js","webpack:///./node_modules/intl-relativeformat/lib/core.js","webpack:///./node_modules/intl-relativeformat/lib/diff.js","webpack:///./node_modules/intl-relativeformat/lib/en.js","webpack:///./node_modules/intl-relativeformat/lib/es5.js","webpack:///./node_modules/intl-relativeformat/lib/main.js","webpack:///./node_modules/intl-relativeformat/node_modules/intl-messageformat/index.js","webpack:///./node_modules/intl-relativeformat/node_modules/intl-messageformat/lib/compiler.js","webpack:///./node_modules/intl-relativeformat/node_modules/intl-messageformat/lib/core.js","webpack:///./node_modules/intl-relativeformat/node_modules/intl-messageformat/lib/en.js","webpack:///./node_modules/intl-relativeformat/node_modules/intl-messageformat/lib/es5.js","webpack:///./node_modules/intl-relativeformat/node_modules/intl-messageformat/lib/main.js","webpack:///./node_modules/intl-relativeformat/node_modules/intl-messageformat/lib/utils.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/parse-srcset/src/parse-srcset.js","webpack:///./node_modules/picocolors/picocolors.browser.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/react-intl-next/lib/src/components/injectIntl.js","webpack:///./node_modules/@formatjs/intl/lib/src/message.js","webpack:///./node_modules/@formatjs/intl/lib/src/number.js","webpack:///./node_modules/@formatjs/intl/lib/src/relativeTime.js","webpack:///./node_modules/@formatjs/intl/lib/src/dateTime.js","webpack:///./node_modules/@formatjs/intl/lib/src/plural.js","webpack:///./node_modules/@formatjs/intl/lib/src/list.js","webpack:///./node_modules/@formatjs/intl/lib/src/displayName.js","webpack:///./node_modules/react-intl-next/node_modules/intl-messageformat/lib/src/formatters.js","webpack:///./node_modules/react-intl-next/lib/src/components/provider.js","webpack:///./node_modules/@formatjs/intl/lib/src/create-intl.js","webpack:///./node_modules/react-intl-next/lib/src/utils.js","webpack:///./node_modules/intl-format-cache/lib/index.js","webpack:///./node_modules/react-intl/lib/index.es.js","webpack:///./node_modules/react-intl/node_modules/intl-messageformat/index.js","webpack:///./node_modules/react-intl/node_modules/intl-messageformat/lib/compiler.js","webpack:///./node_modules/react-intl/node_modules/intl-messageformat/lib/core.js","webpack:///./node_modules/react-intl/node_modules/intl-messageformat/lib/en.js","webpack:///./node_modules/react-intl/node_modules/intl-messageformat/lib/es5.js","webpack:///./node_modules/react-intl/node_modules/intl-messageformat/lib/main.js","webpack:///./node_modules/react-intl/node_modules/intl-messageformat/lib/utils.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/react-loadable/lib/index.js","webpack:///./node_modules/react-uid/dist/es2015/uid.js","webpack:///./node_modules/react/cjs/react.production.min.js","webpack:///./node_modules/react/index.js","webpack:///./node_modules/sanitize-html/index.js","webpack:///./node_modules/sanitize-html/node_modules/escape-string-regexp/index.js","webpack:///./node_modules/sanitize-html/node_modules/is-plain-object/dist/is-plain-object.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/at-rule.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/comment.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/container.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/css-syntax-error.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/declaration.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/document.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/fromJSON.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/input.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/lazy-result.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/list.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/map-generator.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/no-work-result.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/node.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/parse.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/parser.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/postcss.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/previous-map.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/processor.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/result.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/root.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/rule.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/stringifier.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/stringify.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/symbols.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/tokenize.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/warn-once.js","webpack:///./node_modules/sanitize-html/node_modules/postcss/lib/warning.js","webpack:///./node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/scheduler/index.js","webpack:///./node_modules/@atlassian/bxp-product-pricing/src/models/pricing-period.ts","webpack:///./node_modules/@atlassian/bxp-product-pricing/src/models/pricing-breakdown.ts","webpack:///./node_modules/@atlassian/bxp-product-pricing/src/utils/pricing-tier.ts","webpack:///./node_modules/@atlassian/bxp-product-pricing/src/utils/sanitize-pricing-plans.ts","webpack:///./node_modules/@atlassian/bxp-product-pricing/src/utils/ccp-to-hams-pricing-plan-converter.ts","webpack:///./node_modules/@atlassian/bxp-product-pricing/src/utils/marginal-per-unit.ts","webpack:///./node_modules/@atlassian/bxp-product-pricing/src/pricing-calculator.ts","webpack:///./node_modules/@atlassian/bxp-product-pricing/src/product-pricing-store.ts","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/providers/as-data-provider.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/providers/create-data-provider.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/providers/default-available-products-provider.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/constants.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/utils.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/wrapper.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/bitbucket-logo/icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/confluence-logo/icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/jira-work-management-logo/icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/compass-logo/icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/atlassian-logo/icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/new-icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/statuspage-logo/icon.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/logo/dist/es2019/trello-logo/icon.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/providers/product-configuration-provider.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/get-metric-bucket.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/analytics/index.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/analytics-next/dist/es2019/utils/createAndFireEvent.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/error-to-reason.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/errors/fetch-error.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/errors/user-site-data-error.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/fetch.js","webpack:///./node_modules/@atlassian/switcher/node_modules/@atlaskit/theme/dist/es2019/elevation.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/icon-themes.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/messages.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/performance-now.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/retry-operation.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/common/utils/with-cached.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/cross-join/providers/default-joinable-sites-provider.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/ui/components/intl-provider.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/ui/components/loaders.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/ui/primitives/fade-in.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/ui/primitives/formatted-message.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/ui/primitives/item.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/ui/primitives/section.js","webpack:///./node_modules/@atlassian/switcher/dist/es2019/ui/primitives/skeleton.js","webpack:///./node_modules/@atlassiansox/asc-core/src/errors/unsuccessful-fetch-error.ts","webpack:///./node_modules/@atlassiansox/asc-core/src/utils/cookies.ts","webpack:///./node_modules/@atlassiansox/bxp-shared-utils/src/undefined.ts","webpack:///./node_modules/@atlassiansox/asc-core/src/utils/headers.ts","webpack:///./node_modules/@atlassiansox/asc-core/src/utils/responses.ts","webpack:///./node_modules/@atlassiansox/asc-core/src/utils/url.ts","webpack:///./node_modules/@atlassiansox/asc-stargate/src/stargate-client.types.ts","webpack:///./node_modules/@atlassiansox/asc-stargate/src/constants.ts","webpack:///./node_modules/@atlassiansox/asc-stargate/src/utils/sites.ts","webpack:///./node_modules/@atlassiansox/asc-stargate/src/stargate-client.ts","webpack:///./node_modules/@atlassiansox/bxp-react-feature-flags/src/use-feature-flags.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/node_modules/@atlassiansox/asc-hamlet/src/hamlet-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/contexts/hamlet.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/contexts/pricing-calculator.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/contexts/marie-schema-analytics.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-async.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-stargate-client.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-available-products.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-bitbucket-workspaces.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/node_modules/@atlassiansox/bxp-express-client/src/bxp-express-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/node_modules/@atlassiansox/bxp-express-client/src/bxp-express-stargate-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-bxp-express-client.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-hamlet-client.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-calculation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-cnas-client.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/node_modules/@atlassiansox/asc-cnas/src/cnas-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/node_modules/@atlassiansox/asc-cofs/src/auth/xsrf-token.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/node_modules/@atlassiansox/asc-cofs/src/cofs-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-cofs-client.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-locale.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-me.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-pricing.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-total.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/node_modules/@atlassiansox/asc-identity/src/identity-client.types.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/node_modules/@atlassiansox/asc-identity/src/identity-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/constants.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/utils/url.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/utils/environment.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/utils/optimizely.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/utils/user.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/utils/storage.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/utils/bundle-check.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/utils/ccp-offerings-ids-map.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/utils/define-messages-simple.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-identity-client.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/hooks/use-available-sites.ts","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/components/sanitized-html.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-core/src/components/sanitized-formatted-html-message.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-product-pricing-store/src/product-pricing-store.tsx","webpack:///./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack:///./node_modules/styled-components/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/stylis-rule-sheet/index.js","webpack:///./node_modules/stylis/stylis.js","webpack:///./resources/js/common/hamlet/hamlet-api.ts","webpack:///./resources/js/common/hamlet/hamlet-user.ts","webpack:///./node_modules/@atlassiansox/asc-cofs/src/auth/xsrf-token.ts","webpack:///./node_modules/@atlassiansox/asc-cofs/src/cofs-client.ts","webpack:///./node_modules/@atlassiansox/asc-identity/src/identity-client.types.ts","webpack:///./node_modules/@atlassiansox/asc-identity/src/identity-client.ts","webpack:///./node_modules/@atlassiansox/bxp-express-client/src/bxp-express-client.ts","webpack:///./node_modules/@atlassiansox/bxp-express-client/src/bxp-express-stargate-client.ts","webpack:///./node_modules/@atlassiansox/asc-cnas/src/cnas-client.ts","webpack:///./node_modules/@atlassiansox/asc-hamlet/src/hamlet-client.ts","webpack:///./resources/js/react/component-list.ts","webpack:///./resources/js/react/app-switcher/DiscoverSection.tsx","webpack:///./resources/js/react/app-switcher/app.tsx","webpack:///./resources/js/react/app.tsx","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/use-memo-one/dist/use-memo-one.esm.js","webpack:///./node_modules/nanoid/non-secure/index.cjs","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js"],"sourcesContent":["// same types defined in analytics-web-client but avoid creating dependency with that\nexport const UI_EVENT_TYPE = 'ui';\nexport const TRACK_EVENT_TYPE = 'track';\nexport const SCREEN_EVENT_TYPE = 'screen';\nexport const OPERATIONAL_EVENT_TYPE = 'operational';\nexport const DEFAULT_SOURCE = 'unknown';","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 getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsContext extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsContext: this.getAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsContext\", () => {\n const {\n data\n } = this.props;\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return [...getAtlaskitAnalyticsContext(), data];\n });\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n return getAtlaskitAnalyticsEventHandlers();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\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}\n\n_defineProperty(AnalyticsContext, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsContext, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsContext;","var _process$env;\n\nimport LegacyAnalyticsContext from './LegacyAnalyticsContext';\nimport ModernAnalyticsContext from './ModernAnalyticsContext';\nlet ExportedAnalyticsContext;\n\nif (typeof process !== 'undefined' && process !== null && (_process$env = process.env) !== null && _process$env !== void 0 && _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsContext = ModernAnalyticsContext;\n} else {\n ExportedAnalyticsContext = LegacyAnalyticsContext;\n}\n\nexport default ExportedAnalyticsContext;","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';\n\nconst AnalyticsContext = ({\n data,\n children\n}) => {\n const dataRef = useTrackedRef(data);\n const analyticsContext = useAnalyticsContext();\n const getAtlaskitAnalyticsContext = useCallback(() => {\n return [...analyticsContext.getAtlaskitAnalyticsContext(), dataRef.current];\n }, [analyticsContext, dataRef]);\n const value = useMemo(() => ({\n getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: analyticsContext.getAtlaskitAnalyticsEventHandlers\n }), [analyticsContext, getAtlaskitAnalyticsContext]);\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: value\n }, children);\n};\n\nexport default AnalyticsContext;","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import React from 'react';\nimport { AnalyticsContext } from '@atlaskit/analytics-next';\n\nconst createNamespaceContext = (namespace, displayName = 'NamespacedContext') => {\n const Component = props => {\n const newData = {\n [namespace]: props.data\n };\n return /*#__PURE__*/React.createElement(AnalyticsContext, {\n data: newData\n }, React.Children.only(props.children));\n };\n\n Component.displayName = displayName;\n return Component;\n};\n\nexport default createNamespaceContext;","import createNamespaceContext from './helper/createNamespaceContext';\nexport const NAVIGATION_CONTEXT = 'navigationCtx';\nexport const NavigationAnalyticsContext = createNamespaceContext(NAVIGATION_CONTEXT, 'NavigationAnalyticsContext');","import createNamespaceContext from './helper/createNamespaceContext';\nexport const ELEMENTS_CONTEXT = 'fabricElementsCtx';\nexport const FabricElementsAnalyticsContext = createNamespaceContext(ELEMENTS_CONTEXT, 'FabricElementsAnalyticsContext');","import createNamespaceContext from './helper/createNamespaceContext';\nexport const EDITOR_CONTEXT = 'fabricEditorCtx';\nexport let EDITOR_APPEARANCE_CONTEXT;\n\n(function (EDITOR_APPEARANCE_CONTEXT) {\n EDITOR_APPEARANCE_CONTEXT[\"FIXED_WIDTH\"] = \"fixedWidth\";\n EDITOR_APPEARANCE_CONTEXT[\"FULL_WIDTH\"] = \"fullWidth\";\n EDITOR_APPEARANCE_CONTEXT[\"COMMENT\"] = \"comment\";\n EDITOR_APPEARANCE_CONTEXT[\"CHROMELESS\"] = \"chromeless\";\n EDITOR_APPEARANCE_CONTEXT[\"MOBILE\"] = \"mobile\";\n})(EDITOR_APPEARANCE_CONTEXT || (EDITOR_APPEARANCE_CONTEXT = {}));\n\nexport const FabricEditorAnalyticsContext = createNamespaceContext(EDITOR_CONTEXT, 'FabricEditorAnalyticsContext');","import createNamespaceContext from './helper/createNamespaceContext';\nexport const PEOPLE_TEAMS_CONTEXT = 'peopleTeamsCtx';\nexport const PeopleTeamsAnalyticsContext = createNamespaceContext(PEOPLE_TEAMS_CONTEXT, 'PeopleTeamsAnalyticsContext');","import createNamespaceContext from './helper/createNamespaceContext';\nexport const NOTIFICATIONS_CONTEXT = 'NotificationsCtx';\nexport const NotificationsAnalyticsContext = createNamespaceContext(NOTIFICATIONS_CONTEXT, 'NotificationsAnalyticsContext');","import createNamespaceContext from './helper/createNamespaceContext';\nexport const RECENT_WORK_CONTEXT = 'RecentWorkCtx';\nexport const RecentWorkAnalyticsContext = createNamespaceContext(RECENT_WORK_CONTEXT, 'RecentWorkAnalyticsContext');","import createNamespaceContext from './helper/createNamespaceContext';\nexport const ATLAS_CONTEXT = 'atlasCtx';\nexport const AtlasAnalyticsContext = createNamespaceContext(ATLAS_CONTEXT, 'AtlasAnalyticsContext');","import createNamespaceContext from './helper/createNamespaceContext';\nexport const LINKING_PLATFORM_CONTEXT = 'linkingPlatformCtx';\nexport const LinkingPlatformAnalyticsContext = createNamespaceContext(LINKING_PLATFORM_CONTEXT, 'LinkingPlatformAnalyticsContext');","import { createContext } from 'react';\nconst AnalyticsNextContext = createContext({\n getAtlaskitAnalyticsContext: () => [],\n getAtlaskitAnalyticsEventHandlers: () => [],\n});\nexport default AnalyticsNextContext;\n//# sourceMappingURL=context.js.map","import AnalyticsNextContext from './context';\nexport default AnalyticsNextContext;\n//# sourceMappingURL=index.js.map","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 ReactNode; }, Exclude>' 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}","const themedBackground = {\n light: \"var(--ds-surface, #FFFFFF)\",\n dark: \"var(--ds-surface, #1B2638)\"\n};\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\n\nexport const getBackground = (mode = 'light') => themedBackground[mode];","export const sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px'\n};\nexport const sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge'\n};\nexport const dimensions = {\n small: {\n width: sizes.small,\n height: sizes.small\n },\n medium: {\n width: sizes.medium,\n height: sizes.medium\n },\n large: {\n width: sizes.large,\n height: sizes.large\n },\n xlarge: {\n width: sizes.xlarge,\n height: sizes.xlarge\n }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/core';\nexport const commonSVGStyles = {\n overflow: 'hidden',\n pointerEvents: 'none',\n\n /**\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\n * rule) and then override it with currentColor for the color changes to be picked up.\n */\n stop: {\n stopColor: 'currentColor'\n }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge); // pre-built css style-size map\n\nexport const sizeStyleMap = {\n small: smallStyles,\n medium: mediumStyles,\n large: largeStyles,\n xlarge: xlargeStyles\n};\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\n\nexport const getIconSize = ({\n width,\n height,\n size\n}) => {\n if (width && height) {\n return {\n width,\n height\n };\n }\n\n if (size) {\n return dimensions[size];\n }\n\n return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, getIconSize } from './styles';\n/**\n * We are hiding these props from consumers as they're used to\n * hack around icon sizing specifically for icon-file-type.\n */\n\nconst iconStyles = css({\n display: 'inline-block',\n flexShrink: 0,\n lineHeight: 1,\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': { ...commonSVGStyles,\n maxWidth: '100%',\n maxHeight: '100%',\n color: 'var(--icon-primary-color)',\n fill: 'var(--icon-secondary-color)',\n verticalAlign: 'bottom'\n }\n});\n/**\n * For windows high contrast mode\n */\n\nconst baseHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n filter: 'grayscale(1)',\n '--icon-primary-color': 'CanvasText',\n // foreground\n '--icon-secondary-color': 'Canvas' // background\n\n }\n }\n});\nconst primaryEqualsSecondaryHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n // if the primaryColor is the same as the secondaryColor we\n // set the --icon-primary-color to Canvas\n // this is usually to convey state i.e. Checkbox checked -> not checked\n '--icon-primary-color': 'Canvas' // foreground\n\n }\n }\n});\nconst secondaryTransparentHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n '--icon-secondary-color': 'transparent' // background\n\n }\n }\n});\n/**\n * __Icon__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)\n */\n\nexport const Icon = /*#__PURE__*/memo(function Icon(props) {\n const {\n glyph: Glyph,\n dangerouslySetGlyph,\n primaryColor = 'currentColor',\n secondaryColor,\n size,\n testId,\n label,\n width,\n height\n } = props;\n const glyphProps = dangerouslySetGlyph ? {\n dangerouslySetInnerHTML: {\n __html: dangerouslySetGlyph\n }\n } : {\n children: Glyph ? jsx(Glyph, {\n role: \"presentation\"\n }) : null\n };\n const dimensions = getIconSize({\n width,\n height,\n size\n });\n const {\n mode\n } = useGlobalTheme();\n return jsx(\"span\", _extends({\n \"data-testid\": testId,\n role: label ? 'img' : 'presentation',\n \"aria-label\": label ? label : undefined,\n \"aria-hidden\": label ? undefined : true,\n style: {\n '--icon-primary-color': primaryColor,\n '--icon-secondary-color': secondaryColor || getBackground(mode)\n }\n }, glyphProps, {\n css: [iconStyles, baseHcmStyles, primaryColor === secondaryColor && primaryEqualsSecondaryHcmStyles, secondaryColor === 'transparent' && secondaryTransparentHcmStyles, // NB: This can be resolved if this component, composes base SVG / and/or skeleton\n // We could then simplify how common styles are dealt with simply by encapsualting them\n // at their appropriate level and/or having a singular approach to css variables in the package\n dimensions && // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n css({\n width: dimensions.width,\n height: dimensions.height,\n '> svg': dimensions\n })]\n }));\n});\nexport default Icon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst AppSwitcherIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nAppSwitcherIcon.displayName = 'AppSwitcherIcon';\nvar _default = AppSwitcherIcon;\nexports.default = _default;","import styled, { css } from 'styled-components';\nimport { N60A } from '@atlaskit/theme/colors';\nimport { getThemeStyle, themeNamespace } from '../util/theme';\n\nvar getItemState = function getItemState(stateName) {\n return function (_ref) {\n var theme = _ref.theme;\n var stateStyles = getThemeStyle(theme[themeNamespace], stateName);\n return css([\"\\n background-color: \", \";\\n color: \", \";\\n fill: \", \";\\n text-decoration: none;\\n\\n &:focus {\\n color: \", \";\\n }\\n \"], stateStyles.background, stateStyles.text, stateStyles.background, stateStyles.text);\n };\n};\n\nvar getPadding = function getPadding(_ref2) {\n var isCompact = _ref2.isCompact,\n theme = _ref2.theme,\n description = _ref2.description;\n var paddingKey = isCompact ? 'compact' : 'default';\n\n var _getThemeStyle = getThemeStyle(theme[themeNamespace], paddingKey, 'padding'),\n _getThemeStyle$bottom = _getThemeStyle.bottom,\n bottom = _getThemeStyle$bottom === void 0 ? 0 : _getThemeStyle$bottom,\n _getThemeStyle$left = _getThemeStyle.left,\n left = _getThemeStyle$left === void 0 ? 0 : _getThemeStyle$left,\n _getThemeStyle$right = _getThemeStyle.right,\n right = _getThemeStyle$right === void 0 ? 0 : _getThemeStyle$right,\n _getThemeStyle$top = _getThemeStyle.top,\n top = _getThemeStyle$top === void 0 ? 0 : _getThemeStyle$top;\n\n var adjustedTop = typeof top === 'function' ? top() : top;\n var adjustedBottom = typeof bottom === 'function' ? bottom() : bottom; // Subtract the 1px padding-bottom added to the content and description elements\n // to maintain original height\n\n adjustedTop = Math.max(description ? adjustedTop - 1 : adjustedTop, 0);\n adjustedBottom = Math.max(adjustedBottom - 1, 0);\n return css([\"\\n padding: \", \"px \", \"px \", \"px \", \"px;\\n \"], adjustedTop, right, adjustedBottom, left);\n};\n\nvar getHeightStyles = function getHeightStyles(_ref3) {\n var isCompact = _ref3.isCompact,\n theme = _ref3.theme;\n var heightKey = isCompact ? 'compact' : 'default';\n var height = getThemeStyle(theme[themeNamespace], heightKey, 'height');\n return height ? css([\"\\n height: \", \"px;\\n \"], height) : '';\n};\n\nvar getWidthStyles = function getWidthStyles(_ref4) {\n var isCompact = _ref4.isCompact,\n theme = _ref4.theme;\n var widthKey = isCompact ? 'compact' : 'default';\n var width = getThemeStyle(theme[themeNamespace], widthKey, 'width');\n\n if (!width) {\n return '';\n }\n\n return typeof width === 'number' ? css([\"\\n width: \", \"px;\\n \"], width) : css([\"\\n width: \", \";\\n \"], width);\n}; // This function is responsible for drawing any focus styles for the element\n\n\nvar getInteractiveStyles = function getInteractiveStyles(_ref5) {\n var theme = _ref5.theme,\n isDisabled = _ref5.isDisabled,\n isDragging = _ref5.isDragging,\n isSelected = _ref5.isSelected;\n\n if (isDragging) {\n return css([\"\\n \", \" box-shadow: 0 4px 8px -2px \", \",\\n 0 0 1px \", \";\\n \"], getItemState('dragging'), N60A, N60A);\n }\n\n var standardFocus = css([\"\\n &:focus {\\n box-shadow: 0 0 0 2px\\n \", \" inset;\\n text-decoration: none;\\n }\\n \"], getThemeStyle(theme[themeNamespace], 'outline', 'focus'));\n\n if (isDisabled) {\n return css([\"\\n cursor: not-allowed;\\n \", \" \", \";\\n \"], getItemState('disabled'), standardFocus);\n }\n\n if (isSelected) {\n return css([\"\\n \", \" &:hover {\\n \", \";\\n }\\n\\n &:active {\\n \", \";\\n }\\n\\n \", \";\\n \"], getItemState('selected'), getItemState('hover'), getItemState('active'), standardFocus);\n }\n\n return css([\"\\n &:hover {\\n \", \";\\n }\\n\\n &:active {\\n \", \";\\n }\\n\\n \", \";\\n \"], getItemState('hover'), getItemState('active'), standardFocus);\n}; // This is the main item style. It is defined as a basic style variable so it can\n// later be applied to different component types (span / a / custom link component)\n\n\nexport var ItemBase = function ItemBase(_ref6) {\n var theme = _ref6.theme;\n return css([\"\\n && {\\n align-items: center;\\n border-radius: \", \"px;\\n box-sizing: border-box;\\n cursor: pointer;\\n display: \", \";\\n flex: none;\\n \", \" \", \" \", \" \", \" \", \" &:focus {\\n /* focus shadow drawn by getInteractiveStyles */\\n\\n outline: none;\\n /* relative position prevents bgcolor of a hovered element from\\n obfuscating focus ring of a focused sibling element */\\n position: relative;\\n }\\n }\\n\"], getThemeStyle(theme[themeNamespace], 'borderRadius'), function (_ref7) {\n var isHidden = _ref7.isHidden;\n return isHidden ? 'none' : 'flex';\n }, getItemState('default'), getPadding, getInteractiveStyles, getHeightStyles, getWidthStyles);\n}; // Given some optional link-related props, returns the relevant styled\n// component. For links, it styles the linkComponent if provided, otherwise\n// falling back to a styled tag. If no href is present, a styled \n// is returned. When we upgrade to styled-components@2.x we will be able to\n// simplify this by taking advantage of the withComponent() functionality.\n\nvar styledRootElement = function styledRootElement(_ref8) {\n var href = _ref8.href,\n linkComponent = _ref8.linkComponent;\n\n if (linkComponent) {\n return styled(linkComponent).withConfig({\n displayName: \"Item\",\n componentId: \"z6qfkt-0\"\n })([\"\\n \", \";\\n \"], ItemBase);\n }\n\n if (href) {\n return styled.a.withConfig({\n displayName: \"Item\",\n componentId: \"z6qfkt-1\"\n })([\"\\n \", \";\\n \"], ItemBase);\n }\n\n return styled.span.withConfig({\n displayName: \"Item\",\n componentId: \"z6qfkt-2\"\n })([\"\\n \", \";\\n \"], ItemBase);\n};\n\nexport default styledRootElement;","import styled, { css } from 'styled-components';\nimport { fontSize, fontSizeSmall } from '@atlaskit/theme/constants';\nimport { getThemeStyle, themeNamespace, compactSmallFontSize, compactLineHeight } from '../util/theme'; // Checkbox/Radio wrapper -- sits left of the children\n\nexport var InputWrapper = styled.span.withConfig({\n displayName: \"ItemParts__InputWrapper\",\n componentId: \"sc-14xek3m-0\"\n})([\"\\n display: flex;\\n margin: 0 2px;\\n\"]); // Elements injected before/after the children\n\nvar BeforeAfterBase = styled.span.withConfig({\n displayName: \"ItemParts__BeforeAfterBase\",\n componentId: \"sc-14xek3m-1\"\n})([\"\\n align-items: center;\\n display: flex;\\n flex-shrink: 0;\\n /* Fix windows line-height issue */\\n padding-bottom: 1px;\\n\"]);\n\nvar getBeforeSpacing = function getBeforeSpacing(_ref) {\n var isCompact = _ref.isCompact,\n theme = _ref.theme;\n var spaceKey = isCompact ? 'compact' : 'default';\n var space = getThemeStyle(theme[themeNamespace], spaceKey, 'beforeItemSpacing');\n return css([\"\\n margin-right: \", \"px;\\n \"], space);\n};\n\nexport var Before = styled(BeforeAfterBase).withConfig({\n displayName: \"ItemParts__Before\",\n componentId: \"sc-14xek3m-2\"\n})([\"\\n \", \";\\n\"], getBeforeSpacing);\n\nvar getAfterSpacing = function getAfterSpacing(_ref2) {\n var isCompact = _ref2.isCompact,\n theme = _ref2.theme;\n var spaceKey = isCompact ? 'compact' : 'default';\n var space = getThemeStyle(theme[themeNamespace], spaceKey, 'afterItemSpacing');\n return css([\"\\n margin-left: \", \"px;\\n \"], space);\n};\n\nexport var After = styled(BeforeAfterBase).withConfig({\n displayName: \"ItemParts__After\",\n componentId: \"sc-14xek3m-3\"\n})([\"\\n \", \";\\n\"], getAfterSpacing); // Alignment and layout for the children\n\nexport var ContentWrapper = styled.span.withConfig({\n displayName: \"ItemParts__ContentWrapper\",\n componentId: \"sc-14xek3m-4\"\n})([\"\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n margin: 0;\\n overflow: hidden;\\n\\n &:first-child {\\n margin: 0;\\n }\\n\"]);\nexport var Content = styled.span.withConfig({\n displayName: \"ItemParts__Content\",\n componentId: \"sc-14xek3m-5\"\n})([\"\\n display: block;\\n flex: 1 1 auto;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: \", \";\\n line-height: \", \";\\n /* Fix windows line-height issue */\\n padding-bottom: 1px;\\n\"], function (_ref3) {\n var allowMultiline = _ref3.allowMultiline;\n return allowMultiline ? 'normal' : 'nowrap';\n}, 16 / fontSize());\n\nvar getColorStyle = function getColorStyle(_ref4) {\n var isDisabled = _ref4.isDisabled,\n theme = _ref4.theme;\n\n if (isDisabled) {\n return css([\"\\n color: \", \";\\n \"], getThemeStyle(theme[themeNamespace], 'secondaryText', 'disabled'));\n }\n\n return css([\"\\n color: \", \";\\n\\n /* This detects hover on the grandparent. Saves us having to maintain isHovered\\n state in the grandparent. */\\n *:hover > * > & {\\n color: \", \";\\n }\\n\\n *:active > * > & {\\n color: \", \";\\n }\\n \"], getThemeStyle(theme[themeNamespace], 'secondaryText', 'default'), function () {\n return getThemeStyle(theme[themeNamespace], 'secondaryText', 'hover');\n }, function () {\n return getThemeStyle(theme[themeNamespace], 'secondaryText', 'active');\n });\n};\n\nvar getDescriptionFontStyles = function getDescriptionFontStyles(_ref5) {\n var isCompact = _ref5.isCompact;\n var descriptionFontSize = isCompact ? compactSmallFontSize : fontSizeSmall();\n var lineHeight = isCompact ? compactLineHeight : 14 / descriptionFontSize;\n return css([\"\\n font-size: \", \"px;\\n line-height: \", \";\\n /* Fix windows line-height issue */\\n padding-bottom: 1px;\\n \"], descriptionFontSize, lineHeight);\n}; // Description is a block element below the children, like a subtitle\n\n\nexport var Description = styled.span.withConfig({\n displayName: \"ItemParts__Description\",\n componentId: \"sc-14xek3m-6\"\n})([\"\\n flex: 1 1 auto;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \", \" \", \";\\n\"], getColorStyle, getDescriptionFontStyles);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport styledRootElement from '../styled/Item';\nimport { Before, After, Content, ContentWrapper, Description } from '../styled/ItemParts';\n\nvar Item = /*#__PURE__*/function (_Component) {\n _inherits(Item, _Component);\n\n var _super = _createSuper(Item);\n\n function Item(props) {\n var _this;\n\n _classCallCheck(this, Item);\n\n _this = _super.call(this, props); // The type of element rendered at the root of render() can vary based on the `href`\n // and `linkComponent` props provided. We generate this component here to avoid re-\n // generating the component inside render(). This is for performance reasons, and also\n // allows us to avoid generating a new `ref` for the root element each render().\n\n _defineProperty(_assertThisInitialized(_this), \"setRef\", function (ref) {\n _this.ref = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"href\", function () {\n return _this.props.isDisabled ? null : _this.props.href;\n });\n\n _this.rootComponent = styledRootElement({\n href: _this.href(),\n linkComponent: props.linkComponent\n });\n return _this;\n }\n\n _createClass(Item, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.ref && this.props.autoFocus) {\n this.ref.focus();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n _onClick = _this$props.onClick,\n _onKeyDown = _this$props.onKeyDown,\n isCompact = _this$props.isCompact,\n isDisabled = _this$props.isDisabled,\n isDragging = _this$props.isDragging,\n isHidden = _this$props.isHidden,\n isSelected = _this$props.isSelected,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseLeave = _this$props.onMouseLeave,\n role = _this$props.role,\n dnd = _this$props.dnd,\n otherProps = _objectWithoutProperties(_this$props, [\"onClick\", \"onKeyDown\", \"isCompact\", \"isDisabled\", \"isDragging\", \"isHidden\", \"isSelected\", \"onMouseEnter\", \"onMouseLeave\", \"role\", \"dnd\"]);\n\n var Root = this.rootComponent;\n var dragHandleProps = dnd && dnd.dragHandleProps || null;\n var patchedEventHandlers = {\n onClick: function onClick(event) {\n // rbd will use event.preventDefault() to block clicks that are used\n // as a part of the drag and drop lifecycle.\n if (event.defaultPrevented) {\n return;\n }\n\n if (!isDisabled && _onClick) {\n _onClick(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n // rbd 11.x support\n if (dragHandleProps && dragHandleProps.onMouseDown) {\n dragHandleProps.onMouseDown(event);\n } // We want to prevent the item from getting focus when clicked\n\n\n event.preventDefault();\n },\n onKeyDown: function onKeyDown(event) {\n // swallowing keyboard events on the element while dragging\n // rbd should already be doing this - but we are being really clear here\n if (isDragging) {\n return;\n } // rbd 11.x support\n\n\n if (dragHandleProps && dragHandleProps.onKeyDown) {\n dragHandleProps.onKeyDown(event);\n } // if default is prevented - do not fire other handlers\n // this can happen if the event is used for drag and drop by rbd\n\n\n if (event.defaultPrevented) {\n return;\n } // swallowing event if disabled\n\n\n if (isDisabled) {\n return;\n }\n\n if (!_onKeyDown) {\n return;\n }\n\n _onKeyDown(event);\n }\n };\n\n var patchedInnerRef = function patchedInnerRef(ref) {\n _this2.setRef(ref); // give rbd the inner ref too\n\n\n if (dnd && dnd.innerRef) {\n dnd.innerRef(ref);\n }\n };\n\n return /*#__PURE__*/React.createElement(Root, _extends({\n \"aria-disabled\": isDisabled,\n href: this.href(),\n isCompact: isCompact,\n isDisabled: isDisabled,\n isDragging: isDragging,\n isHidden: isHidden,\n isSelected: isSelected,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n role: role,\n tabIndex: isDisabled || isHidden || this.props.href ? null : 0,\n target: this.props.target,\n title: this.props.title,\n innerRef: patchedInnerRef\n }, dnd && dnd.draggableProps, dragHandleProps, patchedEventHandlers, otherProps), !!this.props.elemBefore && /*#__PURE__*/React.createElement(Before, {\n isCompact: isCompact\n }, this.props.elemBefore), /*#__PURE__*/React.createElement(ContentWrapper, null, /*#__PURE__*/React.createElement(Content, {\n allowMultiline: this.props.shouldAllowMultiline\n }, this.props.children), !!this.props.description && /*#__PURE__*/React.createElement(Description, {\n isCompact: this.props.isCompact,\n isDisabled: this.props.isDisabled\n }, this.props.description)), !!this.props.elemAfter && /*#__PURE__*/React.createElement(After, {\n isCompact: isCompact\n }, this.props.elemAfter));\n }\n }]);\n\n return Item;\n}(Component);\n\n_defineProperty(Item, \"defaultProps\", {\n autoFocus: false,\n description: '',\n isCompact: false,\n isDisabled: false,\n isHidden: false,\n role: 'button',\n shouldAllowMultiline: false\n});\n\nexport { Item as default };","import { gridSize as akGridSize, borderRadius } from '@atlaskit/theme/constants';\nimport * as colors from '@atlaskit/theme/colors';\nexport var themeNamespace = '@atlaskit-shared-theme/item'; // Used for Group titles and Item descriptions\n\nexport var compactSmallFontSize = 10;\nexport var compactLineHeight = 1.2;\nexport var gridSize = akGridSize();\nexport var defaultTheme = {\n afterItemSpacing: {\n compact: akGridSize(),\n default: akGridSize()\n },\n beforeItemSpacing: {\n compact: akGridSize(),\n default: akGridSize()\n },\n borderRadius: borderRadius(),\n focus: {\n outline: colors.B100\n },\n height: {\n compact: 0,\n default: 0\n },\n width: {\n compact: 'auto',\n default: 'auto'\n },\n padding: {\n default: {\n bottom: akGridSize() / 2,\n left: akGridSize() / 2,\n right: akGridSize() / 2,\n top: akGridSize() / 2\n },\n compact: {\n bottom: akGridSize(),\n left: akGridSize(),\n right: akGridSize(),\n top: akGridSize()\n }\n },\n default: {\n background: colors.background,\n text: colors.text,\n secondaryText: colors.N200\n },\n selected: {\n background: colors.backgroundActive,\n text: colors.N500,\n secondaryText: colors.N200\n },\n active: {\n background: colors.backgroundActive,\n text: colors.textActive,\n secondaryText: colors.N200\n },\n hover: {\n background: colors.backgroundHover,\n text: colors.textHover,\n secondaryText: colors.N200\n },\n disabled: {\n background: colors.N0,\n text: colors.N200,\n secondaryText: colors.N200\n },\n // same as hover in this case\n dragging: {\n background: colors.N20,\n text: colors.N800,\n secondaryText: colors.N200\n }\n};\n\nvar isValidCssValue = function isValidCssValue(value) {\n return value !== undefined && value !== null && value !== '';\n}; // Returns the theme that contains the requested theme key(s), preferring the user-supplied\n// theme if it is provided.\n\n\nexport var themeWithKeys = function themeWithKeys(maybeTheme, key, parentKey) {\n if (parentKey) {\n return maybeTheme && maybeTheme[parentKey] && isValidCssValue(maybeTheme[parentKey][key]) ? maybeTheme : defaultTheme;\n }\n\n return maybeTheme && isValidCssValue(maybeTheme[key]) ? maybeTheme : defaultTheme;\n}; // Returns the theme value for the requested key(s), falling back to the default theme if the\n// user-supplied theme doesn't exist or doesn't contain the requested key(s)\n\nexport var getThemeStyle = function getThemeStyle(maybeTheme, key, parentKey) {\n var theme = themeWithKeys(maybeTheme, key, parentKey);\n return parentKey ? theme[parentKey][key] : theme[key];\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// Themed colors\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N100})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\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});\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\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});\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","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*/\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`;\n\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\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 Please use `@atlaskit/focus-ring`\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 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 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});","var map = {\n\t\"./cs\": [\n\t\t30553,\n\t\t9677\n\t],\n\t\"./cs.js\": [\n\t\t30553,\n\t\t9677\n\t],\n\t\"./da\": [\n\t\t61267,\n\t\t8296\n\t],\n\t\"./da.js\": [\n\t\t61267,\n\t\t8296\n\t],\n\t\"./de\": [\n\t\t93714,\n\t\t7500\n\t],\n\t\"./de.js\": [\n\t\t93714,\n\t\t7500\n\t],\n\t\"./en_ZZ\": [\n\t\t63071,\n\t\t3754\n\t],\n\t\"./en_ZZ.js\": [\n\t\t63071,\n\t\t3754\n\t],\n\t\"./es\": [\n\t\t52925,\n\t\t5984\n\t],\n\t\"./es.js\": [\n\t\t52925,\n\t\t5984\n\t],\n\t\"./et\": [\n\t\t88830,\n\t\t1683\n\t],\n\t\"./et.js\": [\n\t\t88830,\n\t\t1683\n\t],\n\t\"./fi\": [\n\t\t43890,\n\t\t7356\n\t],\n\t\"./fi.js\": [\n\t\t43890,\n\t\t7356\n\t],\n\t\"./fr\": [\n\t\t89779,\n\t\t7318\n\t],\n\t\"./fr.js\": [\n\t\t89779,\n\t\t7318\n\t],\n\t\"./hu\": [\n\t\t68255,\n\t\t4734\n\t],\n\t\"./hu.js\": [\n\t\t68255,\n\t\t4734\n\t],\n\t\"./is\": [\n\t\t84903,\n\t\t6717\n\t],\n\t\"./is.js\": [\n\t\t84903,\n\t\t6717\n\t],\n\t\"./it\": [\n\t\t48082,\n\t\t5433\n\t],\n\t\"./it.js\": [\n\t\t48082,\n\t\t5433\n\t],\n\t\"./ja\": [\n\t\t86245,\n\t\t5705\n\t],\n\t\"./ja.js\": [\n\t\t86245,\n\t\t5705\n\t],\n\t\"./ko\": [\n\t\t94821,\n\t\t9750\n\t],\n\t\"./ko.js\": [\n\t\t94821,\n\t\t9750\n\t],\n\t\"./languages\": [\n\t\t19779,\n\t\t403\n\t],\n\t\"./languages.js\": [\n\t\t19779,\n\t\t403\n\t],\n\t\"./nb\": [\n\t\t6156,\n\t\t2107\n\t],\n\t\"./nb.js\": [\n\t\t6156,\n\t\t2107\n\t],\n\t\"./nl\": [\n\t\t66687,\n\t\t735\n\t],\n\t\"./nl.js\": [\n\t\t66687,\n\t\t735\n\t],\n\t\"./pl\": [\n\t\t90891,\n\t\t2879\n\t],\n\t\"./pl.js\": [\n\t\t90891,\n\t\t2879\n\t],\n\t\"./pt_BR\": [\n\t\t91409,\n\t\t2837\n\t],\n\t\"./pt_BR.js\": [\n\t\t91409,\n\t\t2837\n\t],\n\t\"./pt_PT\": [\n\t\t23757,\n\t\t1244\n\t],\n\t\"./pt_PT.js\": [\n\t\t23757,\n\t\t1244\n\t],\n\t\"./ro\": [\n\t\t55757,\n\t\t2082\n\t],\n\t\"./ro.js\": [\n\t\t55757,\n\t\t2082\n\t],\n\t\"./ru\": [\n\t\t96393,\n\t\t3672\n\t],\n\t\"./ru.js\": [\n\t\t96393,\n\t\t3672\n\t],\n\t\"./sk\": [\n\t\t95660,\n\t\t3094\n\t],\n\t\"./sk.js\": [\n\t\t95660,\n\t\t3094\n\t],\n\t\"./sv\": [\n\t\t13119,\n\t\t5242\n\t],\n\t\"./sv.js\": [\n\t\t13119,\n\t\t5242\n\t],\n\t\"./th\": [\n\t\t78200,\n\t\t3358\n\t],\n\t\"./th.js\": [\n\t\t78200,\n\t\t3358\n\t],\n\t\"./tr\": [\n\t\t66846,\n\t\t3202\n\t],\n\t\"./tr.js\": [\n\t\t66846,\n\t\t3202\n\t],\n\t\"./uk\": [\n\t\t23366,\n\t\t393\n\t],\n\t\"./uk.js\": [\n\t\t23366,\n\t\t393\n\t],\n\t\"./vi\": [\n\t\t72867,\n\t\t8201\n\t],\n\t\"./vi.js\": [\n\t\t72867,\n\t\t8201\n\t],\n\t\"./zh\": [\n\t\t67763,\n\t\t1529\n\t],\n\t\"./zh.js\": [\n\t\t67763,\n\t\t1529\n\t],\n\t\"./zh_TW\": [\n\t\t6418,\n\t\t1394\n\t],\n\t\"./zh_TW.js\": [\n\t\t6418,\n\t\t1394\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 526;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./en_ZZ\": [\n\t\t63071,\n\t\t3754\n\t],\n\t\"./en_ZZ.js\": [\n\t\t63071,\n\t\t3754\n\t],\n\t\"./pt_BR\": [\n\t\t91409,\n\t\t2837\n\t],\n\t\"./pt_BR.js\": [\n\t\t91409,\n\t\t2837\n\t],\n\t\"./pt_PT\": [\n\t\t23757,\n\t\t1244\n\t],\n\t\"./pt_PT.js\": [\n\t\t23757,\n\t\t1244\n\t],\n\t\"./zh_TW\": [\n\t\t6418,\n\t\t1394\n\t],\n\t\"./zh_TW.js\": [\n\t\t6418,\n\t\t1394\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 21295;\nmodule.exports = webpackAsyncContext;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from 'react';\nimport { useAnalyticsEvents } from '../hooks/useAnalyticsEvents';\nimport { usePatchedProps } from '../hooks/usePatchedProps';\n\nconst withAnalyticsEvents = (createEventMap = {}) => WrappedComponent => {\n const WithAnalyticsEvents = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n patchedEventProps\n } = usePatchedProps(createEventMap, props);\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, patchedEventProps, {\n createAnalyticsEvent: createAnalyticsEvent,\n ref: ref\n }));\n }); // @ts-ignore\n\n WithAnalyticsEvents.displayName = `WithAnalyticsEvents(${// @ts-ignore disneyName doesn't exist on type\n WrappedComponent.displayName || WrappedComponent.name})`;\n return WithAnalyticsEvents;\n};\n\nexport default withAnalyticsEvents;","import { useMemo, useRef } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nexport function usePatchedProps(createEventMap = {}, wrappedComponentProps) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n const handlerCache = useRef({});\n const patchedProps = useMemo(() => {\n const cache = handlerCache.current; // Clean up no longer used handlers in cache\n\n Object.keys(cache).filter(key => !(key in createEventMap)).forEach(key => delete cache[key]);\n return Object.keys(createEventMap).reduce((p, k) => {\n const eventCreator = createEventMap[k];\n\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return p;\n }\n\n const propValue = wrappedComponentProps[k];\n\n if (k in cache && cache[k].eventCreator === eventCreator && cache[k].propValue === propValue) {\n return { ...p,\n [k]: cache[k].wrappedCallback\n };\n }\n\n const wrappedCallback = (...args) => {\n const analyticsEvent = typeof eventCreator === 'function' ? eventCreator(createAnalyticsEvent, wrappedComponentProps) : createAnalyticsEvent(eventCreator);\n\n if (propValue && typeof propValue === 'function') {\n propValue(...args, analyticsEvent);\n }\n };\n\n cache[k] = {\n eventCreator,\n wrappedCallback,\n propValue\n };\n return { ...p,\n [k]: wrappedCallback\n };\n }, {});\n }, [createEventMap, wrappedComponentProps, createAnalyticsEvent, handlerCache]);\n return {\n patchedEventProps: patchedProps\n };\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = { ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n\n this.payload = props.payload;\n }\n\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n\n if (typeof updater === 'object') {\n this.payload = { ...this.payload,\n ...updater\n };\n }\n\n return this;\n }\n\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n\n return null;\n }\n\n const context = [...this.context];\n const handlers = [...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\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n\n return;\n }\n\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n\n return this;\n }\n\n return super.update(updater);\n }\n\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","const themedBackground = {\n light: \"var(--ds-surface, #FFFFFF)\",\n dark: \"var(--ds-surface, #1B2638)\"\n};\n\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\nexport const getBackground = (mode = 'light') => themedBackground[mode];","export const sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px'\n};\nexport const sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge'\n};\nexport const dimensions = {\n small: {\n width: sizes.small,\n height: sizes.small\n },\n medium: {\n width: sizes.medium,\n height: sizes.medium\n },\n large: {\n width: sizes.large,\n height: sizes.large\n },\n xlarge: {\n width: sizes.xlarge,\n height: sizes.xlarge\n }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n overflow: 'hidden',\n pointerEvents: 'none',\n /**\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\n * rule) and then override it with currentColor for the color changes to be picked up.\n */\n stop: {\n stopColor: 'currentColor'\n }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n small: smallStyles,\n medium: mediumStyles,\n large: largeStyles,\n xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n width,\n height,\n size\n}) => {\n if (width && height) {\n return {\n width,\n height\n };\n }\n if (size) {\n return dimensions[size];\n }\n return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, getIconSize } from './styles';\n\n/**\n * We are hiding these props from consumers as they're used to\n * hack around icon sizing specifically for icon-file-type.\n */\n\nconst iconStyles = css({\n display: 'inline-block',\n flexShrink: 0,\n lineHeight: 1,\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n ...commonSVGStyles,\n maxWidth: '100%',\n maxHeight: '100%',\n color: 'var(--icon-primary-color)',\n fill: 'var(--icon-secondary-color)',\n verticalAlign: 'bottom'\n }\n});\n/**\n * For windows high contrast mode\n */\nconst baseHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n filter: 'grayscale(1)',\n '--icon-primary-color': 'CanvasText',\n // foreground\n '--icon-secondary-color': 'Canvas' // background\n }\n }\n});\n\nconst primaryEqualsSecondaryHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n // if the primaryColor is the same as the secondaryColor we\n // set the --icon-primary-color to Canvas\n // this is usually to convey state i.e. Checkbox checked -> not checked\n '--icon-primary-color': 'Canvas' // foreground\n }\n }\n});\n\nconst secondaryTransparentHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n '--icon-secondary-color': 'transparent' // background\n }\n }\n});\n\n/**\n * __Icon__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)\n */\nexport const Icon = /*#__PURE__*/memo(function Icon(props) {\n const {\n glyph: Glyph,\n dangerouslySetGlyph,\n primaryColor = 'currentColor',\n secondaryColor,\n size,\n testId,\n label,\n width,\n height\n } = props;\n const glyphProps = dangerouslySetGlyph ? {\n dangerouslySetInnerHTML: {\n __html: dangerouslySetGlyph\n }\n } : {\n children: Glyph ? jsx(Glyph, {\n role: \"presentation\"\n }) : null\n };\n const dimensions = getIconSize({\n width,\n height,\n size\n });\n const {\n mode\n } = useGlobalTheme();\n return jsx(\"span\", _extends({\n \"data-testid\": testId,\n role: label ? 'img' : undefined,\n \"aria-label\": label ? label : undefined,\n \"aria-hidden\": label ? undefined : true,\n style: {\n '--icon-primary-color': primaryColor,\n '--icon-secondary-color': secondaryColor || getBackground(mode)\n }\n }, glyphProps, {\n css: [iconStyles, baseHcmStyles, primaryColor === secondaryColor && primaryEqualsSecondaryHcmStyles, secondaryColor === 'transparent' && secondaryTransparentHcmStyles,\n // NB: This can be resolved if this component, composes base SVG / and/or skeleton\n // We could then simplify how common styles are dealt with simply by encapsualting them\n // at their appropriate level and/or having a singular approach to css variables in the package\n dimensions &&\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n css({\n width: dimensions.width,\n height: dimensions.height,\n '> svg': dimensions\n })]\n }));\n});\nexport default Icon;","/* 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// Themed colors\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N100})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\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});\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\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});\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 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*/\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`;\n\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\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 Please use `@atlaskit/focus-ring`\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 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 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 { heading, subtleHeading } from './colors';\nimport { fontSize, gridSize } from './constants';\nconst baseHeading = (size, lineHeight) => ({\n fontSize: `${size / fontSize()}em`,\n fontStyle: 'inherit',\n lineHeight: lineHeight / size\n});\nexport const headingSizes = {\n h900: {\n size: 35,\n lineHeight: 40\n },\n h800: {\n size: 29,\n lineHeight: 32\n },\n h700: {\n size: 24,\n lineHeight: 28\n },\n h600: {\n size: 20,\n lineHeight: 24\n },\n h500: {\n size: 16,\n lineHeight: 20\n },\n h400: {\n size: 14,\n lineHeight: 16\n },\n h300: {\n size: 12,\n lineHeight: 16\n },\n h200: {\n size: 12,\n lineHeight: 16\n },\n h100: {\n size: 11,\n lineHeight: 16\n }\n};\nexport const h900 = (props = {}) => ({\n ...baseHeading(headingSizes.h900.size, headingSizes.h900.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-medium, 500)\",\n letterSpacing: `-0.01em`,\n marginTop: `${gridSize() * 6.5}px`\n});\nexport const h800 = (props = {}) => ({\n ...baseHeading(headingSizes.h800.size, headingSizes.h800.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n letterSpacing: `-0.01em`,\n marginTop: `${gridSize() * 5}px`\n});\nexport const h700 = (props = {}) => ({\n ...baseHeading(headingSizes.h700.size, headingSizes.h700.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-medium, 500)\",\n letterSpacing: `-0.01em`,\n marginTop: `${gridSize() * 5}px`\n});\nexport const h600 = (props = {}) => ({\n ...baseHeading(headingSizes.h600.size, headingSizes.h600.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-medium, 500)\",\n letterSpacing: `-0.008em`,\n marginTop: `${gridSize() * 3.5}px`\n});\nexport const h500 = (props = {}) => ({\n ...baseHeading(headingSizes.h500.size, headingSizes.h500.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n letterSpacing: `-0.006em`,\n marginTop: `${gridSize() * 3}px`\n});\nexport const h400 = (props = {}) => ({\n ...baseHeading(headingSizes.h400.size, headingSizes.h400.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n letterSpacing: `-0.003em`,\n marginTop: `${gridSize() * 2}px`\n});\nexport const h300 = (props = {}) => ({\n ...baseHeading(headingSizes.h300.size, headingSizes.h300.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n marginTop: `${gridSize() * 2.5}px`,\n textTransform: 'uppercase'\n});\nexport const h200 = (props = {}) => ({\n ...baseHeading(headingSizes.h200.size, headingSizes.h200.lineHeight),\n color: `var(--ds-text-subtlest, ${subtleHeading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n marginTop: `${gridSize() * 2}px`\n});\nexport const h100 = (props = {}) => ({\n ...baseHeading(headingSizes.h100.size, headingSizes.h100.lineHeight),\n color: `var(--ds-text-subtlest, ${subtleHeading(props)})`,\n fontWeight: \"var(--ds-font-weight-bold, 700)\",\n marginTop: `${gridSize() * 2}px`\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 ReactNode; }, Exclude>' 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}","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}","import { createContext, useContext, forwardRef, createElement, Fragment } 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 hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */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\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return 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 = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/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 = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/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 var rules = 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, 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__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-6a883da9.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-6a883da9.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.10.6\",\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\"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\"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\"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\"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\": \"./macro.js\"\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.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\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.10.6\",\n\t\t\"@emotion/cache\": \"^11.10.5\",\n\t\t\"@emotion/serialize\": \"^1.1.1\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.0\",\n\t\t\"@emotion/utils\": \"^1.2.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.0\",\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.10.6\",\n\t\t\"@emotion/css-prettifier\": \"1.1.1\",\n\t\t\"@emotion/server\": \"11.10.0\",\n\t\t\"@emotion/styled\": \"11.10.6\",\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\": \"./macro.js\"\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 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 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, useContext(ThemeContext));\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 = 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 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 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 var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = 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: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/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","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(';')\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var index = pair.indexOf('=')\n\n // skip things that don't look like key=value\n if (index < 0) {\n continue;\n }\n\n var key = pair.substring(0, index).trim()\n\n // only assign once\n if (undefined == obj[key]) {\n var val = pair.substring(index + 1, pair.length).trim()\n\n // quoted values\n if (val[0] === '\"') {\n val = val.slice(1, -1)\n }\n\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = element.parent === children[0]; // in nested rules comments become children of the \"auto-inserted\" rule\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? children[0].children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","import { StyleSheet } from '@emotion/sheet';\nimport Stylis from '@emotion/stylis';\nimport '@emotion/weak-memoize';\n\n// https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet\n// inlined to avoid umd wrapper and peerDep warnings/installing stylis\n// since we use stylis after closure compiler\nvar delimiter = '/*|*/';\nvar needle = delimiter + '}';\n\nfunction toSheet(block) {\n if (block) {\n Sheet.current.insert(block + '}');\n }\n}\n\nvar Sheet = {\n current: null\n};\nvar ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n switch (context) {\n // property\n case 1:\n {\n switch (content.charCodeAt(0)) {\n case 64:\n {\n // @import\n Sheet.current.insert(content + ';');\n return '';\n }\n // charcode for l\n\n case 108:\n {\n // charcode for b\n // this ignores label\n if (content.charCodeAt(2) === 98) {\n return '';\n }\n }\n }\n\n break;\n }\n // selector\n\n case 2:\n {\n if (ns === 0) return content + delimiter;\n break;\n }\n // at-rule\n\n case 3:\n {\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n {\n Sheet.current.insert(selectors[0] + content);\n return '';\n }\n\n default:\n {\n return content + (at === 0 ? delimiter : '');\n }\n }\n }\n\n case -2:\n {\n content.split(needle).forEach(toSheet);\n }\n }\n};\n\nvar createCache = function createCache(options) {\n if (options === undefined) options = {};\n var key = options.key || 'css';\n var stylisOptions;\n\n if (options.prefix !== undefined) {\n stylisOptions = {\n prefix: options.prefix\n };\n }\n\n var stylis = new Stylis(stylisOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n\n {\n container = options.container || document.head;\n var nodes = document.querySelectorAll(\"style[data-emotion-\" + key + \"]\");\n Array.prototype.forEach.call(nodes, function (node) {\n var attrib = node.getAttribute(\"data-emotion-\" + key); // $FlowFixMe\n\n attrib.split(' ').forEach(function (id) {\n inserted[id] = true;\n });\n\n if (node.parentNode !== container) {\n container.appendChild(node);\n }\n });\n }\n\n var _insert;\n\n {\n stylis.use(options.stylisPlugins)(ruleSheet);\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n Sheet.current = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n var map = serialized.map;\n Sheet.current = {\n insert: function insert(rule) {\n sheet.insert(rule + map);\n }\n };\n }\n\n stylis(selector, serialized.styles);\n\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n };\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // https://esbench.com/bench/5bf7371a4cd7e6009ef61d0a\n var commentStart = /\\/\\*/g;\n var commentEnd = /\\*\\//g;\n stylis.use(function (context, content) {\n switch (context) {\n case -1:\n {\n while (commentStart.test(content)) {\n commentEnd.lastIndex = commentStart.lastIndex;\n\n if (commentEnd.test(content)) {\n commentStart.lastIndex = commentEnd.lastIndex;\n continue;\n }\n\n throw new Error('Your styles have an unterminated comment (\"/*\" without corresponding \"*/\").');\n }\n\n commentStart.lastIndex = 0;\n break;\n }\n }\n });\n stylis.use(function (context, content, selectors) {\n switch (context) {\n case -1:\n {\n var flag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n var unsafePseudoClasses = content.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n var ignoreRegExp = new RegExp(unsafePseudoClass + \".*\\\\/\\\\* \" + flag + \" \\\\*\\\\/\");\n var ignore = ignoreRegExp.test(content);\n\n if (unsafePseudoClass && !ignore) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n }\n });\n }\n\n break;\n }\n }\n });\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n return cache;\n};\n\nexport default createCache;\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 insertStyles = function insertStyles(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.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(\".\" + className, current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import '@babel/runtime/helpers/inheritsLoose';\nimport { createContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar EmotionCacheContext = /*#__PURE__*/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' ? createCache() : null);\nvar ThemeContext = /*#__PURE__*/createContext({});\nvar CacheProvider = EmotionCacheContext.Provider;\n\nvar withEmotionCache = function withEmotionCache(func) {\n var render = function render(props, ref) {\n return /*#__PURE__*/createElement(EmotionCacheContext.Consumer, null, function (cache) {\n return func(props, cache, ref);\n });\n }; // $FlowFixMe\n\n\n return /*#__PURE__*/forwardRef(render);\n};\n\n// thus we only need to replace what is a valid character for JS, but not for CSS\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\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/css' 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; // TODO: check if this still works with all of those different JSX functions\n\n if (process.env.NODE_ENV !== 'production') {\n var error = new Error();\n\n if (error.stack) {\n // chrome\n var match = error.stack.match(/at (?:Object\\.|Module\\.|)(?:jsx|createEmotionProps).*\\n\\s+at (?:Object\\.|)([A-Z][A-Za-z$]+) /);\n\n if (!match) {\n // safari and firefox\n match = error.stack.match(/.*\\n([A-Z][A-Za-z$]+)@/);\n }\n\n if (match) {\n newProps[labelPropName] = sanitizeIdentifier(match[1]);\n }\n }\n }\n\n return newProps;\n};\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar render = function render(cache, props, theme, ref) {\n var cssProp = theme === null ? props.css : props.css(theme); // 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 type = 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);\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 var rules = insertStyles(cache, serialized, typeof type === 'string');\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 var ele = /*#__PURE__*/createElement(type, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n}; // eslint-disable-next-line no-undef\n\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n if (typeof props.css === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n return render(cache, props, theme, ref);\n });\n }\n\n return render(cache, props, null, ref);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, createEmotionProps as c, hasOwnProperty as h, withEmotionCache as w };\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { createElement, Component, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-04d85134.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, w as withEmotionCache } from './emotion-element-04d85134.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\nimport css from '@emotion/css';\nexport { default as css } from '@emotion/css';\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return 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 createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false;\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\n if (typeof styles === 'function') {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var serialized = serializeStyles([styles(theme)]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n });\n }\n\n var serialized = serializeStyles([styles]);\n return /*#__PURE__*/createElement(InnerGlobal, {\n serialized: serialized,\n cache: cache\n });\n});\n\n// 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\nvar InnerGlobal = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InnerGlobal, _React$Component);\n\n function InnerGlobal(props, context, updater) {\n return _React$Component.call(this, props, context, updater) || this;\n }\n\n var _proto = InnerGlobal.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.sheet = new StyleSheet({\n key: this.props.cache.key + \"-global\",\n nonce: this.props.cache.sheet.nonce,\n container: this.props.cache.sheet.container\n }); // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion-\" + this.props.cache.key + \"=\\\"\" + this.props.serialized.name + \"\\\"]\");\n\n if (node !== null) {\n this.sheet.tags.push(node);\n }\n\n if (this.props.cache.sheet.tags.length) {\n this.sheet.before = this.props.cache.sheet.tags[0];\n }\n\n this.insertStyles();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.serialized.name !== this.props.serialized.name) {\n this.insertStyles();\n }\n };\n\n _proto.insertStyles = function insertStyles$1() {\n if (this.props.serialized.next !== undefined) {\n // insert keyframes\n insertStyles(this.props.cache, this.props.serialized.next, true);\n }\n\n if (this.sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling;\n this.sheet.before = element;\n this.sheet.flush();\n }\n\n this.props.cache.insert(\"\", this.props.serialized, this.sheet, false);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.sheet.flush();\n };\n\n _proto.render = function render() {\n\n return null;\n };\n\n return InnerGlobal;\n}(Component);\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 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 Noop = function Noop() {\n return null;\n};\n\nvar ClassNames = withEmotionCache(function (props, context) {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var hasRendered = false;\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, context.registered);\n\n {\n insertStyles(context, serialized, false);\n }\n\n return context.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(context.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: theme\n };\n var ele = props.children(content);\n hasRendered = true;\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n });\n});\n\nexport { ClassNames, Global, jsx as createElement, jsx, keyframes };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import { serializeStyles } from '@emotion/serialize';\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\nexport default css;\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n return tag;\n}\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(options) {\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n var _tag = createStyleElement(this);\n\n var before;\n\n if (this.tags.length === 0) {\n before = this.before;\n } else {\n before = this.tags[this.tags.length - 1].nextSibling;\n }\n\n this.container.insertBefore(_tag, before);\n this.tags.push(_tag);\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is a really hot path\n // we check the second character first because having \"i\"\n // as the second character will happen less often than\n // having \"@\" as the first character\n var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n\n sheet.insertRule(rule, // we need to insert @import rules before anything else\n // otherwise there will be an error\n // technically this means that the @import rules will\n // _usually_(not always since there could be multiple style tags)\n // be the first ones in prod and generally later in dev\n // this shouldn't really matter in the real world though\n // @import is generally only used for font faces from google fonts and etc.\n // so while this could be technically correct then it would be slower and larger\n // for a tiny bit of correctness that won't matter in the real world\n isImportRule ? 0 : sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","import * as React from 'react';\nimport { useLayoutEffect } from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\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 var maybeStyles = 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","/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","//\n// Main\n//\nexport default function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `foo) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","// @generated from time-data-gen.ts\n// prettier-ignore \nexport var timeData = {\n \"AX\": [\n \"H\"\n ],\n \"BQ\": [\n \"H\"\n ],\n \"CP\": [\n \"H\"\n ],\n \"CZ\": [\n \"H\"\n ],\n \"DK\": [\n \"H\"\n ],\n \"FI\": [\n \"H\"\n ],\n \"ID\": [\n \"H\"\n ],\n \"IS\": [\n \"H\"\n ],\n \"ML\": [\n \"H\"\n ],\n \"NE\": [\n \"H\"\n ],\n \"RU\": [\n \"H\"\n ],\n \"SE\": [\n \"H\"\n ],\n \"SJ\": [\n \"H\"\n ],\n \"SK\": [\n \"H\"\n ],\n \"AS\": [\n \"h\",\n \"H\"\n ],\n \"BT\": [\n \"h\",\n \"H\"\n ],\n \"DJ\": [\n \"h\",\n \"H\"\n ],\n \"ER\": [\n \"h\",\n \"H\"\n ],\n \"GH\": [\n \"h\",\n \"H\"\n ],\n \"IN\": [\n \"h\",\n \"H\"\n ],\n \"LS\": [\n \"h\",\n \"H\"\n ],\n \"PG\": [\n \"h\",\n \"H\"\n ],\n \"PW\": [\n \"h\",\n \"H\"\n ],\n \"SO\": [\n \"h\",\n \"H\"\n ],\n \"TO\": [\n \"h\",\n \"H\"\n ],\n \"VU\": [\n \"h\",\n \"H\"\n ],\n \"WS\": [\n \"h\",\n \"H\"\n ],\n \"001\": [\n \"H\",\n \"h\"\n ],\n \"AL\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"TD\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"LU\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"NP\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"PF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SC\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SN\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"TF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"VA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CY\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"GR\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"CO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"DO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KP\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"VE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"AC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BW\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BZ\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"DG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"FK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GB\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IM\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IO\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"JE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"LT\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NF\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NR\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NU\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"PN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SH\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"TA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ZA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"AR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CL\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CU\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"EA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BO\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-EC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-ES\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-GQ\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-PE\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"GT\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"HN\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"IC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KG\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KM\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"LK\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MX\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"NI\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"PY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"SV\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"UY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"JP\": [\n \"H\",\n \"h\",\n \"K\"\n ],\n \"AD\": [\n \"H\",\n \"hB\"\n ],\n \"AM\": [\n \"H\",\n \"hB\"\n ],\n \"AO\": [\n \"H\",\n \"hB\"\n ],\n \"AT\": [\n \"H\",\n \"hB\"\n ],\n \"AW\": [\n \"H\",\n \"hB\"\n ],\n \"BE\": [\n \"H\",\n \"hB\"\n ],\n \"BF\": [\n \"H\",\n \"hB\"\n ],\n \"BJ\": [\n \"H\",\n \"hB\"\n ],\n \"BL\": [\n \"H\",\n \"hB\"\n ],\n \"BR\": [\n \"H\",\n \"hB\"\n ],\n \"CG\": [\n \"H\",\n \"hB\"\n ],\n \"CI\": [\n \"H\",\n \"hB\"\n ],\n \"CV\": [\n \"H\",\n \"hB\"\n ],\n \"DE\": [\n \"H\",\n \"hB\"\n ],\n \"EE\": [\n \"H\",\n \"hB\"\n ],\n \"FR\": [\n \"H\",\n \"hB\"\n ],\n \"GA\": [\n \"H\",\n \"hB\"\n ],\n \"GF\": [\n \"H\",\n \"hB\"\n ],\n \"GN\": [\n \"H\",\n \"hB\"\n ],\n \"GP\": [\n \"H\",\n \"hB\"\n ],\n \"GW\": [\n \"H\",\n \"hB\"\n ],\n \"HR\": [\n \"H\",\n \"hB\"\n ],\n \"IL\": [\n \"H\",\n \"hB\"\n ],\n \"IT\": [\n \"H\",\n \"hB\"\n ],\n \"KZ\": [\n \"H\",\n \"hB\"\n ],\n \"MC\": [\n \"H\",\n \"hB\"\n ],\n \"MD\": [\n \"H\",\n \"hB\"\n ],\n \"MF\": [\n \"H\",\n \"hB\"\n ],\n \"MQ\": [\n \"H\",\n \"hB\"\n ],\n \"MZ\": [\n \"H\",\n \"hB\"\n ],\n \"NC\": [\n \"H\",\n \"hB\"\n ],\n \"NL\": [\n \"H\",\n \"hB\"\n ],\n \"PM\": [\n \"H\",\n \"hB\"\n ],\n \"PT\": [\n \"H\",\n \"hB\"\n ],\n \"RE\": [\n \"H\",\n \"hB\"\n ],\n \"RO\": [\n \"H\",\n \"hB\"\n ],\n \"SI\": [\n \"H\",\n \"hB\"\n ],\n \"SR\": [\n \"H\",\n \"hB\"\n ],\n \"ST\": [\n \"H\",\n \"hB\"\n ],\n \"TG\": [\n \"H\",\n \"hB\"\n ],\n \"TR\": [\n \"H\",\n \"hB\"\n ],\n \"WF\": [\n \"H\",\n \"hB\"\n ],\n \"YT\": [\n \"H\",\n \"hB\"\n ],\n \"BD\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"PK\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"AZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BG\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"CH\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"GE\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"LI\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"ME\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"RS\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"XK\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"AG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"CA\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"DM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FJ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GD\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"JM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KN\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LR\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MH\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MP\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MW\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"NZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SL\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TT\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"UM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"US\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ZM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BO\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"EC\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"ES\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"GQ\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"PE\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"AE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"BH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"DZ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EG\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"HK\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"IQ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"JO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"KW\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LB\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MR\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"OM\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PS\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"QA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SD\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"TN\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"YE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"AF\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"LA\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"CN\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"LV\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"TL\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"CD\": [\n \"hB\",\n \"H\"\n ],\n \"IR\": [\n \"hB\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ml-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"KH\": [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"BN\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"MY\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ET\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"mr-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"pa-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"TW\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"KE\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"MM\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"TZ\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UG\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ]\n};\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nimport { getBestPattern } from './date-time-pattern-generator';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.locale = options.locale;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var dateTimePattern = skeleton;\n // Get \"best match\" pattern only if locale is passed, if not, let it\n // pass as-is where `parseDateTimeSkeleton()` will throw an error\n // for unsupported patterns.\n if (this.locale) {\n dateTimePattern = getBestPattern(skeleton, this.locale);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: dateTimePattern,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(dateTimePattern)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { timeData } from './time-data.generated';\n/**\n * Returns the best matching date time pattern if a date time skeleton\n * pattern is provided with a locale. Follows the Unicode specification:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n * @param skeleton date time skeleton pattern that possibly includes j, J or C\n * @param locale\n */\nexport function getBestPattern(skeleton, locale) {\n var skeletonCopy = '';\n for (var patternPos = 0; patternPos < skeleton.length; patternPos++) {\n var patternChar = skeleton.charAt(patternPos);\n if (patternChar === 'j') {\n var extraLength = 0;\n while (patternPos + 1 < skeleton.length &&\n skeleton.charAt(patternPos + 1) === patternChar) {\n extraLength++;\n patternPos++;\n }\n var hourLen = 1 + (extraLength & 1);\n var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n var dayPeriodChar = 'a';\n var hourChar = getDefaultHourSymbolFromLocale(locale);\n if (hourChar == 'H' || hourChar == 'k') {\n dayPeriodLen = 0;\n }\n while (dayPeriodLen-- > 0) {\n skeletonCopy += dayPeriodChar;\n }\n while (hourLen-- > 0) {\n skeletonCopy = hourChar + skeletonCopy;\n }\n }\n else if (patternChar === 'J') {\n skeletonCopy += 'H';\n }\n else {\n skeletonCopy += patternChar;\n }\n }\n return skeletonCopy;\n}\n/**\n * Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n * of the given `locale` to the corresponding time pattern.\n * @param locale\n */\nfunction getDefaultHourSymbolFromLocale(locale) {\n var hourCycle = locale.hourCycle;\n if (hourCycle === undefined &&\n // @ts-ignore hourCycle(s) is not identified yet\n locale.hourCycles &&\n // @ts-ignore\n locale.hourCycles.length) {\n // @ts-ignore\n hourCycle = locale.hourCycles[0];\n }\n if (hourCycle) {\n switch (hourCycle) {\n case 'h24':\n return 'k';\n case 'h23':\n return 'H';\n case 'h12':\n return 'h';\n case 'h11':\n return 'K';\n default:\n throw new Error('Invalid hourCycle');\n }\n }\n // TODO: Once hourCycle is fully supported remove the following with data generation\n var languageTag = locale.language;\n var regionTag;\n if (languageTag !== 'root') {\n regionTag = locale.maximize().region;\n }\n var hourCycles = timeData[regionTag || ''] ||\n timeData[languageTag || ''] ||\n timeData[\"\".concat(languageTag, \"-001\")] ||\n timeData['001'];\n return hourCycles[0];\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n","import { __extends } from \"tslib\";\nexport var IntlErrorCode;\n(function (IntlErrorCode) {\n IntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n IntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n IntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n IntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n IntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(IntlErrorCode || (IntlErrorCode = {}));\nvar IntlError = /** @class */ (function (_super) {\n __extends(IntlError, _super);\n function IntlError(code, message, exception) {\n var _this = this;\n var err = exception\n ? exception instanceof Error\n ? exception\n : new Error(String(exception))\n : undefined;\n _this = _super.call(this, \"[@formatjs/intl Error \".concat(code, \"] \").concat(message, \" \\n\").concat(err ? \"\\n\".concat(err.message, \"\\n\").concat(err.stack) : '')) || this;\n _this.code = code;\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (typeof Error.captureStackTrace === 'function') {\n // @ts-ignore just so we don't need to declare dep on @types/node\n Error.captureStackTrace(_this, IntlError);\n }\n return _this;\n }\n return IntlError;\n}(Error));\nexport { IntlError };\nvar UnsupportedFormatterError = /** @class */ (function (_super) {\n __extends(UnsupportedFormatterError, _super);\n function UnsupportedFormatterError(message, exception) {\n return _super.call(this, IntlErrorCode.UNSUPPORTED_FORMATTER, message, exception) || this;\n }\n return UnsupportedFormatterError;\n}(IntlError));\nexport { UnsupportedFormatterError };\nvar InvalidConfigError = /** @class */ (function (_super) {\n __extends(InvalidConfigError, _super);\n function InvalidConfigError(message, exception) {\n return _super.call(this, IntlErrorCode.INVALID_CONFIG, message, exception) || this;\n }\n return InvalidConfigError;\n}(IntlError));\nexport { InvalidConfigError };\nvar MissingDataError = /** @class */ (function (_super) {\n __extends(MissingDataError, _super);\n function MissingDataError(message, exception) {\n return _super.call(this, IntlErrorCode.MISSING_DATA, message, exception) || this;\n }\n return MissingDataError;\n}(IntlError));\nexport { MissingDataError };\nvar IntlFormatError = /** @class */ (function (_super) {\n __extends(IntlFormatError, _super);\n function IntlFormatError(message, locale, exception) {\n return _super.call(this, IntlErrorCode.FORMAT_ERROR, \"\".concat(message, \" \\nLocale: \").concat(locale, \"\\n\"), exception) || this;\n }\n return IntlFormatError;\n}(IntlError));\nexport { IntlFormatError };\nvar MessageFormatError = /** @class */ (function (_super) {\n __extends(MessageFormatError, _super);\n function MessageFormatError(message, locale, descriptor, exception) {\n var _this = _super.call(this, \"\".concat(message, \" \\nMessageID: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.id, \"\\nDefault Message: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage, \"\\nDescription: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.description, \" \\n\"), locale, exception) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MessageFormatError;\n}(IntlFormatError));\nexport { MessageFormatError };\nvar MissingTranslationError = /** @class */ (function (_super) {\n __extends(MissingTranslationError, _super);\n function MissingTranslationError(descriptor, locale) {\n var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, \"Missing message: \\\"\".concat(descriptor.id, \"\\\" for locale \\\"\").concat(locale, \"\\\", using \").concat(descriptor.defaultMessage ? 'default message' : 'id', \" as fallback.\")) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MissingTranslationError;\n}(IntlError));\nexport { MissingTranslationError };\n","import { __assign, __spreadArray } from \"tslib\";\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { UnsupportedFormatterError } from './error';\nexport function filterProps(props, allowlist, defaults) {\n if (defaults === void 0) { defaults = {}; }\n return allowlist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nvar defaultErrorHandler = function (error) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n};\nvar defaultWarnHandler = function (warning) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n};\nexport var DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n defaultLocale: 'en',\n defaultFormats: {},\n fallbackOnEmptyString: true,\n onError: defaultErrorHandler,\n onWarn: defaultWarnHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache) {\n if (cache === void 0) { cache = createIntlCache(); }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n var DisplayNames = Intl.DisplayNames;\n var getDateTimeFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n });\n var getNumberFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n });\n var getPluralRules = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n });\n return {\n getDateTimeFormat: getDateTimeFormat,\n getNumberFormat: getNumberFormat,\n getMessageFormat: memoize(function (message, locales, overrideFormats, opts) {\n return new IntlMessageFormat(message, locales, overrideFormats, __assign({ formatters: {\n getNumberFormat: getNumberFormat,\n getDateTimeFormat: getDateTimeFormat,\n getPluralRules: getPluralRules,\n } }, (opts || {})));\n }, {\n cache: createFastMemoizeCache(cache.message),\n strategy: strategies.variadic,\n }),\n getRelativeTimeFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.relativeTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: getPluralRules,\n getListFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.list),\n strategy: strategies.variadic,\n }),\n getDisplayNames: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.displayNames),\n strategy: strategies.variadic,\n }),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new UnsupportedFormatterError(\"No \".concat(type, \" format named: \").concat(name)));\n}\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : formats.time.medium;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(value)];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __spreadArray } from \"tslib\";\nimport { parse } from '@formatjs/icu-messageformat-parser';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: _this.resolvedLocale.toString(),\n }); };\n this.getAst = function () { return _this.ast; };\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.resolvedLocale = IntlMessageFormat.resolveLocale(locales);\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n ignoreTag: opts === null || opts === void 0 ? void 0 : opts.ignoreTag,\n locale: this.resolvedLocale,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.resolveLocale = function (locales) {\n var supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n if (supportedLocales.length > 0) {\n return new Intl.Locale(supportedLocales[0]);\n }\n return new Intl.Locale(typeof locales === 'string' ? locales : locales[0]);\n };\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","/*\r\n Copyright (c) 2012 Nevins Bartolomeo \r\n Copyright (c) 2012 Shane Girish \r\n Copyright (c) 2014 Daniel Wirtz \r\n\r\n Redistribution and use in source and binary forms, with or without\r\n modification, are permitted provided that the following conditions\r\n are met:\r\n 1. Redistributions of source code must retain the above copyright\r\n notice, this list of conditions and the following disclaimer.\r\n 2. Redistributions in binary form must reproduce the above copyright\r\n notice, this list of conditions and the following disclaimer in the\r\n documentation and/or other materials provided with the distribution.\r\n 3. The name of the author may not be used to endorse or promote products\r\n derived from this software without specific prior written permission.\r\n\r\n THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\r\n IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\r\n OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\r\n IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\r\n INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\r\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\r\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r\n */\r\n\r\n/**\r\n * @license bcrypt.js (c) 2013 Daniel Wirtz \r\n * Released under the Apache License, Version 2.0\r\n * see: https://github.com/dcodeIO/bcrypt.js for details\r\n */\r\n(function(global, factory) {\r\n\r\n /* AMD */ if (typeof define === 'function' && define[\"amd\"])\r\n define([], factory);\r\n /* CommonJS */ else if (typeof require === 'function' && typeof module === \"object\" && module && module[\"exports\"])\r\n module[\"exports\"] = factory();\r\n /* Global */ else\r\n (global[\"dcodeIO\"] = global[\"dcodeIO\"] || {})[\"bcrypt\"] = factory();\r\n\r\n}(this, function() {\r\n \"use strict\";\r\n\r\n /**\r\n * bcrypt namespace.\r\n * @type {Object.}\r\n */\r\n var bcrypt = {};\r\n\r\n /**\r\n * The random implementation to use as a fallback.\r\n * @type {?function(number):!Array.}\r\n * @inner\r\n */\r\n var randomFallback = null;\r\n\r\n /**\r\n * Generates cryptographically secure random bytes.\r\n * @function\r\n * @param {number} len Bytes length\r\n * @returns {!Array.} Random bytes\r\n * @throws {Error} If no random implementation is available\r\n * @inner\r\n */\r\n function random(len) {\r\n /* node */ if (typeof module !== 'undefined' && module && module['exports'])\r\n try {\r\n return require(\"crypto\")['randomBytes'](len);\r\n } catch (e) {}\r\n /* WCA */ try {\r\n var a; (self['crypto']||self['msCrypto'])['getRandomValues'](a = new Uint32Array(len));\r\n return Array.prototype.slice.call(a);\r\n } catch (e) {}\r\n /* fallback */ if (!randomFallback)\r\n throw Error(\"Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative\");\r\n return randomFallback(len);\r\n }\r\n\r\n // Test if any secure randomness source is available\r\n var randomAvailable = false;\r\n try {\r\n random(1);\r\n randomAvailable = true;\r\n } catch (e) {}\r\n\r\n // Default fallback, if any\r\n randomFallback = null;\r\n /**\r\n * Sets the pseudo random number generator to use as a fallback if neither node's `crypto` module nor the Web Crypto\r\n * API is available. Please note: It is highly important that the PRNG used is cryptographically secure and that it\r\n * is seeded properly!\r\n * @param {?function(number):!Array.} random Function taking the number of bytes to generate as its\r\n * sole argument, returning the corresponding array of cryptographically secure random byte values.\r\n * @see http://nodejs.org/api/crypto.html\r\n * @see http://www.w3.org/TR/WebCryptoAPI/\r\n */\r\n bcrypt.setRandomFallback = function(random) {\r\n randomFallback = random;\r\n };\r\n\r\n /**\r\n * Synchronously generates a salt.\r\n * @param {number=} rounds Number of rounds to use, defaults to 10 if omitted\r\n * @param {number=} seed_length Not supported.\r\n * @returns {string} Resulting salt\r\n * @throws {Error} If a random fallback is required but not set\r\n * @expose\r\n */\r\n bcrypt.genSaltSync = function(rounds, seed_length) {\r\n rounds = rounds || GENSALT_DEFAULT_LOG2_ROUNDS;\r\n if (typeof rounds !== 'number')\r\n throw Error(\"Illegal arguments: \"+(typeof rounds)+\", \"+(typeof seed_length));\r\n if (rounds < 4)\r\n rounds = 4;\r\n else if (rounds > 31)\r\n rounds = 31;\r\n var salt = [];\r\n salt.push(\"$2a$\");\r\n if (rounds < 10)\r\n salt.push(\"0\");\r\n salt.push(rounds.toString());\r\n salt.push('$');\r\n salt.push(base64_encode(random(BCRYPT_SALT_LEN), BCRYPT_SALT_LEN)); // May throw\r\n return salt.join('');\r\n };\r\n\r\n /**\r\n * Asynchronously generates a salt.\r\n * @param {(number|function(Error, string=))=} rounds Number of rounds to use, defaults to 10 if omitted\r\n * @param {(number|function(Error, string=))=} seed_length Not supported.\r\n * @param {function(Error, string=)=} callback Callback receiving the error, if any, and the resulting salt\r\n * @returns {!Promise} If `callback` has been omitted\r\n * @throws {Error} If `callback` is present but not a function\r\n * @expose\r\n */\r\n bcrypt.genSalt = function(rounds, seed_length, callback) {\r\n if (typeof seed_length === 'function')\r\n callback = seed_length,\r\n seed_length = undefined; // Not supported.\r\n if (typeof rounds === 'function')\r\n callback = rounds,\r\n rounds = undefined;\r\n if (typeof rounds === 'undefined')\r\n rounds = GENSALT_DEFAULT_LOG2_ROUNDS;\r\n else if (typeof rounds !== 'number')\r\n throw Error(\"illegal arguments: \"+(typeof rounds));\r\n\r\n function _async(callback) {\r\n nextTick(function() { // Pretty thin, but salting is fast enough\r\n try {\r\n callback(null, bcrypt.genSaltSync(rounds));\r\n } catch (err) {\r\n callback(err);\r\n }\r\n });\r\n }\r\n\r\n if (callback) {\r\n if (typeof callback !== 'function')\r\n throw Error(\"Illegal callback: \"+typeof(callback));\r\n _async(callback);\r\n } else\r\n return new Promise(function(resolve, reject) {\r\n _async(function(err, res) {\r\n if (err) {\r\n reject(err);\r\n return;\r\n }\r\n resolve(res);\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Synchronously generates a hash for the given string.\r\n * @param {string} s String to hash\r\n * @param {(number|string)=} salt Salt length to generate or salt to use, default to 10\r\n * @returns {string} Resulting hash\r\n * @expose\r\n */\r\n bcrypt.hashSync = function(s, salt) {\r\n if (typeof salt === 'undefined')\r\n salt = GENSALT_DEFAULT_LOG2_ROUNDS;\r\n if (typeof salt === 'number')\r\n salt = bcrypt.genSaltSync(salt);\r\n if (typeof s !== 'string' || typeof salt !== 'string')\r\n throw Error(\"Illegal arguments: \"+(typeof s)+', '+(typeof salt));\r\n return _hash(s, salt);\r\n };\r\n\r\n /**\r\n * Asynchronously generates a hash for the given string.\r\n * @param {string} s String to hash\r\n * @param {number|string} salt Salt length to generate or salt to use\r\n * @param {function(Error, string=)=} callback Callback receiving the error, if any, and the resulting hash\r\n * @param {function(number)=} progressCallback Callback successively called with the percentage of rounds completed\r\n * (0.0 - 1.0), maximally once per `MAX_EXECUTION_TIME = 100` ms.\r\n * @returns {!Promise} If `callback` has been omitted\r\n * @throws {Error} If `callback` is present but not a function\r\n * @expose\r\n */\r\n bcrypt.hash = function(s, salt, callback, progressCallback) {\r\n\r\n function _async(callback) {\r\n if (typeof s === 'string' && typeof salt === 'number')\r\n bcrypt.genSalt(salt, function(err, salt) {\r\n _hash(s, salt, callback, progressCallback);\r\n });\r\n else if (typeof s === 'string' && typeof salt === 'string')\r\n _hash(s, salt, callback, progressCallback);\r\n else\r\n nextTick(callback.bind(this, Error(\"Illegal arguments: \"+(typeof s)+', '+(typeof salt))));\r\n }\r\n\r\n if (callback) {\r\n if (typeof callback !== 'function')\r\n throw Error(\"Illegal callback: \"+typeof(callback));\r\n _async(callback);\r\n } else\r\n return new Promise(function(resolve, reject) {\r\n _async(function(err, res) {\r\n if (err) {\r\n reject(err);\r\n return;\r\n }\r\n resolve(res);\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Compares two strings of the same length in constant time.\r\n * @param {string} known Must be of the correct length\r\n * @param {string} unknown Must be the same length as `known`\r\n * @returns {boolean}\r\n * @inner\r\n */\r\n function safeStringCompare(known, unknown) {\r\n var right = 0,\r\n wrong = 0;\r\n for (var i=0, k=known.length; i} UTF8 bytes\r\n * @inner\r\n */\r\n function stringToBytes(str) {\r\n var out = [],\r\n i = 0;\r\n utfx.encodeUTF16toUTF8(function() {\r\n if (i >= str.length) return null;\r\n return str.charCodeAt(i++);\r\n }, function(b) {\r\n out.push(b);\r\n });\r\n return out;\r\n }\r\n\r\n // A base64 implementation for the bcrypt algorithm. This is partly non-standard.\r\n\r\n /**\r\n * bcrypt's own non-standard base64 dictionary.\r\n * @type {!Array.}\r\n * @const\r\n * @inner\r\n **/\r\n var BASE64_CODE = \"./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".split('');\r\n\r\n /**\r\n * @type {!Array.}\r\n * @const\r\n * @inner\r\n **/\r\n var BASE64_INDEX = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\r\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\r\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,\r\n 1, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, -1, -1, -1, -1,\r\n -1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\r\n 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, 28, 29, 30,\r\n 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\r\n 48, 49, 50, 51, 52, 53, -1, -1, -1, -1, -1];\r\n\r\n /**\r\n * @type {!function(...number):string}\r\n * @inner\r\n */\r\n var stringFromCharCode = String.fromCharCode;\r\n\r\n /**\r\n * Encodes a byte array to base64 with up to len bytes of input.\r\n * @param {!Array.} b Byte array\r\n * @param {number} len Maximum input length\r\n * @returns {string}\r\n * @inner\r\n */\r\n function base64_encode(b, len) {\r\n var off = 0,\r\n rs = [],\r\n c1, c2;\r\n if (len <= 0 || len > b.length)\r\n throw Error(\"Illegal len: \"+len);\r\n while (off < len) {\r\n c1 = b[off++] & 0xff;\r\n rs.push(BASE64_CODE[(c1 >> 2) & 0x3f]);\r\n c1 = (c1 & 0x03) << 4;\r\n if (off >= len) {\r\n rs.push(BASE64_CODE[c1 & 0x3f]);\r\n break;\r\n }\r\n c2 = b[off++] & 0xff;\r\n c1 |= (c2 >> 4) & 0x0f;\r\n rs.push(BASE64_CODE[c1 & 0x3f]);\r\n c1 = (c2 & 0x0f) << 2;\r\n if (off >= len) {\r\n rs.push(BASE64_CODE[c1 & 0x3f]);\r\n break;\r\n }\r\n c2 = b[off++] & 0xff;\r\n c1 |= (c2 >> 6) & 0x03;\r\n rs.push(BASE64_CODE[c1 & 0x3f]);\r\n rs.push(BASE64_CODE[c2 & 0x3f]);\r\n }\r\n return rs.join('');\r\n }\r\n\r\n /**\r\n * Decodes a base64 encoded string to up to len bytes of output.\r\n * @param {string} s String to decode\r\n * @param {number} len Maximum output length\r\n * @returns {!Array.}\r\n * @inner\r\n */\r\n function base64_decode(s, len) {\r\n var off = 0,\r\n slen = s.length,\r\n olen = 0,\r\n rs = [],\r\n c1, c2, c3, c4, o, code;\r\n if (len <= 0)\r\n throw Error(\"Illegal len: \"+len);\r\n while (off < slen - 1 && olen < len) {\r\n code = s.charCodeAt(off++);\r\n c1 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\r\n code = s.charCodeAt(off++);\r\n c2 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\r\n if (c1 == -1 || c2 == -1)\r\n break;\r\n o = (c1 << 2) >>> 0;\r\n o |= (c2 & 0x30) >> 4;\r\n rs.push(stringFromCharCode(o));\r\n if (++olen >= len || off >= slen)\r\n break;\r\n code = s.charCodeAt(off++);\r\n c3 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\r\n if (c3 == -1)\r\n break;\r\n o = ((c2 & 0x0f) << 4) >>> 0;\r\n o |= (c3 & 0x3c) >> 2;\r\n rs.push(stringFromCharCode(o));\r\n if (++olen >= len || off >= slen)\r\n break;\r\n code = s.charCodeAt(off++);\r\n c4 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1;\r\n o = ((c3 & 0x03) << 6) >>> 0;\r\n o |= c4;\r\n rs.push(stringFromCharCode(o));\r\n ++olen;\r\n }\r\n var res = [];\r\n for (off = 0; off\r\n * Released under the Apache License, Version 2.0\r\n * see: https://github.com/dcodeIO/utfx for details\r\n */\r\n var utfx = function() {\r\n \"use strict\";\r\n\r\n /**\r\n * utfx namespace.\r\n * @inner\r\n * @type {!Object.}\r\n */\r\n var utfx = {};\r\n\r\n /**\r\n * Maximum valid code point.\r\n * @type {number}\r\n * @const\r\n */\r\n utfx.MAX_CODEPOINT = 0x10FFFF;\r\n\r\n /**\r\n * Encodes UTF8 code points to UTF8 bytes.\r\n * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point\r\n * respectively `null` if there are no more code points left or a single numeric code point.\r\n * @param {!function(number)} dst Bytes destination as a function successively called with the next byte\r\n */\r\n utfx.encodeUTF8 = function(src, dst) {\r\n var cp = null;\r\n if (typeof src === 'number')\r\n cp = src,\r\n src = function() { return null; };\r\n while (cp !== null || (cp = src()) !== null) {\r\n if (cp < 0x80)\r\n dst(cp&0x7F);\r\n else if (cp < 0x800)\r\n dst(((cp>>6)&0x1F)|0xC0),\r\n dst((cp&0x3F)|0x80);\r\n else if (cp < 0x10000)\r\n dst(((cp>>12)&0x0F)|0xE0),\r\n dst(((cp>>6)&0x3F)|0x80),\r\n dst((cp&0x3F)|0x80);\r\n else\r\n dst(((cp>>18)&0x07)|0xF0),\r\n dst(((cp>>12)&0x3F)|0x80),\r\n dst(((cp>>6)&0x3F)|0x80),\r\n dst((cp&0x3F)|0x80);\r\n cp = null;\r\n }\r\n };\r\n\r\n /**\r\n * Decodes UTF8 bytes to UTF8 code points.\r\n * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there\r\n * are no more bytes left.\r\n * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point.\r\n * @throws {RangeError} If a starting byte is invalid in UTF8\r\n * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the\r\n * remaining bytes.\r\n */\r\n utfx.decodeUTF8 = function(src, dst) {\r\n var a, b, c, d, fail = function(b) {\r\n b = b.slice(0, b.indexOf(null));\r\n var err = Error(b.toString());\r\n err.name = \"TruncatedError\";\r\n err['bytes'] = b;\r\n throw err;\r\n };\r\n while ((a = src()) !== null) {\r\n if ((a&0x80) === 0)\r\n dst(a);\r\n else if ((a&0xE0) === 0xC0)\r\n ((b = src()) === null) && fail([a, b]),\r\n dst(((a&0x1F)<<6) | (b&0x3F));\r\n else if ((a&0xF0) === 0xE0)\r\n ((b=src()) === null || (c=src()) === null) && fail([a, b, c]),\r\n dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F));\r\n else if ((a&0xF8) === 0xF0)\r\n ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]),\r\n dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F));\r\n else throw RangeError(\"Illegal starting byte: \"+a);\r\n }\r\n };\r\n\r\n /**\r\n * Converts UTF16 characters to UTF8 code points.\r\n * @param {!function():number|null} src Characters source as a function returning the next char code respectively\r\n * `null` if there are no more characters left.\r\n * @param {!function(number)} dst Code points destination as a function successively called with each converted code\r\n * point.\r\n */\r\n utfx.UTF16toUTF8 = function(src, dst) {\r\n var c1, c2 = null;\r\n while (true) {\r\n if ((c1 = c2 !== null ? c2 : src()) === null)\r\n break;\r\n if (c1 >= 0xD800 && c1 <= 0xDFFF) {\r\n if ((c2 = src()) !== null) {\r\n if (c2 >= 0xDC00 && c2 <= 0xDFFF) {\r\n dst((c1-0xD800)*0x400+c2-0xDC00+0x10000);\r\n c2 = null; continue;\r\n }\r\n }\r\n }\r\n dst(c1);\r\n }\r\n if (c2 !== null) dst(c2);\r\n };\r\n\r\n /**\r\n * Converts UTF8 code points to UTF16 characters.\r\n * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point\r\n * respectively `null` if there are no more code points left or a single numeric code point.\r\n * @param {!function(number)} dst Characters destination as a function successively called with each converted char code.\r\n * @throws {RangeError} If a code point is out of range\r\n */\r\n utfx.UTF8toUTF16 = function(src, dst) {\r\n var cp = null;\r\n if (typeof src === 'number')\r\n cp = src, src = function() { return null; };\r\n while (cp !== null || (cp = src()) !== null) {\r\n if (cp <= 0xFFFF)\r\n dst(cp);\r\n else\r\n cp -= 0x10000,\r\n dst((cp>>10)+0xD800),\r\n dst((cp%0x400)+0xDC00);\r\n cp = null;\r\n }\r\n };\r\n\r\n /**\r\n * Converts and encodes UTF16 characters to UTF8 bytes.\r\n * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null`\r\n * if there are no more characters left.\r\n * @param {!function(number)} dst Bytes destination as a function successively called with the next byte.\r\n */\r\n utfx.encodeUTF16toUTF8 = function(src, dst) {\r\n utfx.UTF16toUTF8(src, function(cp) {\r\n utfx.encodeUTF8(cp, dst);\r\n });\r\n };\r\n\r\n /**\r\n * Decodes and converts UTF8 bytes to UTF16 characters.\r\n * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there\r\n * are no more bytes left.\r\n * @param {!function(number)} dst Characters destination as a function successively called with each converted char code.\r\n * @throws {RangeError} If a starting byte is invalid in UTF8\r\n * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes.\r\n */\r\n utfx.decodeUTF8toUTF16 = function(src, dst) {\r\n utfx.decodeUTF8(src, function(cp) {\r\n utfx.UTF8toUTF16(cp, dst);\r\n });\r\n };\r\n\r\n /**\r\n * Calculates the byte length of an UTF8 code point.\r\n * @param {number} cp UTF8 code point\r\n * @returns {number} Byte length\r\n */\r\n utfx.calculateCodePoint = function(cp) {\r\n return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4;\r\n };\r\n\r\n /**\r\n * Calculates the number of UTF8 bytes required to store UTF8 code points.\r\n * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively\r\n * `null` if there are no more code points left.\r\n * @returns {number} The number of UTF8 bytes required\r\n */\r\n utfx.calculateUTF8 = function(src) {\r\n var cp, l=0;\r\n while ((cp = src()) !== null)\r\n l += utfx.calculateCodePoint(cp);\r\n return l;\r\n };\r\n\r\n /**\r\n * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes.\r\n * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively\r\n * `null` if there are no more characters left.\r\n * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1.\r\n */\r\n utfx.calculateUTF16asUTF8 = function(src) {\r\n var n=0, l=0;\r\n utfx.UTF16toUTF8(src, function(cp) {\r\n ++n; l += utfx.calculateCodePoint(cp);\r\n });\r\n return [n,l];\r\n };\r\n\r\n return utfx;\r\n }();\r\n\r\n Date.now = Date.now || function() { return +new Date; };\r\n\r\n /**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\n var BCRYPT_SALT_LEN = 16;\r\n\r\n /**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\n var GENSALT_DEFAULT_LOG2_ROUNDS = 10;\r\n\r\n /**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\n var BLOWFISH_NUM_ROUNDS = 16;\r\n\r\n /**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\n var MAX_EXECUTION_TIME = 100;\r\n\r\n /**\r\n * @type {Array.}\r\n * @const\r\n * @inner\r\n */\r\n var P_ORIG = [\r\n 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822,\r\n 0x299f31d0, 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377,\r\n 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5,\r\n 0xb5470917, 0x9216d5d9, 0x8979fb1b\r\n ];\r\n\r\n /**\r\n * @type {Array.}\r\n * @const\r\n * @inner\r\n */\r\n var S_ORIG = [\r\n 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed,\r\n 0x6a267e96, 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7,\r\n 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3,\r\n 0xf4933d7e, 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,\r\n 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, 0xc5d1b023,\r\n 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e,\r\n 0x6c9e0e8b, 0xb01e8a3e, 0xd71577c1, 0xbd314b27, 0x78af2fda,\r\n 0x55605c60, 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,\r\n 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, 0xa15486af,\r\n 0x7c72e993, 0xb3ee1411, 0x636fbc2a, 0x2ba9c55d, 0x741831f6,\r\n 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, 0x7a325381,\r\n 0x28958677, 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193,\r\n 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, 0xef845d5d,\r\n 0xe98575b1, 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5,\r\n 0x0f6d6ff3, 0x83f44239, 0x2e0b4482, 0xa4842004, 0x69c8f04a,\r\n 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0,\r\n 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, 0x6eef0b6c,\r\n 0x137a3be4, 0xba3bf050, 0x7efb2a98, 0xa1f1651d, 0x39af0176,\r\n 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3,\r\n 0x3b8b5ebe, 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6,\r\n 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, 0x37d0d724,\r\n 0xd00a1248, 0xdb0fead3, 0x49f1c09b, 0x075372c9, 0x80991b7b,\r\n 0x25d479d8, 0xf6e8def7, 0xe3fe501a, 0xb6794c3b, 0x976ce0bd,\r\n 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,\r\n 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f,\r\n 0x9b30952c, 0xcc814544, 0xaf5ebd09, 0xbee3d004, 0xde334afd,\r\n 0x660f2807, 0x192e4bb3, 0xc0cba857, 0x45c8740f, 0xd20b5f39,\r\n 0xb9d3fbdb, 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279,\r\n 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, 0x3c7516df,\r\n 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760,\r\n 0x53317b48, 0x3e00df82, 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e,\r\n 0xdf1769db, 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573,\r\n 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98,\r\n 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, 0x9a53e479, 0xb6f84565,\r\n 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341,\r\n 0xcee4c6e8, 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4,\r\n 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, 0xd08ed1d0,\r\n 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64,\r\n 0x8888b812, 0x900df01c, 0x4fad5ea0, 0x688fc31c, 0xd1cff191,\r\n 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1,\r\n 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, 0xb4a84fe0,\r\n 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, 0x165fa266, 0x80957705,\r\n 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5,\r\n 0xfb9d35cf, 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49,\r\n 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, 0x2464369b,\r\n 0xf009b91e, 0x5563911d, 0x59dfa6aa, 0x78c14389, 0xd95a537f,\r\n 0x207d5ba2, 0x02e5b9c5, 0x83260376, 0x6295cfa9, 0x11c81968,\r\n 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,\r\n 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5,\r\n 0x571be91f, 0xf296ec6b, 0x2a0dd915, 0xb6636521, 0xe7b9f9b6,\r\n 0xff34052e, 0xc5855664, 0x53b02d5d, 0xa99f8fa1, 0x08ba4799,\r\n 0x6e85076a, 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623,\r\n 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, 0xecaa8c71,\r\n 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29,\r\n 0xa0591340, 0xe4183a3e, 0x3f54989a, 0x5b429d65, 0x6b8fe4d6,\r\n 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,\r\n 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f,\r\n 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, 0x687f3584, 0x52a0e286,\r\n 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec,\r\n 0x5716f2b8, 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff,\r\n 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, 0xd19113f9,\r\n 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc,\r\n 0xc8b57634, 0x9af3dda7, 0xa9446146, 0x0fd0030e, 0xecc8c73e,\r\n 0xa4751e41, 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331,\r\n 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, 0x2cb81290,\r\n 0x24977c79, 0x5679b072, 0xbcaf89af, 0xde9a771f, 0xd9930810,\r\n 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6,\r\n 0x9f84cd87, 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c,\r\n 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, 0xef1c1847,\r\n 0x3215d908, 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451,\r\n 0x50940002, 0x133ae4dd, 0x71dff89e, 0x10314e55, 0x81ac77d6,\r\n 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,\r\n 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570,\r\n 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, 0x771fe71c, 0x4e3d06fa,\r\n 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978,\r\n 0x9c10b36a, 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4,\r\n 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, 0x5223a708,\r\n 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883,\r\n 0xb17f37d1, 0x018cff28, 0xc332ddef, 0xbe6c5aa5, 0x65582185,\r\n 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,\r\n 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830,\r\n 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, 0xb5735c90, 0x4c70a239,\r\n 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7, 0x9cab5cab,\r\n 0xb2f3846e, 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50,\r\n 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, 0x9b540b19,\r\n 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77,\r\n 0x11ed935f, 0x16681281, 0x0e358829, 0xc7e61fd6, 0x96dedfa1,\r\n 0x7858ba99, 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696,\r\n 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef,\r\n 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, 0x5d4a14d9, 0xe864b7e3,\r\n 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15,\r\n 0xfacb4fd0, 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105,\r\n 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, 0xcf62a1f2,\r\n 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492,\r\n 0x47848a0b, 0x5692b285, 0x095bbf00, 0xad19489d, 0x1462b174,\r\n 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,\r\n 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759,\r\n 0xcbee7460, 0x4085f2a7, 0xce77326e, 0xa6078084, 0x19f8509e,\r\n 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc,\r\n 0x800bcadc, 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9,\r\n 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, 0xc5c43465,\r\n 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a,\r\n 0xe6e39f2b, 0xdb83adf7, 0xe93d5a68, 0x948140f7, 0xf64c261c,\r\n 0x94692934, 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,\r\n 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, 0x1e39f62e,\r\n 0x97244546, 0x14214f74, 0xbf8b8840, 0x4d95fc1d, 0x96b591af,\r\n 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0,\r\n 0x31cb8504, 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a,\r\n 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, 0x68dc1462,\r\n 0xd7486900, 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c,\r\n 0xb58ce006, 0x7af4d6b6, 0xaace1e7c, 0xd3375fec, 0xce78a399,\r\n 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b,\r\n 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74,\r\n 0xdd5b4332, 0x6841e7f7, 0xca7820fb, 0xfb0af54e, 0xd8feb397,\r\n 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7,\r\n 0xd096954b, 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33,\r\n 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, 0xfdf8e802,\r\n 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22,\r\n 0x48c1133f, 0xc70f86dc, 0x07f9c9ee, 0x41041f0f, 0x404779a4,\r\n 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,\r\n 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2,\r\n 0x02e1329e, 0xaf664fd1, 0xcad18115, 0x6b2395e0, 0x333e92e1,\r\n 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, 0xde720c8c,\r\n 0x2da2f728, 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0,\r\n 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, 0x0a476341,\r\n 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8,\r\n 0x991be14c, 0xdb6e6b0d, 0xc67b5510, 0x6d672c37, 0x2765d43b,\r\n 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b,\r\n 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, 0xbb132f88,\r\n 0x515bad24, 0x7b9479bf, 0x763bd6eb, 0x37392eb3, 0xcc115979,\r\n 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc,\r\n 0x782ef11c, 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350,\r\n 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, 0x44421659,\r\n 0x0a121386, 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f,\r\n 0xbebfe988, 0x64e4c3fe, 0x9dbc8057, 0xf0f7c086, 0x60787bf8,\r\n 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc,\r\n 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be,\r\n 0xbde8ae24, 0x55464299, 0xbf582e61, 0x4e58f48f, 0xf2ddfda2,\r\n 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255,\r\n 0x46fcd9b9, 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2,\r\n 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, 0xb90bace1,\r\n 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09,\r\n 0x662d09a1, 0xc4324633, 0xe85a1f02, 0x09f0be8c, 0x4a99a025,\r\n 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,\r\n 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01,\r\n 0xa70683fa, 0xa002b5c4, 0x0de6d027, 0x9af88c27, 0x773f8641,\r\n 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, 0x006058aa,\r\n 0x30dc7d62, 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634,\r\n 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, 0x6f05e409,\r\n 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9,\r\n 0x1ac15bb4, 0xd39eb8fc, 0xed545578, 0x08fca5b5, 0xd83d7cd3,\r\n 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,\r\n 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0xd79a3234,\r\n 0x92638212, 0x670efa8e, 0x406000e0, 0x3a39ce37, 0xd3faf5cf,\r\n 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, 0xd3822740,\r\n 0x99bc9bbe, 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b,\r\n 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, 0x5748ab2f,\r\n 0xbc946e79, 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d,\r\n 0xd5730a1d, 0x4cd04dc6, 0x2939bbdb, 0xa9ba4650, 0xac9526e8,\r\n 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22,\r\n 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, 0x83c061ba,\r\n 0x9be96a4d, 0x8fe51550, 0xba645bd6, 0x2826a2f9, 0xa73a3ae1,\r\n 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69,\r\n 0x77fa0a59, 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593,\r\n 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, 0x96d5ac3a,\r\n 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, 0x1f9f25cf, 0xadf2b89b,\r\n 0x5ad6b472, 0x5a88f54c, 0xe029ac71, 0xe019a5e6, 0x47b0acfd,\r\n 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,\r\n 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4,\r\n 0x88f46dba, 0x03a16125, 0x0564f0bd, 0xc3eb9e15, 0x3c9057a2,\r\n 0x97271aec, 0xa93a072a, 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb,\r\n 0x26dcf319, 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb,\r\n 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, 0x4de81751,\r\n 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce,\r\n 0x5121ce64, 0x774fbe32, 0xa8b6e37e, 0xc3293d46, 0x48de5369,\r\n 0x6413e680, 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166,\r\n 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd,\r\n 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, 0xdda26a7e, 0x3a59ff45,\r\n 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, 0x8d6612ae,\r\n 0xbf3c6f47, 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370,\r\n 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, 0x4040cb08,\r\n 0x4eb4e2cc, 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d,\r\n 0x06b89fb4, 0xce6ea048, 0x6f3f3b82, 0x3520ab82, 0x011a1d4b,\r\n 0x277227f8, 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd,\r\n 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, 0xe01cc87e,\r\n 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, 0x1a908749, 0xd44fbd9a,\r\n 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c,\r\n 0xe0b12b4f, 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c,\r\n 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, 0xfae59361,\r\n 0xceb69ceb, 0xc2a86459, 0x12baa8d1, 0xb6c1075e, 0xe3056a0c,\r\n 0x10d25065, 0xcb03a442, 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be,\r\n 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,\r\n 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d,\r\n 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, 0xe54cda54, 0x1edad891,\r\n 0xce6279cf, 0xcd3e7e6f, 0x1618b166, 0xfd2c1d05, 0x848fd2c5,\r\n 0xf6fb2299, 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02,\r\n 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, 0xde966292,\r\n 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a,\r\n 0x45e1d006, 0xc3f27b9a, 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2,\r\n 0x35bdd2f6, 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b,\r\n 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, 0xba38209c,\r\n 0xf746ce76, 0x77afa1c5, 0x20756060, 0x85cbfe4e, 0x8ae88dd8,\r\n 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, 0x01c36ae4,\r\n 0xd6ebe1f9, 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f,\r\n 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6\r\n ];\r\n\r\n /**\r\n * @type {Array.}\r\n * @const\r\n * @inner\r\n */\r\n var C_ORIG = [\r\n 0x4f727068, 0x65616e42, 0x65686f6c, 0x64657253, 0x63727944,\r\n 0x6f756274\r\n ];\r\n\r\n /**\r\n * @param {Array.} lr\r\n * @param {number} off\r\n * @param {Array.} P\r\n * @param {Array.} S\r\n * @returns {Array.}\r\n * @inner\r\n */\r\n function _encipher(lr, off, P, S) { // This is our bottleneck: 1714/1905 ticks / 90% - see profile.txt\r\n var n,\r\n l = lr[off],\r\n r = lr[off + 1];\r\n\r\n l ^= P[0];\r\n\r\n /*\r\n for (var i=0, k=BLOWFISH_NUM_ROUNDS-2; i<=k;)\r\n // Feistel substitution on left word\r\n n = S[l >>> 24],\r\n n += S[0x100 | ((l >> 16) & 0xff)],\r\n n ^= S[0x200 | ((l >> 8) & 0xff)],\r\n n += S[0x300 | (l & 0xff)],\r\n r ^= n ^ P[++i],\r\n // Feistel substitution on right word\r\n n = S[r >>> 24],\r\n n += S[0x100 | ((r >> 16) & 0xff)],\r\n n ^= S[0x200 | ((r >> 8) & 0xff)],\r\n n += S[0x300 | (r & 0xff)],\r\n l ^= n ^ P[++i];\r\n */\r\n\r\n //The following is an unrolled version of the above loop.\r\n //Iteration 0\r\n n = S[l >>> 24];\r\n n += S[0x100 | ((l >> 16) & 0xff)];\r\n n ^= S[0x200 | ((l >> 8) & 0xff)];\r\n n += S[0x300 | (l & 0xff)];\r\n r ^= n ^ P[1];\r\n n = S[r >>> 24];\r\n n += S[0x100 | ((r >> 16) & 0xff)];\r\n n ^= S[0x200 | ((r >> 8) & 0xff)];\r\n n += S[0x300 | (r & 0xff)];\r\n l ^= n ^ P[2];\r\n //Iteration 1\r\n n = S[l >>> 24];\r\n n += S[0x100 | ((l >> 16) & 0xff)];\r\n n ^= S[0x200 | ((l >> 8) & 0xff)];\r\n n += S[0x300 | (l & 0xff)];\r\n r ^= n ^ P[3];\r\n n = S[r >>> 24];\r\n n += S[0x100 | ((r >> 16) & 0xff)];\r\n n ^= S[0x200 | ((r >> 8) & 0xff)];\r\n n += S[0x300 | (r & 0xff)];\r\n l ^= n ^ P[4];\r\n //Iteration 2\r\n n = S[l >>> 24];\r\n n += S[0x100 | ((l >> 16) & 0xff)];\r\n n ^= S[0x200 | ((l >> 8) & 0xff)];\r\n n += S[0x300 | (l & 0xff)];\r\n r ^= n ^ P[5];\r\n n = S[r >>> 24];\r\n n += S[0x100 | ((r >> 16) & 0xff)];\r\n n ^= S[0x200 | ((r >> 8) & 0xff)];\r\n n += S[0x300 | (r & 0xff)];\r\n l ^= n ^ P[6];\r\n //Iteration 3\r\n n = S[l >>> 24];\r\n n += S[0x100 | ((l >> 16) & 0xff)];\r\n n ^= S[0x200 | ((l >> 8) & 0xff)];\r\n n += S[0x300 | (l & 0xff)];\r\n r ^= n ^ P[7];\r\n n = S[r >>> 24];\r\n n += S[0x100 | ((r >> 16) & 0xff)];\r\n n ^= S[0x200 | ((r >> 8) & 0xff)];\r\n n += S[0x300 | (r & 0xff)];\r\n l ^= n ^ P[8];\r\n //Iteration 4\r\n n = S[l >>> 24];\r\n n += S[0x100 | ((l >> 16) & 0xff)];\r\n n ^= S[0x200 | ((l >> 8) & 0xff)];\r\n n += S[0x300 | (l & 0xff)];\r\n r ^= n ^ P[9];\r\n n = S[r >>> 24];\r\n n += S[0x100 | ((r >> 16) & 0xff)];\r\n n ^= S[0x200 | ((r >> 8) & 0xff)];\r\n n += S[0x300 | (r & 0xff)];\r\n l ^= n ^ P[10];\r\n //Iteration 5\r\n n = S[l >>> 24];\r\n n += S[0x100 | ((l >> 16) & 0xff)];\r\n n ^= S[0x200 | ((l >> 8) & 0xff)];\r\n n += S[0x300 | (l & 0xff)];\r\n r ^= n ^ P[11];\r\n n = S[r >>> 24];\r\n n += S[0x100 | ((r >> 16) & 0xff)];\r\n n ^= S[0x200 | ((r >> 8) & 0xff)];\r\n n += S[0x300 | (r & 0xff)];\r\n l ^= n ^ P[12];\r\n //Iteration 6\r\n n = S[l >>> 24];\r\n n += S[0x100 | ((l >> 16) & 0xff)];\r\n n ^= S[0x200 | ((l >> 8) & 0xff)];\r\n n += S[0x300 | (l & 0xff)];\r\n r ^= n ^ P[13];\r\n n = S[r >>> 24];\r\n n += S[0x100 | ((r >> 16) & 0xff)];\r\n n ^= S[0x200 | ((r >> 8) & 0xff)];\r\n n += S[0x300 | (r & 0xff)];\r\n l ^= n ^ P[14];\r\n //Iteration 7\r\n n = S[l >>> 24];\r\n n += S[0x100 | ((l >> 16) & 0xff)];\r\n n ^= S[0x200 | ((l >> 8) & 0xff)];\r\n n += S[0x300 | (l & 0xff)];\r\n r ^= n ^ P[15];\r\n n = S[r >>> 24];\r\n n += S[0x100 | ((r >> 16) & 0xff)];\r\n n ^= S[0x200 | ((r >> 8) & 0xff)];\r\n n += S[0x300 | (r & 0xff)];\r\n l ^= n ^ P[16];\r\n\r\n lr[off] = r ^ P[BLOWFISH_NUM_ROUNDS + 1];\r\n lr[off + 1] = l;\r\n return lr;\r\n }\r\n\r\n /**\r\n * @param {Array.} data\r\n * @param {number} offp\r\n * @returns {{key: number, offp: number}}\r\n * @inner\r\n */\r\n function _streamtoword(data, offp) {\r\n for (var i = 0, word = 0; i < 4; ++i)\r\n word = (word << 8) | (data[offp] & 0xff),\r\n offp = (offp + 1) % data.length;\r\n return { key: word, offp: offp };\r\n }\r\n\r\n /**\r\n * @param {Array.} key\r\n * @param {Array.} P\r\n * @param {Array.} S\r\n * @inner\r\n */\r\n function _key(key, P, S) {\r\n var offset = 0,\r\n lr = [0, 0],\r\n plen = P.length,\r\n slen = S.length,\r\n sw;\r\n for (var i = 0; i < plen; i++)\r\n sw = _streamtoword(key, offset),\r\n offset = sw.offp,\r\n P[i] = P[i] ^ sw.key;\r\n for (i = 0; i < plen; i += 2)\r\n lr = _encipher(lr, 0, P, S),\r\n P[i] = lr[0],\r\n P[i + 1] = lr[1];\r\n for (i = 0; i < slen; i += 2)\r\n lr = _encipher(lr, 0, P, S),\r\n S[i] = lr[0],\r\n S[i + 1] = lr[1];\r\n }\r\n\r\n /**\r\n * Expensive key schedule Blowfish.\r\n * @param {Array.} data\r\n * @param {Array.} key\r\n * @param {Array.} P\r\n * @param {Array.} S\r\n * @inner\r\n */\r\n function _ekskey(data, key, P, S) {\r\n var offp = 0,\r\n lr = [0, 0],\r\n plen = P.length,\r\n slen = S.length,\r\n sw;\r\n for (var i = 0; i < plen; i++)\r\n sw = _streamtoword(key, offp),\r\n offp = sw.offp,\r\n P[i] = P[i] ^ sw.key;\r\n offp = 0;\r\n for (i = 0; i < plen; i += 2)\r\n sw = _streamtoword(data, offp),\r\n offp = sw.offp,\r\n lr[0] ^= sw.key,\r\n sw = _streamtoword(data, offp),\r\n offp = sw.offp,\r\n lr[1] ^= sw.key,\r\n lr = _encipher(lr, 0, P, S),\r\n P[i] = lr[0],\r\n P[i + 1] = lr[1];\r\n for (i = 0; i < slen; i += 2)\r\n sw = _streamtoword(data, offp),\r\n offp = sw.offp,\r\n lr[0] ^= sw.key,\r\n sw = _streamtoword(data, offp),\r\n offp = sw.offp,\r\n lr[1] ^= sw.key,\r\n lr = _encipher(lr, 0, P, S),\r\n S[i] = lr[0],\r\n S[i + 1] = lr[1];\r\n }\r\n\r\n /**\r\n * Internaly crypts a string.\r\n * @param {Array.} b Bytes to crypt\r\n * @param {Array.} salt Salt bytes to use\r\n * @param {number} rounds Number of rounds\r\n * @param {function(Error, Array.=)=} callback Callback receiving the error, if any, and the resulting bytes. If\r\n * omitted, the operation will be performed synchronously.\r\n * @param {function(number)=} progressCallback Callback called with the current progress\r\n * @returns {!Array.|undefined} Resulting bytes if callback has been omitted, otherwise `undefined`\r\n * @inner\r\n */\r\n function _crypt(b, salt, rounds, callback, progressCallback) {\r\n var cdata = C_ORIG.slice(),\r\n clen = cdata.length,\r\n err;\r\n\r\n // Validate\r\n if (rounds < 4 || rounds > 31) {\r\n err = Error(\"Illegal number of rounds (4-31): \"+rounds);\r\n if (callback) {\r\n nextTick(callback.bind(this, err));\r\n return;\r\n } else\r\n throw err;\r\n }\r\n if (salt.length !== BCRYPT_SALT_LEN) {\r\n err =Error(\"Illegal salt length: \"+salt.length+\" != \"+BCRYPT_SALT_LEN);\r\n if (callback) {\r\n nextTick(callback.bind(this, err));\r\n return;\r\n } else\r\n throw err;\r\n }\r\n rounds = (1 << rounds) >>> 0;\r\n\r\n var P, S, i = 0, j;\r\n\r\n //Use typed arrays when available - huge speedup!\r\n if (Int32Array) {\r\n P = new Int32Array(P_ORIG);\r\n S = new Int32Array(S_ORIG);\r\n } else {\r\n P = P_ORIG.slice();\r\n S = S_ORIG.slice();\r\n }\r\n\r\n _ekskey(salt, b, P, S);\r\n\r\n /**\r\n * Calcualtes the next round.\r\n * @returns {Array.|undefined} Resulting array if callback has been omitted, otherwise `undefined`\r\n * @inner\r\n */\r\n function next() {\r\n if (progressCallback)\r\n progressCallback(i / rounds);\r\n if (i < rounds) {\r\n var start = Date.now();\r\n for (; i < rounds;) {\r\n i = i + 1;\r\n _key(b, P, S);\r\n _key(salt, P, S);\r\n if (Date.now() - start > MAX_EXECUTION_TIME)\r\n break;\r\n }\r\n } else {\r\n for (i = 0; i < 64; i++)\r\n for (j = 0; j < (clen >> 1); j++)\r\n _encipher(cdata, j << 1, P, S);\r\n var ret = [];\r\n for (i = 0; i < clen; i++)\r\n ret.push(((cdata[i] >> 24) & 0xff) >>> 0),\r\n ret.push(((cdata[i] >> 16) & 0xff) >>> 0),\r\n ret.push(((cdata[i] >> 8) & 0xff) >>> 0),\r\n ret.push((cdata[i] & 0xff) >>> 0);\r\n if (callback) {\r\n callback(null, ret);\r\n return;\r\n } else\r\n return ret;\r\n }\r\n if (callback)\r\n nextTick(next);\r\n }\r\n\r\n // Async\r\n if (typeof callback !== 'undefined') {\r\n next();\r\n\r\n // Sync\r\n } else {\r\n var res;\r\n while (true)\r\n if (typeof(res = next()) !== 'undefined')\r\n return res || [];\r\n }\r\n }\r\n\r\n /**\r\n * Internally hashes a string.\r\n * @param {string} s String to hash\r\n * @param {?string} salt Salt to use, actually never null\r\n * @param {function(Error, string=)=} callback Callback receiving the error, if any, and the resulting hash. If omitted,\r\n * hashing is perormed synchronously.\r\n * @param {function(number)=} progressCallback Callback called with the current progress\r\n * @returns {string|undefined} Resulting hash if callback has been omitted, otherwise `undefined`\r\n * @inner\r\n */\r\n function _hash(s, salt, callback, progressCallback) {\r\n var err;\r\n if (typeof s !== 'string' || typeof salt !== 'string') {\r\n err = Error(\"Invalid string / salt: Not a string\");\r\n if (callback) {\r\n nextTick(callback.bind(this, err));\r\n return;\r\n }\r\n else\r\n throw err;\r\n }\r\n\r\n // Validate the salt\r\n var minor, offset;\r\n if (salt.charAt(0) !== '$' || salt.charAt(1) !== '2') {\r\n err = Error(\"Invalid salt version: \"+salt.substring(0,2));\r\n if (callback) {\r\n nextTick(callback.bind(this, err));\r\n return;\r\n }\r\n else\r\n throw err;\r\n }\r\n if (salt.charAt(2) === '$')\r\n minor = String.fromCharCode(0),\r\n offset = 3;\r\n else {\r\n minor = salt.charAt(2);\r\n if ((minor !== 'a' && minor !== 'b' && minor !== 'y') || salt.charAt(3) !== '$') {\r\n err = Error(\"Invalid salt revision: \"+salt.substring(2,4));\r\n if (callback) {\r\n nextTick(callback.bind(this, err));\r\n return;\r\n } else\r\n throw err;\r\n }\r\n offset = 4;\r\n }\r\n\r\n // Extract number of rounds\r\n if (salt.charAt(offset + 2) > '$') {\r\n err = Error(\"Missing salt rounds\");\r\n if (callback) {\r\n nextTick(callback.bind(this, err));\r\n return;\r\n } else\r\n throw err;\r\n }\r\n var r1 = parseInt(salt.substring(offset, offset + 1), 10) * 10,\r\n r2 = parseInt(salt.substring(offset + 1, offset + 2), 10),\r\n rounds = r1 + r2,\r\n real_salt = salt.substring(offset + 3, offset + 25);\r\n s += minor >= 'a' ? \"\\x00\" : \"\";\r\n\r\n var passwordb = stringToBytes(s),\r\n saltb = base64_decode(real_salt, BCRYPT_SALT_LEN);\r\n\r\n /**\r\n * Finishes hashing.\r\n * @param {Array.} bytes Byte array\r\n * @returns {string}\r\n * @inner\r\n */\r\n function finish(bytes) {\r\n var res = [];\r\n res.push(\"$2\");\r\n if (minor >= 'a')\r\n res.push(minor);\r\n res.push(\"$\");\r\n if (rounds < 10)\r\n res.push(\"0\");\r\n res.push(rounds.toString());\r\n res.push(\"$\");\r\n res.push(base64_encode(saltb, saltb.length));\r\n res.push(base64_encode(bytes, C_ORIG.length * 4 - 1));\r\n return res.join('');\r\n }\r\n\r\n // Sync\r\n if (typeof callback == 'undefined')\r\n return finish(_crypt(passwordb, saltb, rounds));\r\n\r\n // Async\r\n else {\r\n _crypt(passwordb, saltb, rounds, function(err, bytes) {\r\n if (err)\r\n callback(err, null);\r\n else\r\n callback(null, finish(bytes));\r\n }, progressCallback);\r\n }\r\n }\r\n\r\n /**\r\n * Encodes a byte array to base64 with up to len bytes of input, using the custom bcrypt alphabet.\r\n * @function\r\n * @param {!Array.} b Byte array\r\n * @param {number} len Maximum input length\r\n * @returns {string}\r\n * @expose\r\n */\r\n bcrypt.encodeBase64 = base64_encode;\r\n\r\n /**\r\n * Decodes a base64 encoded string to up to len bytes of output, using the custom bcrypt alphabet.\r\n * @function\r\n * @param {string} s String to decode\r\n * @param {number} len Maximum output length\r\n * @returns {!Array.}\r\n * @expose\r\n */\r\n bcrypt.decodeBase64 = base64_decode;\r\n\r\n return bcrypt;\r\n}));\r\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attributeNames = exports.elementNames = void 0;\nexports.elementNames = new Map([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"clipPath\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"foreignObject\",\n \"glyphRef\",\n \"linearGradient\",\n \"radialGradient\",\n \"textPath\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\nexports.attributeNames = new Map([\n \"definitionURL\",\n \"attributeName\",\n \"attributeType\",\n \"baseFrequency\",\n \"baseProfile\",\n \"calcMode\",\n \"clipPathUnits\",\n \"diffuseConstant\",\n \"edgeMode\",\n \"filterUnits\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerUnits\",\n \"markerWidth\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"numOctaves\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"refX\",\n \"refY\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"specularConstant\",\n \"specularExponent\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stitchTiles\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textLength\",\n \"viewBox\",\n \"viewTarget\",\n \"xChannelSelector\",\n \"yChannelSelector\",\n \"zoomAndPan\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.render = void 0;\n/*\n * Module dependencies\n */\nvar ElementType = __importStar(require(\"domelementtype\"));\nvar entities_1 = require(\"entities\");\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nvar foreignNames_js_1 = require(\"./foreignNames.js\");\nvar unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\nfunction replaceQuotes(value) {\n return value.replace(/\"/g, \""\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n var _a;\n if (!attributes)\n return;\n var encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false\n ? replaceQuotes\n : opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? entities_1.encodeXML\n : entities_1.escapeAttribute;\n return Object.keys(attributes)\n .map(function (key) {\n var _a, _b;\n var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = foreignNames_js_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return \"\".concat(key, \"=\\\"\").concat(encode(value), \"\\\"\");\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nvar singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nfunction render(node, options) {\n if (options === void 0) { options = {}; }\n var nodes = \"length\" in node ? node : [node];\n var output = \"\";\n for (var i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexports.render = render;\nexports.default = render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n // @ts-expect-error We don't use `Doctype` yet\n case ElementType.Doctype:\n case ElementType.Directive:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nvar foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nvar foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = foreignNames_js_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: false });\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: \"foreign\" });\n }\n var tag = \"<\".concat(elem.name);\n var attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += \" \".concat(attribs);\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += \"\");\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return \"<\".concat(elem.data, \">\");\n}\nfunction renderText(elem, opts) {\n var _a;\n var data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data =\n opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? (0, entities_1.encodeXML)(data)\n : (0, entities_1.escapeText)(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return \"\");\n}\nfunction renderComment(elem) {\n return \"\");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for `.\n this.sequenceIndex = Number(c === CharCodes.Lt);\n }\n };\n Tokenizer.prototype.stateCDATASequence = function (c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n }\n else {\n this.sequenceIndex = 0;\n this.state = State.InDeclaration;\n this.stateInDeclaration(c); // Reconsume the character\n }\n };\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n Tokenizer.prototype.fastForwardTo = function (c) {\n while (++this.index < this.buffer.length + this.offset) {\n if (this.buffer.charCodeAt(this.index - this.offset) === c) {\n return true;\n }\n }\n /*\n * We increment the index at the end of the `parse` loop,\n * so set it to `buffer.length - 1` here.\n *\n * TODO: Refactor `parse` to increment index before calling states.\n */\n this.index = this.buffer.length + this.offset - 1;\n return false;\n };\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n Tokenizer.prototype.stateInCommentLike = function (c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index, 2);\n }\n else {\n this.cbs.oncomment(this.sectionStart, this.index, 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = State.Text;\n }\n }\n else if (this.sequenceIndex === 0) {\n // Fast-forward to the first character of the sequence\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n }\n else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n // Allow long sequences, eg. --->, ]]]>\n this.sequenceIndex = 0;\n }\n };\n /**\n * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.\n *\n * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).\n * We allow anything that wouldn't end the tag.\n */\n Tokenizer.prototype.isTagStartChar = function (c) {\n return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);\n };\n Tokenizer.prototype.startSpecial = function (sequence, offset) {\n this.isSpecial = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n this.state = State.SpecialStartSequence;\n };\n Tokenizer.prototype.stateBeforeTagName = function (c) {\n if (c === CharCodes.ExclamationMark) {\n this.state = State.BeforeDeclaration;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Questionmark) {\n this.state = State.InProcessingInstruction;\n this.sectionStart = this.index + 1;\n }\n else if (this.isTagStartChar(c)) {\n var lower = c | 0x20;\n this.sectionStart = this.index;\n if (!this.xmlMode && lower === Sequences.TitleEnd[2]) {\n this.startSpecial(Sequences.TitleEnd, 3);\n }\n else {\n this.state =\n !this.xmlMode && lower === Sequences.ScriptEnd[2]\n ? State.BeforeSpecialS\n : State.InTagName;\n }\n }\n else if (c === CharCodes.Slash) {\n this.state = State.BeforeClosingTagName;\n }\n else {\n this.state = State.Text;\n this.stateText(c);\n }\n };\n Tokenizer.prototype.stateInTagName = function (c) {\n if (isEndOfTagSection(c)) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateBeforeClosingTagName = function (c) {\n if (isWhitespace(c)) {\n // Ignore\n }\n else if (c === CharCodes.Gt) {\n this.state = State.Text;\n }\n else {\n this.state = this.isTagStartChar(c)\n ? State.InClosingTagName\n : State.InSpecialComment;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInClosingTagName = function (c) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterClosingTagName;\n this.stateAfterClosingTagName(c);\n }\n };\n Tokenizer.prototype.stateAfterClosingTagName = function (c) {\n // Skip everything until \">\"\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeName = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onopentagend(this.index);\n if (this.isSpecial) {\n this.state = State.InSpecialTag;\n this.sequenceIndex = 0;\n }\n else {\n this.state = State.Text;\n }\n this.baseState = this.state;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Slash) {\n this.state = State.InSelfClosingTag;\n }\n else if (!isWhitespace(c)) {\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInSelfClosingTag = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onselfclosingtag(this.index);\n this.state = State.Text;\n this.baseState = State.Text;\n this.sectionStart = this.index + 1;\n this.isSpecial = false; // Reset special state, in case of self-closing special tags\n }\n else if (!isWhitespace(c)) {\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateInAttributeName = function (c) {\n if (c === CharCodes.Eq || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterAttributeName;\n this.stateAfterAttributeName(c);\n }\n };\n Tokenizer.prototype.stateAfterAttributeName = function (c) {\n if (c === CharCodes.Eq) {\n this.state = State.BeforeAttributeValue;\n }\n else if (c === CharCodes.Slash || c === CharCodes.Gt) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (!isWhitespace(c)) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeValue = function (c) {\n if (c === CharCodes.DoubleQuote) {\n this.state = State.InAttributeValueDq;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.SingleQuote) {\n this.state = State.InAttributeValueSq;\n this.sectionStart = this.index + 1;\n }\n else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = State.InAttributeValueNq;\n this.stateInAttributeValueNoQuotes(c); // Reconsume token\n }\n };\n Tokenizer.prototype.handleInAttributeValue = function (c, quote) {\n if (c === quote ||\n (!this.decodeEntities && this.fastForwardTo(quote))) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(quote === CharCodes.DoubleQuote\n ? QuoteType.Double\n : QuoteType.Single, this.index);\n this.state = State.BeforeAttributeName;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateInAttributeValueDoubleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.DoubleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueSingleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.SingleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueNoQuotes = function (c) {\n if (isWhitespace(c) || c === CharCodes.Gt) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(QuoteType.Unquoted, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateBeforeDeclaration = function (c) {\n if (c === CharCodes.OpeningSquareBracket) {\n this.state = State.CDATASequence;\n this.sequenceIndex = 0;\n }\n else {\n this.state =\n c === CharCodes.Dash\n ? State.BeforeComment\n : State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInDeclaration = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.ondeclaration(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateInProcessingInstruction = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeComment = function (c) {\n if (c === CharCodes.Dash) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CommentEnd;\n // Allow short comments (eg. )\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n }\n else {\n this.state = State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInSpecialComment = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.oncomment(this.sectionStart, this.index, 0);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeSpecialS = function (c) {\n var lower = c | 0x20;\n if (lower === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n }\n else if (lower === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n };\n Tokenizer.prototype.stateBeforeEntity = function (c) {\n // Start excess with 1 to include the '&'\n this.entityExcess = 1;\n this.entityResult = 0;\n if (c === CharCodes.Num) {\n this.state = State.BeforeNumericEntity;\n }\n else if (c === CharCodes.Amp) {\n // We have two `&` characters in a row. Stay in the current state.\n }\n else {\n this.trieIndex = 0;\n this.trieCurrent = this.entityTrie[0];\n this.state = State.InNamedEntity;\n this.stateInNamedEntity(c);\n }\n };\n Tokenizer.prototype.stateInNamedEntity = function (c) {\n this.entityExcess += 1;\n this.trieIndex = (0, decode_js_1.determineBranch)(this.entityTrie, this.trieCurrent, this.trieIndex + 1, c);\n if (this.trieIndex < 0) {\n this.emitNamedEntity();\n this.index--;\n return;\n }\n this.trieCurrent = this.entityTrie[this.trieIndex];\n var masked = this.trieCurrent & decode_js_1.BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (masked >> 14) - 1;\n // If we have a legacy entity while parsing strictly, just skip the number of bytes\n if (!this.allowLegacyEntity() && c !== CharCodes.Semi) {\n this.trieIndex += valueLength;\n }\n else {\n // Add 1 as we have already incremented the excess\n var entityStart = this.index - this.entityExcess + 1;\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n // If this is a surrogate pair, consume the next two bytes\n this.entityResult = this.trieIndex;\n this.trieIndex += valueLength;\n this.entityExcess = 0;\n this.sectionStart = this.index + 1;\n if (valueLength === 0) {\n this.emitNamedEntity();\n }\n }\n }\n };\n Tokenizer.prototype.emitNamedEntity = function () {\n this.state = this.baseState;\n if (this.entityResult === 0) {\n return;\n }\n var valueLength = (this.entityTrie[this.entityResult] & decode_js_1.BinTrieFlags.VALUE_LENGTH) >>\n 14;\n switch (valueLength) {\n case 1:\n this.emitCodePoint(this.entityTrie[this.entityResult] &\n ~decode_js_1.BinTrieFlags.VALUE_LENGTH);\n break;\n case 2:\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n break;\n case 3: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n this.emitCodePoint(this.entityTrie[this.entityResult + 2]);\n }\n }\n };\n Tokenizer.prototype.stateBeforeNumericEntity = function (c) {\n if ((c | 0x20) === CharCodes.LowerX) {\n this.entityExcess++;\n this.state = State.InHexEntity;\n }\n else {\n this.state = State.InNumericEntity;\n this.stateInNumericEntity(c);\n }\n };\n Tokenizer.prototype.emitNumericEntity = function (strict) {\n var entityStart = this.index - this.entityExcess - 1;\n var numberStart = entityStart + 2 + Number(this.state === State.InHexEntity);\n if (numberStart !== this.index) {\n // Emit leading data if any\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n this.sectionStart = this.index + Number(strict);\n this.emitCodePoint((0, decode_js_1.replaceCodePoint)(this.entityResult));\n }\n this.state = this.baseState;\n };\n Tokenizer.prototype.stateInNumericEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 10 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.stateInHexEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 16 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else if (isHexDigit(c)) {\n this.entityResult =\n this.entityResult * 16 + ((c | 0x20) - CharCodes.LowerA + 10);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.allowLegacyEntity = function () {\n return (!this.xmlMode &&\n (this.baseState === State.Text ||\n this.baseState === State.InSpecialTag));\n };\n /**\n * Remove data that has already been consumed from the buffer.\n */\n Tokenizer.prototype.cleanup = function () {\n // If we are inside of text or attributes, emit what we already have.\n if (this.running && this.sectionStart !== this.index) {\n if (this.state === State.Text ||\n (this.state === State.InSpecialTag && this.sequenceIndex === 0)) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n else if (this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueNq) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n };\n Tokenizer.prototype.shouldContinue = function () {\n return this.index < this.buffer.length + this.offset && this.running;\n };\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n Tokenizer.prototype.parse = function () {\n while (this.shouldContinue()) {\n var c = this.buffer.charCodeAt(this.index - this.offset);\n if (this.state === State.Text) {\n this.stateText(c);\n }\n else if (this.state === State.SpecialStartSequence) {\n this.stateSpecialStartSequence(c);\n }\n else if (this.state === State.InSpecialTag) {\n this.stateInSpecialTag(c);\n }\n else if (this.state === State.CDATASequence) {\n this.stateCDATASequence(c);\n }\n else if (this.state === State.InAttributeValueDq) {\n this.stateInAttributeValueDoubleQuotes(c);\n }\n else if (this.state === State.InAttributeName) {\n this.stateInAttributeName(c);\n }\n else if (this.state === State.InCommentLike) {\n this.stateInCommentLike(c);\n }\n else if (this.state === State.InSpecialComment) {\n this.stateInSpecialComment(c);\n }\n else if (this.state === State.BeforeAttributeName) {\n this.stateBeforeAttributeName(c);\n }\n else if (this.state === State.InTagName) {\n this.stateInTagName(c);\n }\n else if (this.state === State.InClosingTagName) {\n this.stateInClosingTagName(c);\n }\n else if (this.state === State.BeforeTagName) {\n this.stateBeforeTagName(c);\n }\n else if (this.state === State.AfterAttributeName) {\n this.stateAfterAttributeName(c);\n }\n else if (this.state === State.InAttributeValueSq) {\n this.stateInAttributeValueSingleQuotes(c);\n }\n else if (this.state === State.BeforeAttributeValue) {\n this.stateBeforeAttributeValue(c);\n }\n else if (this.state === State.BeforeClosingTagName) {\n this.stateBeforeClosingTagName(c);\n }\n else if (this.state === State.AfterClosingTagName) {\n this.stateAfterClosingTagName(c);\n }\n else if (this.state === State.BeforeSpecialS) {\n this.stateBeforeSpecialS(c);\n }\n else if (this.state === State.InAttributeValueNq) {\n this.stateInAttributeValueNoQuotes(c);\n }\n else if (this.state === State.InSelfClosingTag) {\n this.stateInSelfClosingTag(c);\n }\n else if (this.state === State.InDeclaration) {\n this.stateInDeclaration(c);\n }\n else if (this.state === State.BeforeDeclaration) {\n this.stateBeforeDeclaration(c);\n }\n else if (this.state === State.BeforeComment) {\n this.stateBeforeComment(c);\n }\n else if (this.state === State.InProcessingInstruction) {\n this.stateInProcessingInstruction(c);\n }\n else if (this.state === State.InNamedEntity) {\n this.stateInNamedEntity(c);\n }\n else if (this.state === State.BeforeEntity) {\n this.stateBeforeEntity(c);\n }\n else if (this.state === State.InHexEntity) {\n this.stateInHexEntity(c);\n }\n else if (this.state === State.InNumericEntity) {\n this.stateInNumericEntity(c);\n }\n else {\n // `this._state === State.BeforeNumericEntity`\n this.stateBeforeNumericEntity(c);\n }\n this.index++;\n }\n this.cleanup();\n };\n Tokenizer.prototype.finish = function () {\n if (this.state === State.InNamedEntity) {\n this.emitNamedEntity();\n }\n // If there is remaining data, emit it in a reasonable way\n if (this.sectionStart < this.index) {\n this.handleTrailingData();\n }\n this.cbs.onend();\n };\n /** Handle any trailing data. */\n Tokenizer.prototype.handleTrailingData = function () {\n var endIndex = this.buffer.length + this.offset;\n if (this.state === State.InCommentLike) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex, 0);\n }\n else {\n this.cbs.oncomment(this.sectionStart, endIndex, 0);\n }\n }\n else if (this.state === State.InNumericEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InHexEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InTagName ||\n this.state === State.BeforeAttributeName ||\n this.state === State.BeforeAttributeValue ||\n this.state === State.AfterAttributeName ||\n this.state === State.InAttributeName ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueNq ||\n this.state === State.InClosingTagName) {\n /*\n * If we are currently in an opening or closing tag, us not calling the\n * respective callback signals that the tag should be ignored.\n */\n }\n else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n };\n Tokenizer.prototype.emitPartial = function (start, endIndex) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribdata(start, endIndex);\n }\n else {\n this.cbs.ontext(start, endIndex);\n }\n };\n Tokenizer.prototype.emitCodePoint = function (cp) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribentity(cp);\n }\n else {\n this.cbs.ontextentity(cp);\n }\n };\n return Tokenizer;\n}());\nexports.default = Tokenizer;\n//# sourceMappingURL=Tokenizer.js.map","\"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 __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultHandler = exports.DomUtils = exports.parseFeed = exports.getFeed = exports.ElementType = exports.Tokenizer = exports.createDomStream = exports.parseDOM = exports.parseDocument = exports.DomHandler = exports.Parser = void 0;\nvar Parser_js_1 = require(\"./Parser.js\");\nObject.defineProperty(exports, \"Parser\", { enumerable: true, get: function () { return Parser_js_1.Parser; } });\nvar domhandler_1 = require(\"domhandler\");\nObject.defineProperty(exports, \"DomHandler\", { enumerable: true, get: function () { return domhandler_1.DomHandler; } });\nObject.defineProperty(exports, \"DefaultHandler\", { enumerable: true, get: function () { return domhandler_1.DomHandler; } });\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n */\nfunction parseDocument(data, options) {\n var handler = new domhandler_1.DomHandler(undefined, options);\n new Parser_js_1.Parser(handler, options).end(data);\n return handler.root;\n}\nexports.parseDocument = parseDocument;\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n * @deprecated Use `parseDocument` instead.\n */\nfunction parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\nexports.parseDOM = parseDOM;\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param cb A callback that will be called once parsing has been completed.\n * @param options Optional options for the parser and DOM builder.\n * @param elementCb An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nfunction createDomStream(cb, options, elementCb) {\n var handler = new domhandler_1.DomHandler(cb, options, elementCb);\n return new Parser_js_1.Parser(handler, options);\n}\nexports.createDomStream = createDomStream;\nvar Tokenizer_js_1 = require(\"./Tokenizer.js\");\nObject.defineProperty(exports, \"Tokenizer\", { enumerable: true, get: function () { return __importDefault(Tokenizer_js_1).default; } });\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nvar ElementType = __importStar(require(\"domelementtype\"));\nexports.ElementType = ElementType;\nvar domutils_1 = require(\"domutils\");\nObject.defineProperty(exports, \"getFeed\", { enumerable: true, get: function () { return domutils_1.getFeed; } });\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nfunction parseFeed(feed, options) {\n if (options === void 0) { options = { xmlMode: true }; }\n return (0, domutils_1.getFeed)(parseDOM(feed, options));\n}\nexports.parseFeed = parseFeed;\nexports.DomUtils = __importStar(require(\"domutils\"));\n//# sourceMappingURL=index.js.map","'use strict';\n\nexports = module.exports = require('./lib/parser')['default'];\nexports['default'] = exports;\n","\"use strict\";\n\nexports[\"default\"] = (function() {\n \"use strict\";\n\n /*\n * Generated by PEG.js 0.9.0.\n *\n * http://pegjs.org/\n */\n\n function peg$subclass(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n }\n\n function peg$SyntaxError(message, expected, found, location) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, peg$SyntaxError);\n }\n }\n\n peg$subclass(peg$SyntaxError, Error);\n\n function peg$parse(input) {\n var options = arguments.length > 1 ? arguments[1] : {},\n parser = this,\n\n peg$FAILED = {},\n\n peg$startRuleFunctions = { start: peg$parsestart },\n peg$startRuleFunction = peg$parsestart,\n\n peg$c0 = function(elements) {\n return {\n type : 'messageFormatPattern',\n elements: elements,\n location: location()\n };\n },\n peg$c1 = function(text) {\n var string = '',\n i, j, outerLen, inner, innerLen;\n\n for (i = 0, outerLen = text.length; i < outerLen; i += 1) {\n inner = text[i];\n\n for (j = 0, innerLen = inner.length; j < innerLen; j += 1) {\n string += inner[j];\n }\n }\n\n return string;\n },\n peg$c2 = function(messageText) {\n return {\n type : 'messageTextElement',\n value: messageText,\n location: location()\n };\n },\n peg$c3 = /^[^ \\t\\n\\r,.+={}#]/,\n peg$c4 = { type: \"class\", value: \"[^ \\\\t\\\\n\\\\r,.+={}#]\", description: \"[^ \\\\t\\\\n\\\\r,.+={}#]\" },\n peg$c5 = \"{\",\n peg$c6 = { type: \"literal\", value: \"{\", description: \"\\\"{\\\"\" },\n peg$c7 = \",\",\n peg$c8 = { type: \"literal\", value: \",\", description: \"\\\",\\\"\" },\n peg$c9 = \"}\",\n peg$c10 = { type: \"literal\", value: \"}\", description: \"\\\"}\\\"\" },\n peg$c11 = function(id, format) {\n return {\n type : 'argumentElement',\n id : id,\n format: format && format[2],\n location: location()\n };\n },\n peg$c12 = \"number\",\n peg$c13 = { type: \"literal\", value: \"number\", description: \"\\\"number\\\"\" },\n peg$c14 = \"date\",\n peg$c15 = { type: \"literal\", value: \"date\", description: \"\\\"date\\\"\" },\n peg$c16 = \"time\",\n peg$c17 = { type: \"literal\", value: \"time\", description: \"\\\"time\\\"\" },\n peg$c18 = function(type, style) {\n return {\n type : type + 'Format',\n style: style && style[2],\n location: location()\n };\n },\n peg$c19 = \"plural\",\n peg$c20 = { type: \"literal\", value: \"plural\", description: \"\\\"plural\\\"\" },\n peg$c21 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: false,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n };\n },\n peg$c22 = \"selectordinal\",\n peg$c23 = { type: \"literal\", value: \"selectordinal\", description: \"\\\"selectordinal\\\"\" },\n peg$c24 = function(pluralStyle) {\n return {\n type : pluralStyle.type,\n ordinal: true,\n offset : pluralStyle.offset || 0,\n options: pluralStyle.options,\n location: location()\n }\n },\n peg$c25 = \"select\",\n peg$c26 = { type: \"literal\", value: \"select\", description: \"\\\"select\\\"\" },\n peg$c27 = function(options) {\n return {\n type : 'selectFormat',\n options: options,\n location: location()\n };\n },\n peg$c28 = \"=\",\n peg$c29 = { type: \"literal\", value: \"=\", description: \"\\\"=\\\"\" },\n peg$c30 = function(selector, pattern) {\n return {\n type : 'optionalFormatPattern',\n selector: selector,\n value : pattern,\n location: location()\n };\n },\n peg$c31 = \"offset:\",\n peg$c32 = { type: \"literal\", value: \"offset:\", description: \"\\\"offset:\\\"\" },\n peg$c33 = function(number) {\n return number;\n },\n peg$c34 = function(offset, options) {\n return {\n type : 'pluralFormat',\n offset : offset,\n options: options,\n location: location()\n };\n },\n peg$c35 = { type: \"other\", description: \"whitespace\" },\n peg$c36 = /^[ \\t\\n\\r]/,\n peg$c37 = { type: \"class\", value: \"[ \\\\t\\\\n\\\\r]\", description: \"[ \\\\t\\\\n\\\\r]\" },\n peg$c38 = { type: \"other\", description: \"optionalWhitespace\" },\n peg$c39 = /^[0-9]/,\n peg$c40 = { type: \"class\", value: \"[0-9]\", description: \"[0-9]\" },\n peg$c41 = /^[0-9a-f]/i,\n peg$c42 = { type: \"class\", value: \"[0-9a-f]i\", description: \"[0-9a-f]i\" },\n peg$c43 = \"0\",\n peg$c44 = { type: \"literal\", value: \"0\", description: \"\\\"0\\\"\" },\n peg$c45 = /^[1-9]/,\n peg$c46 = { type: \"class\", value: \"[1-9]\", description: \"[1-9]\" },\n peg$c47 = function(digits) {\n return parseInt(digits, 10);\n },\n peg$c48 = /^[^{}\\\\\\0-\\x1F \\t\\n\\r]/,\n peg$c49 = { type: \"class\", value: \"[^{}\\\\\\\\\\\\0-\\\\x1F\\\\x7f \\\\t\\\\n\\\\r]\", description: \"[^{}\\\\\\\\\\\\0-\\\\x1F\\\\x7f \\\\t\\\\n\\\\r]\" },\n peg$c50 = \"\\\\\\\\\",\n peg$c51 = { type: \"literal\", value: \"\\\\\\\\\", description: \"\\\"\\\\\\\\\\\\\\\\\\\"\" },\n peg$c52 = function() { return '\\\\'; },\n peg$c53 = \"\\\\#\",\n peg$c54 = { type: \"literal\", value: \"\\\\#\", description: \"\\\"\\\\\\\\#\\\"\" },\n peg$c55 = function() { return '\\\\#'; },\n peg$c56 = \"\\\\{\",\n peg$c57 = { type: \"literal\", value: \"\\\\{\", description: \"\\\"\\\\\\\\{\\\"\" },\n peg$c58 = function() { return '\\u007B'; },\n peg$c59 = \"\\\\}\",\n peg$c60 = { type: \"literal\", value: \"\\\\}\", description: \"\\\"\\\\\\\\}\\\"\" },\n peg$c61 = function() { return '\\u007D'; },\n peg$c62 = \"\\\\u\",\n peg$c63 = { type: \"literal\", value: \"\\\\u\", description: \"\\\"\\\\\\\\u\\\"\" },\n peg$c64 = function(digits) {\n return String.fromCharCode(parseInt(digits, 16));\n },\n peg$c65 = function(chars) { return chars.join(''); },\n\n peg$currPos = 0,\n peg$savedPos = 0,\n peg$posDetailsCache = [{ line: 1, column: 1, seenCR: false }],\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description) {\n throw peg$buildException(\n null,\n [{ type: \"other\", description: description }],\n input.substring(peg$savedPos, peg$currPos),\n peg$computeLocation(peg$savedPos, peg$currPos)\n );\n }\n\n function error(message) {\n throw peg$buildException(\n message,\n null,\n input.substring(peg$savedPos, peg$currPos),\n peg$computeLocation(peg$savedPos, peg$currPos)\n );\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos],\n p, ch;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column,\n seenCR: details.seenCR\n };\n\n while (p < pos) {\n ch = input.charAt(p);\n if (ch === \"\\n\") {\n if (!details.seenCR) { details.line++; }\n details.column = 1;\n details.seenCR = false;\n } else if (ch === \"\\r\" || ch === \"\\u2028\" || ch === \"\\u2029\") {\n details.line++;\n details.column = 1;\n details.seenCR = true;\n } else {\n details.column++;\n details.seenCR = false;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos),\n endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildException(message, expected, found, location) {\n function cleanupExpected(expected) {\n var i = 1;\n\n expected.sort(function(a, b) {\n if (a.description < b.description) {\n return -1;\n } else if (a.description > b.description) {\n return 1;\n } else {\n return 0;\n }\n });\n\n while (i < expected.length) {\n if (expected[i - 1] === expected[i]) {\n expected.splice(i, 1);\n } else {\n i++;\n }\n }\n }\n\n function buildMessage(expected, found) {\n function stringEscape(s) {\n function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }\n\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\x08/g, '\\\\b')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\f/g, '\\\\f')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x07\\x0B\\x0E\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x80-\\xFF]/g, function(ch) { return '\\\\x' + hex(ch); })\n .replace(/[\\u0100-\\u0FFF]/g, function(ch) { return '\\\\u0' + hex(ch); })\n .replace(/[\\u1000-\\uFFFF]/g, function(ch) { return '\\\\u' + hex(ch); });\n }\n\n var expectedDescs = new Array(expected.length),\n expectedDesc, foundDesc, i;\n\n for (i = 0; i < expected.length; i++) {\n expectedDescs[i] = expected[i].description;\n }\n\n expectedDesc = expected.length > 1\n ? expectedDescs.slice(0, -1).join(\", \")\n + \" or \"\n + expectedDescs[expected.length - 1]\n : expectedDescs[0];\n\n foundDesc = found ? \"\\\"\" + stringEscape(found) + \"\\\"\" : \"end of input\";\n\n return \"Expected \" + expectedDesc + \" but \" + foundDesc + \" found.\";\n }\n\n if (expected !== null) {\n cleanupExpected(expected);\n }\n\n return new peg$SyntaxError(\n message !== null ? message : buildMessage(expected, found),\n expected,\n found,\n location\n );\n }\n\n function peg$parsestart() {\n var s0;\n\n s0 = peg$parsemessageFormatPattern();\n\n return s0;\n }\n\n function peg$parsemessageFormatPattern() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsemessageFormatElement();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsemessageFormatElement();\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsemessageFormatElement() {\n var s0;\n\n s0 = peg$parsemessageTextElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n }\n\n return s0;\n }\n\n function peg$parsemessageText() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsechars();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsews();\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n }\n\n return s0;\n }\n\n function peg$parsemessageTextElement() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c2(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parseargument() {\n var s0, s1, s2;\n\n s0 = peg$parsenumber();\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = [];\n if (peg$c3.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n if (peg$c3.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c4); }\n }\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n }\n\n return s0;\n }\n\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c5;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c6); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargument();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s6 = peg$c7;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n s8 = peg$parseelementFormat();\n if (s8 !== peg$FAILED) {\n s6 = [s6, s7, s8];\n s5 = s6;\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n } else {\n peg$currPos = s5;\n s5 = peg$FAILED;\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c9;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s3, s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseelementFormat() {\n var s0;\n\n s0 = peg$parsesimpleFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectOrdinalFormat();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectFormat();\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsesimpleFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c13); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c14) {\n s1 = peg$c14;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c15); }\n }\n if (s1 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c16) {\n s1 = peg$c16;\n peg$currPos += 4;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c17); }\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s4 = peg$c7;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsechars();\n if (s6 !== peg$FAILED) {\n s4 = [s4, s5, s6];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c19) {\n s1 = peg$c19;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c20); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectOrdinalFormat() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 13) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 13;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c23); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsepluralStyle();\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselectFormat() {\n var s0, s1, s2, s3, s4, s5, s6;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c25) {\n s1 = peg$c25;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c26); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s3 = peg$c7;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c8); }\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = peg$parseoptionalFormatPattern();\n if (s6 !== peg$FAILED) {\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = peg$parseoptionalFormatPattern();\n }\n } else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseselector() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c28;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c29); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parsechars();\n }\n\n return s0;\n }\n\n function peg$parseoptionalFormatPattern() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseselector();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c5;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c6); }\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessageFormatPattern();\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n if (s7 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s8 = peg$c9;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s8 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c30(s2, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseoffset() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c31) {\n s1 = peg$c31;\n peg$currPos += 7;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c32); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c33(s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsepluralStyle() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parseoffset();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parseoptionalFormatPattern();\n if (s4 !== peg$FAILED) {\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parseoptionalFormatPattern();\n }\n } else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c34(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsews() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = [];\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c37); }\n }\n }\n } else {\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1, s2;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsews();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsews();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n } else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c38); }\n }\n\n return s0;\n }\n\n function peg$parsedigit() {\n var s0;\n\n if (peg$c39.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c40); }\n }\n\n return s0;\n }\n\n function peg$parsehexDigit() {\n var s0;\n\n if (peg$c41.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c42); }\n }\n\n return s0;\n }\n\n function peg$parsenumber() {\n var s0, s1, s2, s3, s4, s5;\n\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c43;\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c44); }\n }\n if (s1 === peg$FAILED) {\n s1 = peg$currPos;\n s2 = peg$currPos;\n if (peg$c45.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c46); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsedigit();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsedigit();\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n } else {\n s1 = s2;\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c47(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsechar() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n if (peg$c48.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c49); }\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c50) {\n s1 = peg$c50;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c51); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c53) {\n s1 = peg$c53;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c54); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c56) {\n s1 = peg$c56;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c57); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c58();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c59) {\n s1 = peg$c59;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c60); }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c62) {\n s1 = peg$c62;\n peg$currPos += 2;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c63); }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$currPos;\n s3 = peg$currPos;\n s4 = peg$parsehexDigit();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsehexDigit();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsehexDigit();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsehexDigit();\n if (s7 !== peg$FAILED) {\n s4 = [s4, s5, s6, s7];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = input.substring(s2, peg$currPos);\n } else {\n s2 = s3;\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c64(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsechars() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsechar();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsechar();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c65(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail({ type: \"end\", description: \"end of input\" });\n }\n\n throw peg$buildException(\n null,\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n }\n\n return {\n SyntaxError: peg$SyntaxError,\n parse: peg$parse\n };\n})();\n\n//# sourceMappingURL=parser.js.map","/* jshint node:true */\n\n'use strict';\n\nvar IntlRelativeFormat = require('./lib/main')['default'];\n\n// Add all locale data to `IntlRelativeFormat`. This module will be ignored when\n// bundling for the browser with Browserify/Webpack.\nrequire('./lib/locales');\n\n// Re-export `IntlRelativeFormat` as the CommonJS default exports with all the\n// locale data registered, and with English set as the default locale. Define\n// the `default` prop for use with other compiled ES6 Modules.\nexports = module.exports = IntlRelativeFormat;\nexports['default'] = exports;\n","\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* jslint esnext: true */\nvar intl_messageformat_1 = require(\"intl-messageformat\");\nvar diff_1 = require(\"./diff\");\nvar es5_1 = require(\"./es5\");\nexports.default = RelativeFormat;\n// -----------------------------------------------------------------------------\nvar FIELDS = [\n 'second', 'second-short',\n 'minute', 'minute-short',\n 'hour', 'hour-short',\n 'day', 'day-short',\n 'month', 'month-short',\n 'year', 'year-short'\n];\nvar STYLES = ['best fit', 'numeric'];\n// -- RelativeFormat -----------------------------------------------------------\nfunction RelativeFormat(locales, options) {\n options = options || {};\n // Make a copy of `locales` if it's an array, so that it doesn't change\n // since it's used lazily.\n if (es5_1.isArray(locales)) {\n locales = locales.concat();\n }\n es5_1.defineProperty(this, '_locale', { value: this._resolveLocale(locales) });\n es5_1.defineProperty(this, '_options', { value: {\n style: this._resolveStyle(options.style),\n units: this._isValidUnits(options.units) && options.units\n } });\n es5_1.defineProperty(this, '_locales', { value: locales });\n es5_1.defineProperty(this, '_fields', { value: this._findFields(this._locale) });\n es5_1.defineProperty(this, '_messages', { value: es5_1.objCreate(null) });\n // \"Bind\" `format()` method to `this` so it can be passed by reference like\n // the other `Intl` APIs.\n var relativeFormat = this;\n this.format = function format(date, options) {\n return relativeFormat._format(date, options);\n };\n}\n// Define internal private properties for dealing with locale data.\nes5_1.defineProperty(RelativeFormat, '__localeData__', { value: es5_1.objCreate(null) });\nes5_1.defineProperty(RelativeFormat, '__addLocaleData', { value: function () {\n for (var i = 0; i < arguments.length; i++) {\n var datum = arguments[i];\n if (!(datum && datum.locale)) {\n throw new Error('Locale data provided to IntlRelativeFormat is missing a ' +\n '`locale` property value');\n }\n RelativeFormat.__localeData__[datum.locale.toLowerCase()] = datum;\n // Add data to IntlMessageFormat.\n intl_messageformat_1.default.__addLocaleData(datum);\n }\n } });\n// Define public `defaultLocale` property which can be set by the developer, or\n// it will be set when the first RelativeFormat instance is created by\n// leveraging the resolved locale from `Intl`.\nes5_1.defineProperty(RelativeFormat, 'defaultLocale', {\n enumerable: true,\n writable: true,\n value: undefined\n});\n// Define public `thresholds` property which can be set by the developer, and\n// defaults to relative time thresholds from moment.js.\nes5_1.defineProperty(RelativeFormat, 'thresholds', {\n enumerable: true,\n value: {\n second: 45, 'second-short': 45,\n minute: 45, 'minute-short': 45,\n hour: 22, 'hour-short': 22,\n day: 26, 'day-short': 26,\n month: 11, 'month-short': 11 // months to year\n }\n});\nRelativeFormat.prototype.resolvedOptions = function () {\n return {\n locale: this._locale,\n style: this._options.style,\n units: this._options.units\n };\n};\nRelativeFormat.prototype._compileMessage = function (units) {\n // `this._locales` is the original set of locales the user specified to the\n // constructor, while `this._locale` is the resolved root locale.\n var locales = this._locales;\n var resolvedLocale = this._locale;\n var field = this._fields[units];\n var relativeTime = field.relativeTime;\n var future = '';\n var past = '';\n var i;\n for (i in relativeTime.future) {\n if (relativeTime.future.hasOwnProperty(i)) {\n future += ' ' + i + ' {' +\n relativeTime.future[i].replace('{0}', '#') + '}';\n }\n }\n for (i in relativeTime.past) {\n if (relativeTime.past.hasOwnProperty(i)) {\n past += ' ' + i + ' {' +\n relativeTime.past[i].replace('{0}', '#') + '}';\n }\n }\n var message = '{when, select, future {{0, plural, ' + future + '}}' +\n 'past {{0, plural, ' + past + '}}}';\n // Create the synthetic IntlMessageFormat instance using the original\n // locales value specified by the user when constructing the the parent\n // IntlRelativeFormat instance.\n return new intl_messageformat_1.default(message, locales);\n};\nRelativeFormat.prototype._getMessage = function (units) {\n var messages = this._messages;\n // Create a new synthetic message based on the locale data from CLDR.\n if (!messages[units]) {\n messages[units] = this._compileMessage(units);\n }\n return messages[units];\n};\nRelativeFormat.prototype._getRelativeUnits = function (diff, units) {\n var field = this._fields[units];\n if (field.relative) {\n return field.relative[diff];\n }\n};\nRelativeFormat.prototype._findFields = function (locale) {\n var localeData = RelativeFormat.__localeData__;\n var data = localeData[locale.toLowerCase()];\n // The locale data is de-duplicated, so we have to traverse the locale's\n // hierarchy until we find `fields` to return.\n while (data) {\n if (data.fields) {\n return data.fields;\n }\n data = data.parentLocale && localeData[data.parentLocale.toLowerCase()];\n }\n throw new Error('Locale data added to IntlRelativeFormat is missing `fields` for :' +\n locale);\n};\nRelativeFormat.prototype._format = function (date, options) {\n var now = options && options.now !== undefined ? options.now : es5_1.dateNow();\n if (date === undefined) {\n date = now;\n }\n // Determine if the `date` and optional `now` values are valid, and throw a\n // similar error to what `Intl.DateTimeFormat#format()` would throw.\n if (!isFinite(now)) {\n throw new RangeError('The `now` option provided to IntlRelativeFormat#format() is not ' +\n 'in valid range.');\n }\n if (!isFinite(date)) {\n throw new RangeError('The date value provided to IntlRelativeFormat#format() is not ' +\n 'in valid range.');\n }\n var diffReport = diff_1.default(now, date);\n var units = this._options.units || this._selectUnits(diffReport);\n var diffInUnits = diffReport[units];\n if (this._options.style !== 'numeric') {\n var relativeUnits = this._getRelativeUnits(diffInUnits, units);\n if (relativeUnits) {\n return relativeUnits;\n }\n }\n return this._getMessage(units).format({\n '0': Math.abs(diffInUnits),\n when: diffInUnits < 0 ? 'past' : 'future'\n });\n};\nRelativeFormat.prototype._isValidUnits = function (units) {\n if (!units || es5_1.arrIndexOf.call(FIELDS, units) >= 0) {\n return true;\n }\n if (typeof units === 'string') {\n var suggestion = /s$/.test(units) && units.substr(0, units.length - 1);\n if (suggestion && es5_1.arrIndexOf.call(FIELDS, suggestion) >= 0) {\n throw new Error('\"' + units + '\" is not a valid IntlRelativeFormat `units` ' +\n 'value, did you mean: ' + suggestion);\n }\n }\n throw new Error('\"' + units + '\" is not a valid IntlRelativeFormat `units` value, it ' +\n 'must be one of: \"' + FIELDS.join('\", \"') + '\"');\n};\nRelativeFormat.prototype._resolveLocale = function (locales) {\n if (typeof locales === 'string') {\n locales = [locales];\n }\n // Create a copy of the array so we can push on the default locale.\n locales = (locales || []).concat(RelativeFormat.defaultLocale);\n var localeData = RelativeFormat.__localeData__;\n var i, len, localeParts, data;\n // Using the set of locales + the default locale, we look for the first one\n // which that has been registered. When data does not exist for a locale, we\n // traverse its ancestors to find something that's been registered within\n // its hierarchy of locales. Since we lack the proper `parentLocale` data\n // here, we must take a naive approach to traversal.\n for (i = 0, len = locales.length; i < len; i += 1) {\n localeParts = locales[i].toLowerCase().split('-');\n while (localeParts.length) {\n data = localeData[localeParts.join('-')];\n if (data) {\n // Return the normalized locale string; e.g., we return \"en-US\",\n // instead of \"en-us\".\n return data.locale;\n }\n localeParts.pop();\n }\n }\n var defaultLocale = locales.pop();\n throw new Error('No locale data has been added to IntlRelativeFormat for: ' +\n locales.join(', ') + ', or the default locale: ' + defaultLocale);\n};\nRelativeFormat.prototype._resolveStyle = function (style) {\n // Default to \"best fit\" style.\n if (!style) {\n return STYLES[0];\n }\n if (es5_1.arrIndexOf.call(STYLES, style) >= 0) {\n return style;\n }\n throw new Error('\"' + style + '\" is not a valid IntlRelativeFormat `style` value, it ' +\n 'must be one of: \"' + STYLES.join('\", \"') + '\"');\n};\nRelativeFormat.prototype._selectUnits = function (diffReport) {\n var i, l, units;\n var fields = FIELDS.filter(function (field) {\n return field.indexOf('-short') < 1;\n });\n for (i = 0, l = fields.length; i < l; i += 1) {\n units = fields[i];\n if (Math.abs(diffReport[units]) < RelativeFormat.thresholds[units]) {\n break;\n }\n }\n return units;\n};\n//# sourceMappingURL=core.js.map","\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* jslint esnext: true */\nvar round = Math.round;\nfunction daysToYears(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n return days * 400 / 146097;\n}\n// Thanks to date-fns\n// https://github.com/date-fns/date-fns\n// MIT © Sasha Koss\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar MILLISECONDS_IN_DAY = 86400000;\nfunction startOfDay(dirtyDate) {\n var date = new Date(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() -\n startOfDayLeft.getTimezoneOffset() * MILLISECONDS_IN_MINUTE;\n var timestampRight = startOfDayRight.getTime() -\n startOfDayRight.getTimezoneOffset() * MILLISECONDS_IN_MINUTE;\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}\nfunction default_1(from, to) {\n // Convert to ms timestamps.\n from = +from;\n to = +to;\n var millisecond = round(to - from), second = round(millisecond / 1000), minute = round(second / 60), hour = round(minute / 60);\n // We expect a more precision in rounding when dealing with\n // days as it feels wrong when something happended 13 hours ago and\n // is regarded as \"yesterday\" even if the time was this morning.\n var day = differenceInCalendarDays(to, from);\n var week = round(day / 7);\n var rawYears = daysToYears(day), month = round(rawYears * 12), year = round(rawYears);\n return {\n millisecond: millisecond,\n second: second,\n 'second-short': second,\n minute: minute,\n 'minute-short': minute,\n hour: hour,\n 'hour-short': hour,\n day: day,\n 'day-short': day,\n week: week,\n 'week-short': week,\n month: month,\n 'month-short': month,\n year: year,\n 'year-short': year\n };\n}\nexports.default = default_1;\n//# sourceMappingURL=diff.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* @generated */\nexports.default = { \"locale\": \"en\", \"pluralRuleFunction\": function (n, ord) {\n var s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);\n if (ord)\n return (n10 == 1 && n100 != 11) ? 'one'\n : (n10 == 2 && n100 != 12) ? 'two'\n : (n10 == 3 && n100 != 13) ? 'few'\n : 'other';\n return (n == 1 && v0) ? 'one' : 'other';\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"year-short\": { \"displayName\": \"yr.\", \"relative\": { \"0\": \"this yr.\", \"1\": \"next yr.\", \"-1\": \"last yr.\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} yr.\", \"other\": \"in {0} yr.\" }, \"past\": { \"one\": \"{0} yr. ago\", \"other\": \"{0} yr. ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"month-short\": { \"displayName\": \"mo.\", \"relative\": { \"0\": \"this mo.\", \"1\": \"next mo.\", \"-1\": \"last mo.\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} mo.\", \"other\": \"in {0} mo.\" }, \"past\": { \"one\": \"{0} mo. ago\", \"other\": \"{0} mo. ago\" } } }, \"week\": { \"displayName\": \"week\", \"relativePeriod\": \"the week of {0}\", \"relative\": { \"0\": \"this week\", \"1\": \"next week\", \"-1\": \"last week\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} week\", \"other\": \"in {0} weeks\" }, \"past\": { \"one\": \"{0} week ago\", \"other\": \"{0} weeks ago\" } } }, \"week-short\": { \"displayName\": \"wk.\", \"relativePeriod\": \"the week of {0}\", \"relative\": { \"0\": \"this wk.\", \"1\": \"next wk.\", \"-1\": \"last wk.\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} wk.\", \"other\": \"in {0} wk.\" }, \"past\": { \"one\": \"{0} wk. ago\", \"other\": \"{0} wk. ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"day-short\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"hour-short\": { \"displayName\": \"hr.\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hr.\", \"other\": \"in {0} hr.\" }, \"past\": { \"one\": \"{0} hr. ago\", \"other\": \"{0} hr. ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"minute-short\": { \"displayName\": \"min.\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} min.\", \"other\": \"in {0} min.\" }, \"past\": { \"one\": \"{0} min. ago\", \"other\": \"{0} min. ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } }, \"second-short\": { \"displayName\": \"sec.\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} sec.\", \"other\": \"in {0} sec.\" }, \"past\": { \"one\": \"{0} sec. ago\", \"other\": \"{0} sec. ago\" } } } } };\n//# sourceMappingURL=en.js.map","\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* jslint esnext: true */\n// Purposely using the same implementation as the Intl.js `Intl` polyfill.\n// Copyright 2013 Andy Earnshaw, MIT License\nvar hop = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\nvar realDefineProp = (function () {\n try {\n return !!Object.defineProperty({}, 'a', {});\n }\n catch (e) {\n return false;\n }\n})();\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\nvar defineProperty = realDefineProp ? Object.defineProperty :\n function (obj, name, desc) {\n if ('get' in desc && obj.__defineGetter__) {\n obj.__defineGetter__(name, desc.get);\n }\n else if (!hop.call(obj, name) || 'value' in desc) {\n obj[name] = desc.value;\n }\n };\nexports.defineProperty = defineProperty;\nvar objCreate = Object.create || function (proto, props) {\n var obj, k;\n function F() { }\n F.prototype = proto;\n obj = new F();\n for (k in props) {\n if (hop.call(props, k)) {\n defineProperty(obj, k, props[k]);\n }\n }\n return obj;\n};\nexports.objCreate = objCreate;\nvar arrIndexOf = Array.prototype.indexOf || function (search, fromIndex) {\n /*jshint validthis:true */\n var arr = this;\n if (!arr.length) {\n return -1;\n }\n for (var i = fromIndex || 0, max = arr.length; i < max; i++) {\n if (arr[i] === search) {\n return i;\n }\n }\n return -1;\n};\nexports.arrIndexOf = arrIndexOf;\nvar isArray = Array.isArray || function (obj) {\n return toString.call(obj) === '[object Array]';\n};\nexports.isArray = isArray;\nvar dateNow = Date.now || function () {\n return new Date().getTime();\n};\nexports.dateNow = dateNow;\n//# sourceMappingURL=es5.js.map","\"use strict\";\n/* jslint esnext: true */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"./core\");\nvar en_1 = require(\"./en\");\ncore_1.default.__addLocaleData(en_1.default);\ncore_1.default.defaultLocale = 'en';\nexports.default = core_1.default;\n//# sourceMappingURL=main.js.map","/* jshint node:true */\n\n'use strict';\n\nvar IntlMessageFormat = require('./lib/main')['default'];\n\n// Add all locale data to `IntlMessageFormat`. This module will be ignored when\n// bundling for the browser with Browserify/Webpack.\nrequire('./lib/locales');\n\n// Re-export `IntlMessageFormat` as the CommonJS default exports with all the\n// locale data registered, and with English set as the default locale. Define\n// the `default` prop for use with other compiled ES6 Modules.\nexports = module.exports = IntlMessageFormat;\nexports['default'] = exports;\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nexports[\"default\"] = Compiler;\n\nfunction Compiler(locales, formats, pluralFn) {\n this.locales = locales;\n this.formats = formats;\n this.pluralFn = pluralFn;\n}\n\nCompiler.prototype.compile = function (ast) {\n this.pluralStack = [];\n this.currentPlural = null;\n this.pluralNumberFormat = null;\n\n return this.compileMessage(ast);\n};\n\nCompiler.prototype.compileMessage = function (ast) {\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new Error('Message AST is not of type: \"messageFormatPattern\"');\n }\n\n var elements = ast.elements,\n pattern = [];\n\n var i, len, element;\n\n for (i = 0, len = elements.length; i < len; i += 1) {\n element = elements[i];\n\n switch (element.type) {\n case 'messageTextElement':\n pattern.push(this.compileMessageText(element));\n break;\n\n case 'argumentElement':\n pattern.push(this.compileArgument(element));\n break;\n\n default:\n throw new Error('Message element does not have a valid type');\n }\n }\n\n return pattern;\n};\n\nCompiler.prototype.compileMessageText = function (element) {\n // When this `element` is part of plural sub-pattern and its value contains\n // an unescaped '#', use a `PluralOffsetString` helper to properly output\n // the number with the correct offset in the string.\n if (this.currentPlural && /(^|[^\\\\])#/g.test(element.value)) {\n // Create a cache a NumberFormat instance that can be reused for any\n // PluralOffsetString instance in this message.\n if (!this.pluralNumberFormat) {\n this.pluralNumberFormat = new Intl.NumberFormat(this.locales);\n }\n\n return new PluralOffsetString(\n this.currentPlural.id,\n this.currentPlural.format.offset,\n this.pluralNumberFormat,\n element.value);\n }\n\n // Unescape the escaped '#'s in the message text.\n return element.value.replace(/\\\\#/g, '#');\n};\n\nCompiler.prototype.compileArgument = function (element) {\n var format = element.format;\n\n if (!format) {\n return new StringFormat(element.id);\n }\n\n var formats = this.formats,\n locales = this.locales,\n pluralFn = this.pluralFn,\n options;\n\n switch (format.type) {\n case 'numberFormat':\n options = formats.number[format.style];\n return {\n id : element.id,\n format: new Intl.NumberFormat(locales, options).format\n };\n\n case 'dateFormat':\n options = formats.date[format.style];\n return {\n id : element.id,\n format: new Intl.DateTimeFormat(locales, options).format\n };\n\n case 'timeFormat':\n options = formats.time[format.style];\n return {\n id : element.id,\n format: new Intl.DateTimeFormat(locales, options).format\n };\n\n case 'pluralFormat':\n options = this.compileOptions(element);\n return new PluralFormat(\n element.id, format.ordinal, format.offset, options, pluralFn\n );\n\n case 'selectFormat':\n options = this.compileOptions(element);\n return new SelectFormat(element.id, options);\n\n default:\n throw new Error('Message element does not have a valid format type');\n }\n};\n\nCompiler.prototype.compileOptions = function (element) {\n var format = element.format,\n options = format.options,\n optionsHash = {};\n\n // Save the current plural element, if any, then set it to a new value when\n // compiling the options sub-patterns. This conforms the spec's algorithm\n // for handling `\"#\"` syntax in message text.\n this.pluralStack.push(this.currentPlural);\n this.currentPlural = format.type === 'pluralFormat' ? element : null;\n\n var i, len, option;\n\n for (i = 0, len = options.length; i < len; i += 1) {\n option = options[i];\n\n // Compile the sub-pattern and save it under the options's selector.\n optionsHash[option.selector] = this.compileMessage(option.value);\n }\n\n // Pop the plural stack to put back the original current plural value.\n this.currentPlural = this.pluralStack.pop();\n\n return optionsHash;\n};\n\n// -- Compiler Helper Classes --------------------------------------------------\n\nfunction StringFormat(id) {\n this.id = id;\n}\n\nStringFormat.prototype.format = function (value) {\n if (!value && typeof value !== 'number') {\n return '';\n }\n\n return typeof value === 'string' ? value : String(value);\n};\n\nfunction PluralFormat(id, useOrdinal, offset, options, pluralFn) {\n this.id = id;\n this.useOrdinal = useOrdinal;\n this.offset = offset;\n this.options = options;\n this.pluralFn = pluralFn;\n}\n\nPluralFormat.prototype.getOption = function (value) {\n var options = this.options;\n\n var option = options['=' + value] ||\n options[this.pluralFn(value - this.offset, this.useOrdinal)];\n\n return option || options.other;\n};\n\nfunction PluralOffsetString(id, offset, numberFormat, string) {\n this.id = id;\n this.offset = offset;\n this.numberFormat = numberFormat;\n this.string = string;\n}\n\nPluralOffsetString.prototype.format = function (value) {\n var number = this.numberFormat.format(value - this.offset);\n\n return this.string\n .replace(/(^|[^\\\\])#/g, '$1' + number)\n .replace(/\\\\#/g, '#');\n};\n\nfunction SelectFormat(id, options) {\n this.id = id;\n this.options = options;\n}\n\nSelectFormat.prototype.getOption = function (value) {\n var options = this.options;\n return options[value] || options.other;\n};\n\n//# sourceMappingURL=compiler.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nvar src$utils$$ = require(\"./utils\"), src$es5$$ = require(\"./es5\"), src$compiler$$ = require(\"./compiler\"), intl$messageformat$parser$$ = require(\"intl-messageformat-parser\");\nexports[\"default\"] = MessageFormat;\n\n// -- MessageFormat --------------------------------------------------------\n\nfunction MessageFormat(message, locales, formats) {\n // Parse string messages into an AST.\n var ast = typeof message === 'string' ?\n MessageFormat.__parse(message) : message;\n\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n formats = this._mergeFormats(MessageFormat.formats, formats);\n\n // Defined first because it's used to build the format pattern.\n src$es5$$.defineProperty(this, '_locale', {value: this._resolveLocale(locales)});\n\n // Compile the `ast` to a pattern that is highly optimized for repeated\n // `format()` invocations. **Note:** This passes the `locales` set provided\n // to the constructor instead of just the resolved locale.\n var pluralFn = this._findPluralRuleFunction(this._locale);\n var pattern = this._compilePattern(ast, locales, formats, pluralFn);\n\n // \"Bind\" `format()` method to `this` so it can be passed by reference like\n // the other `Intl` APIs.\n var messageFormat = this;\n this.format = function (values) {\n try {\n return messageFormat._format(pattern, values);\n } catch (e) {\n if (e.variableId) {\n throw new Error(\n 'The intl string context variable \\'' + e.variableId + '\\'' +\n ' was not provided to the string \\'' + message + '\\''\n );\n } else {\n throw e;\n }\n }\n };\n}\n\n// Default format options used as the prototype of the `formats` provided to the\n// constructor. These are used when constructing the internal Intl.NumberFormat\n// and Intl.DateTimeFormat instances.\nsrc$es5$$.defineProperty(MessageFormat, 'formats', {\n enumerable: true,\n\n value: {\n number: {\n 'currency': {\n style: 'currency'\n },\n\n 'percent': {\n style: 'percent'\n }\n },\n\n date: {\n 'short': {\n month: 'numeric',\n day : 'numeric',\n year : '2-digit'\n },\n\n 'medium': {\n month: 'short',\n day : 'numeric',\n year : 'numeric'\n },\n\n 'long': {\n month: 'long',\n day : 'numeric',\n year : 'numeric'\n },\n\n 'full': {\n weekday: 'long',\n month : 'long',\n day : 'numeric',\n year : 'numeric'\n }\n },\n\n time: {\n 'short': {\n hour : 'numeric',\n minute: 'numeric'\n },\n\n 'medium': {\n hour : 'numeric',\n minute: 'numeric',\n second: 'numeric'\n },\n\n 'long': {\n hour : 'numeric',\n minute : 'numeric',\n second : 'numeric',\n timeZoneName: 'short'\n },\n\n 'full': {\n hour : 'numeric',\n minute : 'numeric',\n second : 'numeric',\n timeZoneName: 'short'\n }\n }\n }\n});\n\n// Define internal private properties for dealing with locale data.\nsrc$es5$$.defineProperty(MessageFormat, '__localeData__', {value: src$es5$$.objCreate(null)});\nsrc$es5$$.defineProperty(MessageFormat, '__addLocaleData', {value: function (data) {\n if (!(data && data.locale)) {\n throw new Error(\n 'Locale data provided to IntlMessageFormat is missing a ' +\n '`locale` property'\n );\n }\n\n MessageFormat.__localeData__[data.locale.toLowerCase()] = data;\n}});\n\n// Defines `__parse()` static method as an exposed private.\nsrc$es5$$.defineProperty(MessageFormat, '__parse', {value: intl$messageformat$parser$$[\"default\"].parse});\n\n// Define public `defaultLocale` property which defaults to English, but can be\n// set by the developer.\nsrc$es5$$.defineProperty(MessageFormat, 'defaultLocale', {\n enumerable: true,\n writable : true,\n value : undefined\n});\n\nMessageFormat.prototype.resolvedOptions = function () {\n // TODO: Provide anything else?\n return {\n locale: this._locale\n };\n};\n\nMessageFormat.prototype._compilePattern = function (ast, locales, formats, pluralFn) {\n var compiler = new src$compiler$$[\"default\"](locales, formats, pluralFn);\n return compiler.compile(ast);\n};\n\nMessageFormat.prototype._findPluralRuleFunction = function (locale) {\n var localeData = MessageFormat.__localeData__;\n var data = localeData[locale.toLowerCase()];\n\n // The locale data is de-duplicated, so we have to traverse the locale's\n // hierarchy until we find a `pluralRuleFunction` to return.\n while (data) {\n if (data.pluralRuleFunction) {\n return data.pluralRuleFunction;\n }\n\n data = data.parentLocale && localeData[data.parentLocale.toLowerCase()];\n }\n\n throw new Error(\n 'Locale data added to IntlMessageFormat is missing a ' +\n '`pluralRuleFunction` for :' + locale\n );\n};\n\nMessageFormat.prototype._format = function (pattern, values) {\n var result = '',\n i, len, part, id, value, err;\n\n for (i = 0, len = pattern.length; i < len; i += 1) {\n part = pattern[i];\n\n // Exist early for string parts.\n if (typeof part === 'string') {\n result += part;\n continue;\n }\n\n id = part.id;\n\n // Enforce that all required values are provided by the caller.\n if (!(values && src$utils$$.hop.call(values, id))) {\n err = new Error('A value must be provided for: ' + id);\n err.variableId = id;\n throw err;\n }\n\n value = values[id];\n\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (part.options) {\n result += this._format(part.getOption(value), values);\n } else {\n result += part.format(value);\n }\n }\n\n return result;\n};\n\nMessageFormat.prototype._mergeFormats = function (defaults, formats) {\n var mergedFormats = {},\n type, mergedType;\n\n for (type in defaults) {\n if (!src$utils$$.hop.call(defaults, type)) { continue; }\n\n mergedFormats[type] = mergedType = src$es5$$.objCreate(defaults[type]);\n\n if (formats && src$utils$$.hop.call(formats, type)) {\n src$utils$$.extend(mergedType, formats[type]);\n }\n }\n\n return mergedFormats;\n};\n\nMessageFormat.prototype._resolveLocale = function (locales) {\n if (typeof locales === 'string') {\n locales = [locales];\n }\n\n // Create a copy of the array so we can push on the default locale.\n locales = (locales || []).concat(MessageFormat.defaultLocale);\n\n var localeData = MessageFormat.__localeData__;\n var i, len, localeParts, data;\n\n // Using the set of locales + the default locale, we look for the first one\n // which that has been registered. When data does not exist for a locale, we\n // traverse its ancestors to find something that's been registered within\n // its hierarchy of locales. Since we lack the proper `parentLocale` data\n // here, we must take a naive approach to traversal.\n for (i = 0, len = locales.length; i < len; i += 1) {\n localeParts = locales[i].toLowerCase().split('-');\n\n while (localeParts.length) {\n data = localeData[localeParts.join('-')];\n if (data) {\n // Return the normalized locale string; e.g., we return \"en-US\",\n // instead of \"en-us\".\n return data.locale;\n }\n\n localeParts.pop();\n }\n }\n\n var defaultLocale = locales.pop();\n throw new Error(\n 'No locale data has been added to IntlMessageFormat for: ' +\n locales.join(', ') + ', or the default locale: ' + defaultLocale\n );\n};\n\n//# sourceMappingURL=core.js.map","// GENERATED FILE\n\"use strict\";\nexports[\"default\"] = {\"locale\":\"en\",\"pluralRuleFunction\":function (n,ord){var s=String(n).split(\".\"),v0=!s[1],t0=Number(s[0])==n,n10=t0&&s[0].slice(-1),n100=t0&&s[0].slice(-2);if(ord)return n10==1&&n100!=11?\"one\":n10==2&&n100!=12?\"two\":n10==3&&n100!=13?\"few\":\"other\";return n==1&&v0?\"one\":\"other\"}};\n\n//# sourceMappingURL=en.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nvar src$utils$$ = require(\"./utils\");\n\n// Purposely using the same implementation as the Intl.js `Intl` polyfill.\n// Copyright 2013 Andy Earnshaw, MIT License\n\nvar realDefineProp = (function () {\n try { return !!Object.defineProperty({}, 'a', {}); }\n catch (e) { return false; }\n})();\n\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\nvar defineProperty = realDefineProp ? Object.defineProperty :\n function (obj, name, desc) {\n\n if ('get' in desc && obj.__defineGetter__) {\n obj.__defineGetter__(name, desc.get);\n } else if (!src$utils$$.hop.call(obj, name) || 'value' in desc) {\n obj[name] = desc.value;\n }\n};\n\nvar objCreate = Object.create || function (proto, props) {\n var obj, k;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (k in props) {\n if (src$utils$$.hop.call(props, k)) {\n defineProperty(obj, k, props[k]);\n }\n }\n\n return obj;\n};\n\nexports.defineProperty = defineProperty, exports.objCreate = objCreate;\n\n//# sourceMappingURL=es5.js.map","/* jslint esnext: true */\n\n\"use strict\";\nvar src$core$$ = require(\"./core\"), src$en$$ = require(\"./en\");\n\nsrc$core$$[\"default\"].__addLocaleData(src$en$$[\"default\"]);\nsrc$core$$[\"default\"].defaultLocale = 'en';\n\nexports[\"default\"] = src$core$$[\"default\"];\n\n//# sourceMappingURL=main.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nexports.extend = extend;\nvar hop = Object.prototype.hasOwnProperty;\n\nfunction extend(obj) {\n var sources = Array.prototype.slice.call(arguments, 1),\n i, len, source, key;\n\n for (i = 0, len = sources.length; i < len; i += 1) {\n source = sources[i];\n if (!source) { continue; }\n\n for (key in source) {\n if (hop.call(source, key)) {\n obj[key] = source[key];\n }\n }\n }\n\n return obj;\n}\nexports.hop = hop;\n\n//# sourceMappingURL=utils.js.map","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/**\n * Srcset Parser\n *\n * By Alex Bell | MIT License\n *\n * JS Parser for the string value that appears in markup \n *\n * @returns Array [{url: _, d: _, w: _, h:_}, ...]\n *\n * Based super duper closely on the reference algorithm at:\n * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-srcset-attribute\n *\n * Most comments are copied in directly from the spec\n * (except for comments in parens).\n */\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof module === 'object' && module.exports) {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.parseSrcset = factory();\n\t}\n}(this, function () {\n\n\t// 1. Let input be the value passed to this algorithm.\n\treturn function (input) {\n\n\t\t// UTILITY FUNCTIONS\n\n\t\t// Manual is faster than RegEx\n\t\t// http://bjorn.tipling.com/state-and-regular-expressions-in-javascript\n\t\t// http://jsperf.com/whitespace-character/5\n\t\tfunction isSpace(c) {\n\t\t\treturn (c === \"\\u0020\" || // space\n\t\t\tc === \"\\u0009\" || // horizontal tab\n\t\t\tc === \"\\u000A\" || // new line\n\t\t\tc === \"\\u000C\" || // form feed\n\t\t\tc === \"\\u000D\"); // carriage return\n\t\t}\n\n\t\tfunction collectCharacters(regEx) {\n\t\t\tvar chars,\n\t\t\t\tmatch = regEx.exec(input.substring(pos));\n\t\t\tif (match) {\n\t\t\t\tchars = match[ 0 ];\n\t\t\t\tpos += chars.length;\n\t\t\t\treturn chars;\n\t\t\t}\n\t\t}\n\n\t\tvar inputLength = input.length,\n\n\t\t\t// (Don't use \\s, to avoid matching non-breaking space)\n\t\t\tregexLeadingSpaces = /^[ \\t\\n\\r\\u000c]+/,\n\t\t\tregexLeadingCommasOrSpaces = /^[, \\t\\n\\r\\u000c]+/,\n\t\t\tregexLeadingNotSpaces = /^[^ \\t\\n\\r\\u000c]+/,\n\t\t\tregexTrailingCommas = /[,]+$/,\n\t\t\tregexNonNegativeInteger = /^\\d+$/,\n\n\t\t\t// ( Positive or negative or unsigned integers or decimals, without or without exponents.\n\t\t\t// Must include at least one digit.\n\t\t\t// According to spec tests any decimal point must be followed by a digit.\n\t\t\t// No leading plus sign is allowed.)\n\t\t\t// https://html.spec.whatwg.org/multipage/infrastructure.html#valid-floating-point-number\n\t\t\tregexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,\n\n\t\t\turl,\n\t\t\tdescriptors,\n\t\t\tcurrentDescriptor,\n\t\t\tstate,\n\t\t\tc,\n\n\t\t\t// 2. Let position be a pointer into input, initially pointing at the start\n\t\t\t// of the string.\n\t\t\tpos = 0,\n\n\t\t\t// 3. Let candidates be an initially empty source set.\n\t\t\tcandidates = [];\n\n\t\t// 4. Splitting loop: Collect a sequence of characters that are space\n\t\t// characters or U+002C COMMA characters. If any U+002C COMMA characters\n\t\t// were collected, that is a parse error.\n\t\twhile (true) {\n\t\t\tcollectCharacters(regexLeadingCommasOrSpaces);\n\n\t\t\t// 5. If position is past the end of input, return candidates and abort these steps.\n\t\t\tif (pos >= inputLength) {\n\t\t\t\treturn candidates; // (we're done, this is the sole return path)\n\t\t\t}\n\n\t\t\t// 6. Collect a sequence of characters that are not space characters,\n\t\t\t// and let that be url.\n\t\t\turl = collectCharacters(regexLeadingNotSpaces);\n\n\t\t\t// 7. Let descriptors be a new empty list.\n\t\t\tdescriptors = [];\n\n\t\t\t// 8. If url ends with a U+002C COMMA character (,), follow these substeps:\n\t\t\t//\t\t(1). Remove all trailing U+002C COMMA characters from url. If this removed\n\t\t\t// more than one character, that is a parse error.\n\t\t\tif (url.slice(-1) === \",\") {\n\t\t\t\turl = url.replace(regexTrailingCommas, \"\");\n\t\t\t\t// (Jump ahead to step 9 to skip tokenization and just push the candidate).\n\t\t\t\tparseDescriptors();\n\n\t\t\t\t//\tOtherwise, follow these substeps:\n\t\t\t} else {\n\t\t\t\ttokenize();\n\t\t\t} // (close else of step 8)\n\n\t\t\t// 16. Return to the step labeled splitting loop.\n\t\t} // (Close of big while loop.)\n\n\t\t/**\n\t\t * Tokenizes descriptor properties prior to parsing\n\t\t * Returns undefined.\n\t\t */\n\t\tfunction tokenize() {\n\n\t\t\t// 8.1. Descriptor tokeniser: Skip whitespace\n\t\t\tcollectCharacters(regexLeadingSpaces);\n\n\t\t\t// 8.2. Let current descriptor be the empty string.\n\t\t\tcurrentDescriptor = \"\";\n\n\t\t\t// 8.3. Let state be in descriptor.\n\t\t\tstate = \"in descriptor\";\n\n\t\t\twhile (true) {\n\n\t\t\t\t// 8.4. Let c be the character at position.\n\t\t\t\tc = input.charAt(pos);\n\n\t\t\t\t// Do the following depending on the value of state.\n\t\t\t\t// For the purpose of this step, \"EOF\" is a special character representing\n\t\t\t\t// that position is past the end of input.\n\n\t\t\t\t// In descriptor\n\t\t\t\tif (state === \"in descriptor\") {\n\t\t\t\t\t// Do the following, depending on the value of c:\n\n\t\t\t\t\t// Space character\n\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t// descriptors and let current descriptor be the empty string.\n\t\t\t\t\t// Set state to after descriptor.\n\t\t\t\t\tif (isSpace(c)) {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t\tcurrentDescriptor = \"\";\n\t\t\t\t\t\t\tstate = \"after descriptor\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// U+002C COMMA (,)\n\t\t\t\t\t\t// Advance position to the next character in input. If current descriptor\n\t\t\t\t\t\t// is not empty, append current descriptor to descriptors. Jump to the step\n\t\t\t\t\t\t// labeled descriptor parser.\n\t\t\t\t\t} else if (c === \",\") {\n\t\t\t\t\t\tpos += 1;\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// U+0028 LEFT PARENTHESIS (()\n\t\t\t\t\t\t// Append c to current descriptor. Set state to in parens.\n\t\t\t\t\t} else if (c === \"\\u0028\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in parens\";\n\n\t\t\t\t\t\t// EOF\n\t\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t\t// descriptors. Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\t\t\t\t\t// (end \"in descriptor\"\n\n\t\t\t\t\t// In parens\n\t\t\t\t} else if (state === \"in parens\") {\n\n\t\t\t\t\t// U+0029 RIGHT PARENTHESIS ())\n\t\t\t\t\t// Append c to current descriptor. Set state to in descriptor.\n\t\t\t\t\tif (c === \")\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in descriptor\";\n\n\t\t\t\t\t\t// EOF\n\t\t\t\t\t\t// Append current descriptor to descriptors. Jump to the step labeled\n\t\t\t\t\t\t// descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\n\t\t\t\t\t// After descriptor\n\t\t\t\t} else if (state === \"after descriptor\") {\n\n\t\t\t\t\t// Do the following, depending on the value of c:\n\t\t\t\t\t// Space character: Stay in this state.\n\t\t\t\t\tif (isSpace(c)) {\n\n\t\t\t\t\t\t// EOF: Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Set state to in descriptor. Set position to the previous character in input.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = \"in descriptor\";\n\t\t\t\t\t\tpos -= 1;\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Advance position to the next character in input.\n\t\t\t\tpos += 1;\n\n\t\t\t\t// Repeat this step.\n\t\t\t} // (close while true loop)\n\t\t}\n\n\t\t/**\n\t\t * Adds descriptor properties to a candidate, pushes to the candidates array\n\t\t * @return undefined\n\t\t */\n\t\t// Declared outside of the while loop so that it's only created once.\n\t\tfunction parseDescriptors() {\n\n\t\t\t// 9. Descriptor parser: Let error be no.\n\t\t\tvar pError = false,\n\n\t\t\t\t// 10. Let width be absent.\n\t\t\t\t// 11. Let density be absent.\n\t\t\t\t// 12. Let future-compat-h be absent. (We're implementing it now as h)\n\t\t\t\tw, d, h, i,\n\t\t\t\tcandidate = {},\n\t\t\t\tdesc, lastChar, value, intVal, floatVal;\n\n\t\t\t// 13. For each descriptor in descriptors, run the appropriate set of steps\n\t\t\t// from the following list:\n\t\t\tfor (i = 0 ; i < descriptors.length; i++) {\n\t\t\t\tdesc = descriptors[ i ];\n\n\t\t\t\tlastChar = desc[ desc.length - 1 ];\n\t\t\t\tvalue = desc.substring(0, desc.length - 1);\n\t\t\t\tintVal = parseInt(value, 10);\n\t\t\t\tfloatVal = parseFloat(value);\n\n\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t// a U+0077 LATIN SMALL LETTER W character\n\t\t\t\tif (regexNonNegativeInteger.test(value) && (lastChar === \"w\")) {\n\n\t\t\t\t\t// If width and density are not both absent, then let error be yes.\n\t\t\t\t\tif (w || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes.\n\t\t\t\t\t// Otherwise, let width be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {w = intVal;}\n\n\t\t\t\t\t// If the descriptor consists of a valid floating-point number followed by\n\t\t\t\t\t// a U+0078 LATIN SMALL LETTER X character\n\t\t\t\t} else if (regexFloatingPoint.test(value) && (lastChar === \"x\")) {\n\n\t\t\t\t\t// If width, density and future-compat-h are not all absent, then let error\n\t\t\t\t\t// be yes.\n\t\t\t\t\tif (w || d || h) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing floating-point number values to the descriptor.\n\t\t\t\t\t// If the result is less than zero, let error be yes. Otherwise, let density\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (floatVal < 0) {pError = true;} else {d = floatVal;}\n\n\t\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t\t// a U+0068 LATIN SMALL LETTER H character\n\t\t\t\t} else if (regexNonNegativeInteger.test(value) && (lastChar === \"h\")) {\n\n\t\t\t\t\t// If height and density are not both absent, then let error be yes.\n\t\t\t\t\tif (h || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes. Otherwise, let future-compat-h\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {h = intVal;}\n\n\t\t\t\t\t// Anything else, Let error be yes.\n\t\t\t\t} else {pError = true;}\n\t\t\t} // (close step 13 for loop)\n\n\t\t\t// 15. If error is still no, then append a new image source to candidates whose\n\t\t\t// URL is url, associated with a width width if not absent and a pixel\n\t\t\t// density density if not absent. Otherwise, there is a parse error.\n\t\t\tif (!pError) {\n\t\t\t\tcandidate.url = url;\n\t\t\t\tif (w) { candidate.w = w;}\n\t\t\t\tif (d) { candidate.d = d;}\n\t\t\t\tif (h) { candidate.h = h;}\n\t\t\t\tcandidates.push(candidate);\n\t\t\t} else if (console && console.log) {\n\t\t\t\tconsole.log(\"Invalid srcset descriptor found in '\" +\n\t\t\t\t\tinput + \"' at '\" + desc + \"'.\");\n\t\t\t}\n\t\t} // (close parseDescriptors fn)\n\n\t}\n}));\n","var x=String;\nvar create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x}};\nmodule.exports=create();\nmodule.exports.createColors = create;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3 for the\n // default locale.\n onError(new MissingTranslationError(messageDescriptor, locale));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting default message for: \\\"\".concat(id, \"\\\", rendering default message verbatim\"), locale, messageDescriptor, e));\n return typeof defaultMessage === 'string' ? defaultMessage : id;\n }\n }\n return id;\n }\n // We have the translated message\n try {\n var formatter = state.getMessageFormat(message, locale, formats, __assign({ formatters: state }, (opts || {})));\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting message: \\\"\".concat(id, \"\\\", using \").concat(defaultMessage ? 'default message' : 'id', \" as fallback.\"), locale, messageDescriptor, e));\n }\n if (defaultMessage) {\n try {\n var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats, opts);\n return formatter.format(values);\n }\n catch (e) {\n onError(new MessageFormatError(\"Error formatting the default message for: \\\"\".concat(id, \"\\\", rendering message verbatim\"), locale, messageDescriptor, e));\n }\n }\n if (typeof message === 'string') {\n return message;\n }\n if (typeof defaultMessage === 'string') {\n return defaultMessage;\n }\n return id;\n}\n","import { getNamedFormat, filterProps } from './utils';\nimport { IntlError, IntlErrorCode } from './error';\nvar NUMBER_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n // ES2020 NumberFormat\n 'compactDisplay',\n 'currencyDisplay',\n 'currencySign',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'numberingSystem',\n];\nexport function getFormatter(_a, getNumberFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = ((format &&\n getNamedFormat(formats, 'number', format, onError)) ||\n {});\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults);\n return getNumberFormat(locale, filteredOptions);\n}\nexport function formatNumber(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).format(value);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting number.', e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting number.', e));\n }\n return [];\n}\n","import { getNamedFormat, filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar RELATIVE_TIME_FORMAT_OPTIONS = ['numeric', 'style'];\nfunction getFormatter(_a, getRelativeTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = (!!format && getNamedFormat(formats, 'relative', format, onError)) || {};\n var filteredOptions = filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults);\n return getRelativeTimeFormat(locale, filteredOptions);\n}\nexport function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options) {\n if (options === void 0) { options = {}; }\n if (!unit) {\n unit = 'second';\n }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n if (!RelativeTimeFormat) {\n config.onError(new FormatError(\"Intl.RelativeTimeFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-relativetimeformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n try {\n return getFormatter(config, getRelativeTimeFormat, options).format(value, unit);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting relative time.', config.locale, e));\n }\n return String(value);\n}\n","import { __assign } from \"tslib\";\nimport { filterProps, getNamedFormat } from './utils';\nimport { IntlError, IntlErrorCode } from './error';\nvar DATE_TIME_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'formatMatcher',\n 'timeZone',\n 'hour12',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'hourCycle',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n // 'dayPeriod',\n 'numberingSystem',\n];\nexport function getFormatter(_a, type, getDateTimeFormat, options) {\n var locale = _a.locale, formats = _a.formats, onError = _a.onError, timeZone = _a.timeZone;\n if (options === void 0) { options = {}; }\n var format = options.format;\n var defaults = __assign(__assign({}, (timeZone && { timeZone: timeZone })), (format && getNamedFormat(formats, type, format, onError)));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults);\n if (type === 'time' &&\n !filteredOptions.hour &&\n !filteredOptions.minute &&\n !filteredOptions.second &&\n !filteredOptions.timeStyle &&\n !filteredOptions.dateStyle) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = __assign(__assign({}, filteredOptions), { hour: 'numeric', minute: 'numeric' });\n }\n return getDateTimeFormat(locale, filteredOptions);\n}\nexport function formatDate(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting date.', e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).format(date);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting time.', e));\n }\n return String(date);\n}\nexport function formatDateTimeRange(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var from = _a[0], to = _a[1], _b = _a[2], options = _b === void 0 ? {} : _b;\n var timeZone = config.timeZone, locale = config.locale, onError = config.onError;\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, timeZone ? { timeZone: timeZone } : {});\n try {\n return getDateTimeFormat(locale, filteredOptions).formatRange(from, to);\n }\n catch (e) {\n onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting date time range.', e));\n }\n return String(from);\n}\nexport function formatDateToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting date.', e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _b = _a[1], options = _b === void 0 ? {} : _b;\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n try {\n return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date);\n }\n catch (e) {\n config.onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting time.', e));\n }\n return [];\n}\n","import { filterProps } from './utils';\nimport { IntlFormatError } from './error';\nimport { ErrorCode, FormatError } from 'intl-messageformat';\nvar PLURAL_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n];\nexport function formatPlural(_a, getPluralRules, value, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n if (!Intl.PluralRules) {\n onError(new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n try {\n return getPluralRules(locale, filteredOptions).select(value);\n }\n catch (e) {\n onError(new IntlFormatError('Error formatting plural.', locale, e));\n }\n return 'other';\n}\n","import { __assign } from \"tslib\";\nimport { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlError, IntlErrorCode } from './error';\nvar LIST_FORMAT_OPTIONS = [\n 'localeMatcher',\n 'type',\n 'style',\n];\nvar now = Date.now();\nfunction generateToken(i) {\n return \"\".concat(now, \"_\").concat(i, \"_\").concat(now);\n}\nexport function formatList(opts, getListFormat, values, options) {\n if (options === void 0) { options = {}; }\n var results = formatListToParts(opts, getListFormat, values, options).reduce(function (all, el) {\n var val = el.value;\n if (typeof val !== 'string') {\n all.push(val);\n }\n else if (typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += val;\n }\n else {\n all.push(val);\n }\n return all;\n }, []);\n return results.length === 1 ? results[0] : results;\n}\nexport function formatListToParts(_a, getListFormat, values, options) {\n var locale = _a.locale, onError = _a.onError;\n if (options === void 0) { options = {}; }\n var ListFormat = Intl.ListFormat;\n if (!ListFormat) {\n onError(new FormatError(\"Intl.ListFormat is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-listformat\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, LIST_FORMAT_OPTIONS);\n try {\n var richValues_1 = {};\n var serializedValues = values.map(function (v, i) {\n if (typeof v === 'object') {\n var id = generateToken(i);\n richValues_1[id] = v;\n return id;\n }\n return String(v);\n });\n return getListFormat(locale, filteredOptions)\n .formatToParts(serializedValues)\n .map(function (part) {\n return part.type === 'literal'\n ? part\n : __assign(__assign({}, part), { value: richValues_1[part.value] || part.value });\n });\n }\n catch (e) {\n onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting list.', e));\n }\n // @ts-ignore\n return values;\n}\n","import { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlErrorCode, IntlError } from './error';\nvar DISPLAY_NAMES_OPTONS = [\n 'localeMatcher',\n 'style',\n 'type',\n 'fallback',\n];\nexport function formatDisplayName(_a, getDisplayNames, value, options) {\n var locale = _a.locale, onError = _a.onError;\n var DisplayNames = Intl.DisplayNames;\n if (!DisplayNames) {\n onError(new FormatError(\"Intl.DisplayNames is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-displaynames\\\"\\n\", ErrorCode.MISSING_INTL_API));\n }\n var filteredOptions = filterProps(options, DISPLAY_NAMES_OPTONS);\n try {\n return getDisplayNames(locale, filteredOptions).of(value);\n }\n catch (e) {\n onError(new IntlError(IntlErrorCode.FORMAT_ERROR, 'Error formatting display name.', e));\n }\n}\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : formats.time.medium;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(value)];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __assign, __extends, __rest, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { DEFAULT_INTL_CONFIG, invariantIntlContext, assignUniqueKeysToParts, shallowEqual, } from '../utils';\nimport { formatMessage as coreFormatMessage, createIntl as coreCreateIntl, createIntlCache, } from '@formatjs/intl';\nimport { isFormatXMLElementFn, } from 'intl-messageformat';\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n fallbackOnEmptyString: config.fallbackOnEmptyString,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n onWarn: config.onWarn,\n wrapRichTextChunksInFragment: config.wrapRichTextChunksInFragment,\n defaultRichTextElements: config.defaultRichTextElements,\n };\n}\nfunction assignUniqueKeysToFormatXMLElementFnArgument(values) {\n if (!values) {\n return values;\n }\n return Object.keys(values).reduce(function (acc, k) {\n var v = values[k];\n acc[k] = isFormatXMLElementFn(v)\n ? assignUniqueKeysToParts(v)\n : v;\n return acc;\n }, {});\n}\nvar formatMessage = function (config, formatters, descriptor, rawValues) {\n var rest = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n rest[_i - 4] = arguments[_i];\n }\n var values = assignUniqueKeysToFormatXMLElementFnArgument(rawValues);\n var chunks = coreFormatMessage.apply(void 0, __spreadArray([config,\n formatters,\n descriptor,\n values], rest, false));\n if (Array.isArray(chunks)) {\n return React.Children.toArray(chunks);\n }\n return chunks;\n};\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport var createIntl = function (_a, cache) {\n var rawDefaultRichTextElements = _a.defaultRichTextElements, config = __rest(_a, [\"defaultRichTextElements\"]);\n var defaultRichTextElements = assignUniqueKeysToFormatXMLElementFnArgument(rawDefaultRichTextElements);\n var coreIntl = coreCreateIntl(__assign(__assign(__assign({}, DEFAULT_INTL_CONFIG), config), { defaultRichTextElements: defaultRichTextElements }), cache);\n return __assign(__assign({}, coreIntl), { formatMessage: formatMessage.bind(null, {\n locale: coreIntl.locale,\n timeZone: coreIntl.timeZone,\n fallbackOnEmptyString: coreIntl.fallbackOnEmptyString,\n formats: coreIntl.formats,\n defaultLocale: coreIntl.defaultLocale,\n defaultFormats: coreIntl.defaultFormats,\n messages: coreIntl.messages,\n onError: coreIntl.onError,\n defaultRichTextElements: defaultRichTextElements,\n }, coreIntl.formatters) });\n};\nvar IntlProvider = /** @class */ (function (_super) {\n __extends(IntlProvider, _super);\n function IntlProvider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cache = createIntlCache();\n _this.state = {\n cache: _this.cache,\n intl: createIntl(processIntlConfig(_this.props), _this.cache),\n prevConfig: processIntlConfig(_this.props),\n };\n return _this;\n }\n IntlProvider.getDerivedStateFromProps = function (props, _a) {\n var prevConfig = _a.prevConfig, cache = _a.cache;\n var config = processIntlConfig(props);\n if (!shallowEqual(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n };\n IntlProvider.prototype.render = function () {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, { value: this.state.intl }, this.props.children);\n };\n IntlProvider.displayName = 'IntlProvider';\n IntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n return IntlProvider;\n}(React.PureComponent));\nexport default IntlProvider;\n","import { __assign } from \"tslib\";\nimport { createFormatters, DEFAULT_INTL_CONFIG } from './utils';\nimport { InvalidConfigError, MissingDataError } from './error';\nimport { formatNumber, formatNumberToParts } from './number';\nimport { formatRelativeTime } from './relativeTime';\nimport { formatDate, formatDateToParts, formatTime, formatTimeToParts, formatDateTimeRange, } from './dateTime';\nimport { formatPlural } from './plural';\nimport { formatMessage } from './message';\nimport { formatList, formatListToParts } from './list';\nimport { formatDisplayName } from './displayName';\nfunction messagesContainString(messages) {\n var firstMessage = messages ? messages[Object.keys(messages)[0]] : undefined;\n return typeof firstMessage === 'string';\n}\nfunction verifyConfigMessages(config) {\n if (config.onWarn &&\n config.defaultRichTextElements &&\n messagesContainString(config.messages || {})) {\n config.onWarn(\"[@formatjs/intl] \\\"defaultRichTextElements\\\" was specified but \\\"message\\\" was not pre-compiled. \\nPlease consider using \\\"@formatjs/cli\\\" to pre-compile your messages for performance.\\nFor more details see https://formatjs.io/docs/getting-started/message-distribution\");\n }\n}\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport function createIntl(config, cache) {\n var formatters = createFormatters(cache);\n var resolvedConfig = __assign(__assign({}, DEFAULT_INTL_CONFIG), config);\n var locale = resolvedConfig.locale, defaultLocale = resolvedConfig.defaultLocale, onError = resolvedConfig.onError;\n if (!locale) {\n if (onError) {\n onError(new InvalidConfigError(\"\\\"locale\\\" was not configured, using \\\"\".concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl/api#intlshape for more details\")));\n }\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n resolvedConfig.locale = resolvedConfig.defaultLocale || 'en';\n }\n else if (!Intl.NumberFormat.supportedLocalesOf(locale).length && onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.NumberFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\")));\n }\n else if (!Intl.DateTimeFormat.supportedLocalesOf(locale).length &&\n onError) {\n onError(new MissingDataError(\"Missing locale data for locale: \\\"\".concat(locale, \"\\\" in Intl.DateTimeFormat. Using default locale: \\\"\").concat(defaultLocale, \"\\\" as fallback. See https://formatjs.io/docs/react-intl#runtime-requirements for more details\")));\n }\n verifyConfigMessages(resolvedConfig);\n return __assign(__assign({}, resolvedConfig), { formatters: formatters, formatNumber: formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateTimeRange: formatDateTimeRange.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: formatMessage.bind(null, resolvedConfig, formatters), $t: formatMessage.bind(null, resolvedConfig, formatters), formatList: formatList.bind(null, resolvedConfig, formatters.getListFormat), formatListToParts: formatListToParts.bind(null, resolvedConfig, formatters.getListFormat), formatDisplayName: formatDisplayName.bind(null, resolvedConfig, formatters.getDisplayNames) });\n}\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { DEFAULT_INTL_CONFIG as CORE_DEFAULT_INTL_CONFIG } from '@formatjs/intl';\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n ' needs to exist in the component ancestry.');\n}\nexport var DEFAULT_INTL_CONFIG = __assign(__assign({}, CORE_DEFAULT_INTL_CONFIG), { textComponent: React.Fragment });\n/**\n * Takes a `formatXMLElementFn`, and composes it in function, which passes\n * argument `parts` through, assigning unique key to each part, to prevent\n * \"Each child in a list should have a unique \"key\"\" React error.\n * @param formatXMLElementFn\n */\nexport function assignUniqueKeysToParts(formatXMLElementFn) {\n return function (parts) {\n // eslint-disable-next-line prefer-rest-params\n return formatXMLElementFn(React.Children.toArray(parts));\n };\n}\nexport function shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n if (!objA || !objB) {\n return false;\n }\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n if (bKeys.length !== len) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] ||\n !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n return true;\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar RelativeTimeFormat;\n// -- Utilities ----------------------------------------------------------------\nfunction getCacheId(inputs) {\n return JSON.stringify(inputs.map(function (input) {\n return input && typeof input === 'object' ? orderedProps(input) : input;\n }));\n}\nfunction orderedProps(obj) {\n return Object.keys(obj)\n .sort()\n .map(function (k) {\n var _a;\n return (_a = {}, _a[k] = obj[k], _a);\n });\n}\nvar memoizeFormatConstructor = function (FormatConstructor, cache) {\n if (cache === void 0) { cache = {}; }\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n if (!format) {\n format = new ((_a = FormatConstructor).bind.apply(_a, [void 0].concat(args)))();\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n return format;\n };\n};\nexport default memoizeFormatConstructor;\n//# sourceMappingURL=index.js.map","/*\n * Copyright 2019, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nimport allLocaleData from '../locale-data/index.js';\nimport IntlMessageFormat from 'intl-messageformat';\nimport IntlRelativeFormat from 'intl-relativeformat';\nimport PropTypes from 'prop-types';\nimport React, { Children, Component, createElement, isValidElement } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport invariant from 'invariant';\nimport memoizeIntlConstructor from 'intl-format-cache';\n\n// GENERATED FILE\nvar defaultLocaleData = { \"locale\": \"en\", \"pluralRuleFunction\": function pluralRuleFunction(n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"year-short\": { \"displayName\": \"yr.\", \"relative\": { \"0\": \"this yr.\", \"1\": \"next yr.\", \"-1\": \"last yr.\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} yr.\", \"other\": \"in {0} yr.\" }, \"past\": { \"one\": \"{0} yr. ago\", \"other\": \"{0} yr. ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"month-short\": { \"displayName\": \"mo.\", \"relative\": { \"0\": \"this mo.\", \"1\": \"next mo.\", \"-1\": \"last mo.\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} mo.\", \"other\": \"in {0} mo.\" }, \"past\": { \"one\": \"{0} mo. ago\", \"other\": \"{0} mo. ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"day-short\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"hour-short\": { \"displayName\": \"hr.\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hr.\", \"other\": \"in {0} hr.\" }, \"past\": { \"one\": \"{0} hr. ago\", \"other\": \"{0} hr. ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"minute-short\": { \"displayName\": \"min.\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} min.\", \"other\": \"in {0} min.\" }, \"past\": { \"one\": \"{0} min. ago\", \"other\": \"{0} min. ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } }, \"second-short\": { \"displayName\": \"sec.\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} sec.\", \"other\": \"in {0} sec.\" }, \"past\": { \"one\": \"{0} sec. ago\", \"other\": \"{0} sec. ago\" } } } } };\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction addLocaleData() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var locales = Array.isArray(data) ? data : [data];\n\n locales.forEach(function (localeData) {\n if (localeData && localeData.locale) {\n IntlMessageFormat.__addLocaleData(localeData);\n IntlRelativeFormat.__addLocaleData(localeData);\n }\n });\n}\n\nfunction hasLocaleData(locale) {\n var localeParts = (locale || '').split('-');\n\n while (localeParts.length > 0) {\n if (hasIMFAndIRFLocaleData(localeParts.join('-'))) {\n return true;\n }\n\n localeParts.pop();\n }\n\n return false;\n}\n\nfunction hasIMFAndIRFLocaleData(locale) {\n var normalizedLocale = locale && locale.toLowerCase();\n\n return !!(IntlMessageFormat.__localeData__[normalizedLocale] && IntlRelativeFormat.__localeData__[normalizedLocale]);\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\nvar asyncGenerator = function () {\n function AwaitValue(value) {\n this.value = value;\n }\n\n function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg);\n var value = result.value;\n\n if (value instanceof AwaitValue) {\n Promise.resolve(value.value).then(function (arg) {\n resume(\"next\", arg);\n }, function (arg) {\n resume(\"throw\", arg);\n });\n } else {\n settle(result.done ? \"return\" : \"normal\", result.value);\n }\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({\n value: value,\n done: true\n });\n break;\n\n case \"throw\":\n front.reject(value);\n break;\n\n default:\n front.resolve({\n value: value,\n done: false\n });\n break;\n }\n\n front = front.next;\n\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n }\n\n if (typeof Symbol === \"function\" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n\n AsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n };\n\n AsyncGenerator.prototype.throw = function (arg) {\n return this._invoke(\"throw\", arg);\n };\n\n AsyncGenerator.prototype.return = function (arg) {\n return this._invoke(\"return\", arg);\n };\n\n return {\n wrap: function (fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n },\n await: function (value) {\n return new AwaitValue(value);\n }\n };\n}();\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar bool = PropTypes.bool;\nvar number = PropTypes.number;\nvar string = PropTypes.string;\nvar func = PropTypes.func;\nvar object = PropTypes.object;\nvar oneOf = PropTypes.oneOf;\nvar shape = PropTypes.shape;\nvar any = PropTypes.any;\nvar oneOfType = PropTypes.oneOfType;\n\nvar localeMatcher = oneOf(['best fit', 'lookup']);\nvar narrowShortLong = oneOf(['narrow', 'short', 'long']);\nvar numeric2digit = oneOf(['numeric', '2-digit']);\nvar funcReq = func.isRequired;\n\nvar intlConfigPropTypes = {\n locale: string,\n timeZone: string,\n formats: object,\n messages: object,\n textComponent: any,\n\n defaultLocale: string,\n defaultFormats: object,\n\n onError: func\n};\n\nvar intlFormatPropTypes = {\n formatDate: funcReq,\n formatTime: funcReq,\n formatRelative: funcReq,\n formatNumber: funcReq,\n formatPlural: funcReq,\n formatMessage: funcReq,\n formatHTMLMessage: funcReq\n};\n\nvar intlShape = shape(_extends({}, intlConfigPropTypes, intlFormatPropTypes, {\n formatters: object,\n now: funcReq\n}));\n\nvar messageDescriptorPropTypes = {\n id: string.isRequired,\n description: oneOfType([string, object]),\n defaultMessage: string\n};\n\nvar dateTimeFormatPropTypes = {\n localeMatcher: localeMatcher,\n formatMatcher: oneOf(['basic', 'best fit']),\n\n timeZone: string,\n hour12: bool,\n\n weekday: narrowShortLong,\n era: narrowShortLong,\n year: numeric2digit,\n month: oneOf(['numeric', '2-digit', 'narrow', 'short', 'long']),\n day: numeric2digit,\n hour: numeric2digit,\n minute: numeric2digit,\n second: numeric2digit,\n timeZoneName: oneOf(['short', 'long'])\n};\n\nvar numberFormatPropTypes = {\n localeMatcher: localeMatcher,\n\n style: oneOf(['decimal', 'currency', 'percent']),\n currency: string,\n currencyDisplay: oneOf(['symbol', 'code', 'name']),\n useGrouping: bool,\n\n minimumIntegerDigits: number,\n minimumFractionDigits: number,\n maximumFractionDigits: number,\n minimumSignificantDigits: number,\n maximumSignificantDigits: number\n};\n\nvar relativeFormatPropTypes = {\n style: oneOf(['best fit', 'numeric']),\n units: oneOf(['second', 'minute', 'hour', 'day', 'month', 'year', 'second-short', 'minute-short', 'hour-short', 'day-short', 'month-short', 'year-short'])\n};\n\nvar pluralFormatPropTypes = {\n style: oneOf(['cardinal', 'ordinal'])\n};\n\n/*\nHTML escaping and shallow-equals implementations are the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\n\nvar intlConfigPropNames = Object.keys(intlConfigPropTypes);\n\nvar ESCAPED_CHARS = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n \"'\": '''\n};\n\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\n\nfunction escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) {\n return ESCAPED_CHARS[match];\n });\n}\n\nfunction filterProps(props, whitelist) {\n var defaults$$1 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return whitelist.reduce(function (filtered, name) {\n if (props.hasOwnProperty(name)) {\n filtered[name] = props[name];\n } else if (defaults$$1.hasOwnProperty(name)) {\n filtered[name] = defaults$$1[name];\n }\n\n return filtered;\n }, {});\n}\n\nfunction invariantIntlContext() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n intl = _ref.intl;\n\n invariant(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.');\n}\n\nfunction shallowEquals(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n for (var i = 0; i < keysA.length; i++) {\n if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shouldIntlComponentUpdate(_ref2, nextProps, nextState) {\n var props = _ref2.props,\n state = _ref2.state,\n _ref2$context = _ref2.context,\n context = _ref2$context === undefined ? {} : _ref2$context;\n var nextContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _context$intl = context.intl,\n intl = _context$intl === undefined ? {} : _context$intl;\n var _nextContext$intl = nextContext.intl,\n nextIntl = _nextContext$intl === undefined ? {} : _nextContext$intl;\n\n\n return !shallowEquals(nextProps, props) || !shallowEquals(nextState, state) || !(nextIntl === intl || shallowEquals(filterProps(nextIntl, intlConfigPropNames), filterProps(intl, intlConfigPropNames)));\n}\n\nfunction createError(message, exception) {\n var eMsg = exception ? '\\n' + exception : '';\n return '[React Intl] ' + message + eMsg;\n}\n\nfunction defaultErrorHandler(error) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// Inspired by react-redux's `connect()` HOC factory function implementation:\n// https://github.com/rackt/react-redux\n\nfunction getDisplayName(Component$$1) {\n return Component$$1.displayName || Component$$1.name || 'Component';\n}\n\nfunction injectIntl(WrappedComponent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$intlPropName = options.intlPropName,\n intlPropName = _options$intlPropName === undefined ? 'intl' : _options$intlPropName,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var InjectIntl = function (_Component) {\n inherits(InjectIntl, _Component);\n\n function InjectIntl(props, context) {\n classCallCheck(this, InjectIntl);\n\n var _this = possibleConstructorReturn(this, (InjectIntl.__proto__ || Object.getPrototypeOf(InjectIntl)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(InjectIntl, [{\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n invariant(withRef, '[React Intl] To access the wrapped instance, ' + 'the `{withRef: true}` option must be set when calling: ' + '`injectIntl()`');\n\n return this._wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return React.createElement(WrappedComponent, _extends({}, this.props, defineProperty({}, intlPropName, this.context.intl), {\n ref: withRef ? /* istanbul ignore next */function (ref) {\n return _this2._wrappedInstance = ref;\n } : null\n }));\n }\n }]);\n return InjectIntl;\n }(Component);\n\n InjectIntl.displayName = 'InjectIntl(' + getDisplayName(WrappedComponent) + ')';\n InjectIntl.contextTypes = {\n intl: intlShape\n };\n InjectIntl.WrappedComponent = WrappedComponent;\n\n\n return hoistNonReactStatics(InjectIntl, WrappedComponent);\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction defineMessages(messageDescriptors) {\n // This simply returns what's passed-in because it's meant to be a hook for\n // babel-plugin-react-intl.\n return messageDescriptors;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// This is a \"hack\" until a proper `intl-pluralformat` package is created.\n\nfunction resolveLocale(locales) {\n // IntlMessageFormat#_resolveLocale() does not depend on `this`.\n return IntlMessageFormat.prototype._resolveLocale(locales);\n}\n\nfunction findPluralFunction(locale) {\n // IntlMessageFormat#_findPluralFunction() does not depend on `this`.\n return IntlMessageFormat.prototype._findPluralRuleFunction(locale);\n}\n\nvar IntlPluralFormat = function IntlPluralFormat(locales) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlPluralFormat);\n\n var useOrdinal = options.style === 'ordinal';\n var pluralFn = findPluralFunction(resolveLocale(locales));\n\n this.format = function (value) {\n return pluralFn(value, useOrdinal);\n };\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar DATE_TIME_FORMAT_OPTIONS = Object.keys(dateTimeFormatPropTypes);\nvar NUMBER_FORMAT_OPTIONS = Object.keys(numberFormatPropTypes);\nvar RELATIVE_FORMAT_OPTIONS = Object.keys(relativeFormatPropTypes);\nvar PLURAL_FORMAT_OPTIONS = Object.keys(pluralFormatPropTypes);\n\nvar RELATIVE_FORMAT_THRESHOLDS = {\n second: 60, // seconds to minute\n minute: 60, // minutes to hour\n hour: 24, // hours to day\n day: 30, // days to month\n month: 12 };\n\nfunction updateRelativeFormatThresholds(newThresholds) {\n var thresholds = IntlRelativeFormat.thresholds;\n thresholds.second = newThresholds.second;\n thresholds.minute = newThresholds.minute;\n thresholds.hour = newThresholds.hour;\n thresholds.day = newThresholds.day;\n thresholds.month = newThresholds.month;\n thresholds['second-short'] = newThresholds['second-short'];\n thresholds['minute-short'] = newThresholds['minute-short'];\n thresholds['hour-short'] = newThresholds['hour-short'];\n thresholds['day-short'] = newThresholds['day-short'];\n thresholds['month-short'] = newThresholds['month-short'];\n}\n\nfunction getNamedFormat(formats, type, name, onError) {\n var format = formats && formats[type] && formats[type][name];\n if (format) {\n return format;\n }\n\n onError(createError('No ' + type + ' format named: ' + name));\n}\n\nfunction formatDate(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n timeZone = config.timeZone;\n var format = options.format;\n\n\n var onError = config.onError || defaultErrorHandler;\n var date = new Date(value);\n var defaults$$1 = _extends({}, timeZone && { timeZone: timeZone }, format && getNamedFormat(formats, 'date', format, onError));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n onError(createError('Error formatting date.', e));\n }\n\n return String(date);\n}\n\nfunction formatTime(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n timeZone = config.timeZone;\n var format = options.format;\n\n\n var onError = config.onError || defaultErrorHandler;\n var date = new Date(value);\n var defaults$$1 = _extends({}, timeZone && { timeZone: timeZone }, format && getNamedFormat(formats, 'time', format, onError));\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n if (!filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = _extends({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n onError(createError('Error formatting time.', e));\n }\n\n return String(date);\n}\n\nfunction formatRelative(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n\n var onError = config.onError || defaultErrorHandler;\n var date = new Date(value);\n var now = new Date(options.now);\n var defaults$$1 = format && getNamedFormat(formats, 'relative', format, onError);\n var filteredOptions = filterProps(options, RELATIVE_FORMAT_OPTIONS, defaults$$1);\n\n // Capture the current threshold values, then temporarily override them with\n // specific values just for this render.\n var oldThresholds = _extends({}, IntlRelativeFormat.thresholds);\n updateRelativeFormatThresholds(RELATIVE_FORMAT_THRESHOLDS);\n\n try {\n return state.getRelativeFormat(locale, filteredOptions).format(date, {\n now: isFinite(now) ? now : state.now()\n });\n } catch (e) {\n onError(createError('Error formatting relative time.', e));\n } finally {\n updateRelativeFormatThresholds(oldThresholds);\n }\n\n return String(date);\n}\n\nfunction formatNumber(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n\n var onError = config.onError || defaultErrorHandler;\n var defaults$$1 = format && getNamedFormat(formats, 'number', format, onError);\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getNumberFormat(locale, filteredOptions).format(value);\n } catch (e) {\n onError(createError('Error formatting number.', e));\n }\n\n return String(value);\n}\n\nfunction formatPlural(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale;\n\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n var onError = config.onError || defaultErrorHandler;\n\n try {\n return state.getPluralFormat(locale, filteredOptions).format(value);\n } catch (e) {\n onError(createError('Error formatting plural.', e));\n }\n\n return 'other';\n}\n\nfunction formatMessage(config, state) {\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var values = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n messages = config.messages,\n defaultLocale = config.defaultLocale,\n defaultFormats = config.defaultFormats;\n var id = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage;\n\n // Produce a better error if the user calls `intl.formatMessage(element)`\n\n if (process.env.NODE_ENV !== 'production') {\n invariant(!isValidElement(config), '[React Intl] Don\\'t pass React elements to ' + 'formatMessage(), pass `.props`.');\n }\n\n // `id` is a required field of a Message Descriptor.\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n\n var message = messages && messages[id];\n var hasValues = Object.keys(values).length > 0;\n\n // Avoid expensive message formatting for simple messages without values. In\n // development messages will always be formatted in case of missing values.\n if (!hasValues && process.env.NODE_ENV === 'production') {\n return message || defaultMessage || id;\n }\n\n var formattedMessage = void 0;\n var onError = config.onError || defaultErrorHandler;\n\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats);\n\n formattedMessage = formatter.format(values);\n } catch (e) {\n onError(createError('Error formatting message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : ''), e));\n }\n } else {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the for the\n // default locale, and a default message is in the source.\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n onError(createError('Missing message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : '')));\n }\n }\n\n if (!formattedMessage && defaultMessage) {\n try {\n var _formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n\n formattedMessage = _formatter.format(values);\n } catch (e) {\n onError(createError('Error formatting the default message for: \"' + id + '\"', e));\n }\n }\n\n if (!formattedMessage) {\n onError(createError('Cannot format message: \"' + id + '\", ' + ('using message ' + (message || defaultMessage ? 'source' : 'id') + ' as fallback.')));\n }\n\n return formattedMessage || message || defaultMessage || id;\n}\n\nfunction formatHTMLMessage(config, state, messageDescriptor) {\n var rawValues = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n\n\n\nvar format = Object.freeze({\n\tformatDate: formatDate,\n\tformatTime: formatTime,\n\tformatRelative: formatRelative,\n\tformatNumber: formatNumber,\n\tformatPlural: formatPlural,\n\tformatMessage: formatMessage,\n\tformatHTMLMessage: formatHTMLMessage\n});\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar intlConfigPropNames$1 = Object.keys(intlConfigPropTypes);\nvar intlFormatPropNames = Object.keys(intlFormatPropTypes);\n\n// These are not a static property on the `IntlProvider` class so the intl\n// config values can be inherited from an ancestor.\nvar defaultProps = {\n formats: {},\n messages: {},\n timeZone: null,\n textComponent: 'span',\n\n defaultLocale: 'en',\n defaultFormats: {},\n\n onError: defaultErrorHandler\n};\n\nvar IntlProvider = function (_Component) {\n inherits(IntlProvider, _Component);\n\n function IntlProvider(props) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlProvider);\n\n var _this = possibleConstructorReturn(this, (IntlProvider.__proto__ || Object.getPrototypeOf(IntlProvider)).call(this, props, context));\n\n invariant(typeof Intl !== 'undefined', '[React Intl] The `Intl` APIs must be available in the runtime, ' + 'and do not appear to be built-in. An `Intl` polyfill should be loaded.\\n' + 'See: http://formatjs.io/guides/runtime-environments/');\n\n var intlContext = context.intl;\n\n // Used to stabilize time when performing an initial rendering so that\n // all relative times use the same reference \"now\" time.\n\n var initialNow = void 0;\n if (isFinite(props.initialNow)) {\n initialNow = Number(props.initialNow);\n } else {\n // When an `initialNow` isn't provided via `props`, look to see an\n // exists in the ancestry and call its `now()`\n // function to propagate its value for \"now\".\n initialNow = intlContext ? intlContext.now() : Date.now();\n }\n\n // Creating `Intl*` formatters is expensive. If there's a parent\n // ``, then its formatters will be used. Otherwise, this\n // memoize the `Intl*` constructors and cache them for the lifecycle of\n // this IntlProvider instance.\n\n var _ref = intlContext || {},\n _ref$formatters = _ref.formatters,\n formatters = _ref$formatters === undefined ? {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat),\n getRelativeFormat: memoizeIntlConstructor(IntlRelativeFormat),\n getPluralFormat: memoizeIntlConstructor(IntlPluralFormat)\n } : _ref$formatters;\n\n _this.state = _extends({}, formatters, {\n\n // Wrapper to provide stable \"now\" time for initial render.\n now: function now() {\n return _this._didDisplay ? Date.now() : initialNow;\n }\n });\n return _this;\n }\n\n createClass(IntlProvider, [{\n key: 'getConfig',\n value: function getConfig() {\n var intlContext = this.context.intl;\n\n // Build a whitelisted config object from `props`, defaults, and\n // `context.intl`, if an exists in the ancestry.\n\n var config = filterProps(this.props, intlConfigPropNames$1, intlContext);\n\n // Apply default props. This must be applied last after the props have\n // been resolved and inherited from any in the ancestry.\n // This matches how React resolves `defaultProps`.\n for (var propName in defaultProps) {\n if (config[propName] === undefined) {\n config[propName] = defaultProps[propName];\n }\n }\n\n if (!hasLocaleData(config.locale)) {\n var _config = config,\n locale = _config.locale,\n defaultLocale = _config.defaultLocale,\n defaultFormats = _config.defaultFormats,\n onError = _config.onError;\n\n\n onError(createError('Missing locale data for locale: \"' + locale + '\". ' + ('Using default locale: \"' + defaultLocale + '\" as fallback.')));\n\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each contains a `defaultMessage` prop.\n config = _extends({}, config, {\n locale: defaultLocale,\n formats: defaultFormats,\n messages: defaultProps.messages\n });\n }\n\n return config;\n }\n }, {\n key: 'getBoundFormatFns',\n value: function getBoundFormatFns(config, state) {\n return intlFormatPropNames.reduce(function (boundFormatFns, name) {\n boundFormatFns[name] = format[name].bind(null, config, state);\n return boundFormatFns;\n }, {});\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var config = this.getConfig();\n\n // Bind intl factories and current config to the format functions.\n var boundFormatFns = this.getBoundFormatFns(config, this.state);\n\n var _state = this.state,\n now = _state.now,\n formatters = objectWithoutProperties(_state, ['now']);\n\n\n return {\n intl: _extends({}, config, boundFormatFns, {\n formatters: formatters,\n now: now\n })\n };\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._didDisplay = true;\n }\n }, {\n key: 'render',\n value: function render() {\n return Children.only(this.props.children);\n }\n }]);\n return IntlProvider;\n}(Component);\n\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.contextTypes = {\n intl: intlShape\n};\nIntlProvider.childContextTypes = {\n intl: intlShape.isRequired\n};\nprocess.env.NODE_ENV !== \"production\" ? IntlProvider.propTypes = _extends({}, intlConfigPropTypes, {\n children: PropTypes.element.isRequired,\n initialNow: PropTypes.any\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedDate = function (_Component) {\n inherits(FormattedDate, _Component);\n\n function FormattedDate(props, context) {\n classCallCheck(this, FormattedDate);\n\n var _this = possibleConstructorReturn(this, (FormattedDate.__proto__ || Object.getPrototypeOf(FormattedDate)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedDate, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatDate = _context$intl.formatDate,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedDate = formatDate(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedDate);\n }\n\n return React.createElement(\n Text,\n null,\n formattedDate\n );\n }\n }]);\n return FormattedDate;\n}(Component);\n\nFormattedDate.displayName = 'FormattedDate';\nFormattedDate.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedDate.propTypes = _extends({}, dateTimeFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedTime = function (_Component) {\n inherits(FormattedTime, _Component);\n\n function FormattedTime(props, context) {\n classCallCheck(this, FormattedTime);\n\n var _this = possibleConstructorReturn(this, (FormattedTime.__proto__ || Object.getPrototypeOf(FormattedTime)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedTime, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatTime = _context$intl.formatTime,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedTime = formatTime(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedTime);\n }\n\n return React.createElement(\n Text,\n null,\n formattedTime\n );\n }\n }]);\n return FormattedTime;\n}(Component);\n\nFormattedTime.displayName = 'FormattedTime';\nFormattedTime.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedTime.propTypes = _extends({}, dateTimeFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar SECOND = 1000;\nvar MINUTE = 1000 * 60;\nvar HOUR = 1000 * 60 * 60;\nvar DAY = 1000 * 60 * 60 * 24;\n\n// The maximum timer delay value is a 32-bit signed integer.\n// See: https://mdn.io/setTimeout\nvar MAX_TIMER_DELAY = 2147483647;\n\nfunction selectUnits(delta) {\n var absDelta = Math.abs(delta);\n\n if (absDelta < MINUTE) {\n return 'second';\n }\n\n if (absDelta < HOUR) {\n return 'minute';\n }\n\n if (absDelta < DAY) {\n return 'hour';\n }\n\n // The maximum scheduled delay will be measured in days since the maximum\n // timer delay is less than the number of milliseconds in 25 days.\n return 'day';\n}\n\nfunction getUnitDelay(units) {\n switch (units) {\n case 'second':\n return SECOND;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n case 'day':\n return DAY;\n default:\n return MAX_TIMER_DELAY;\n }\n}\n\nfunction isSameDate(a, b) {\n if (a === b) {\n return true;\n }\n\n var aTime = new Date(a).getTime();\n var bTime = new Date(b).getTime();\n\n return isFinite(aTime) && isFinite(bTime) && aTime === bTime;\n}\n\nvar FormattedRelative = function (_Component) {\n inherits(FormattedRelative, _Component);\n\n function FormattedRelative(props, context) {\n classCallCheck(this, FormattedRelative);\n\n var _this = possibleConstructorReturn(this, (FormattedRelative.__proto__ || Object.getPrototypeOf(FormattedRelative)).call(this, props, context));\n\n invariantIntlContext(context);\n\n var now = isFinite(props.initialNow) ? Number(props.initialNow) : context.intl.now();\n\n // `now` is stored as state so that `render()` remains a function of\n // props + state, instead of accessing `Date.now()` inside `render()`.\n _this.state = { now: now };\n return _this;\n }\n\n createClass(FormattedRelative, [{\n key: 'scheduleNextUpdate',\n value: function scheduleNextUpdate(props, state) {\n var _this2 = this;\n\n // Cancel and pending update because we're scheduling a new update.\n clearTimeout(this._timer);\n\n var value = props.value,\n units = props.units,\n updateInterval = props.updateInterval;\n\n var time = new Date(value).getTime();\n\n // If the `updateInterval` is falsy, including `0` or we don't have a\n // valid date, then auto updates have been turned off, so we bail and\n // skip scheduling an update.\n if (!updateInterval || !isFinite(time)) {\n return;\n }\n\n var delta = time - state.now;\n var unitDelay = getUnitDelay(units || selectUnits(delta));\n var unitRemainder = Math.abs(delta % unitDelay);\n\n // We want the largest possible timer delay which will still display\n // accurate information while reducing unnecessary re-renders. The delay\n // should be until the next \"interesting\" moment, like a tick from\n // \"1 minute ago\" to \"2 minutes ago\" when the delta is 120,000ms.\n var delay = delta < 0 ? Math.max(updateInterval, unitDelay - unitRemainder) : Math.max(updateInterval, unitRemainder);\n\n this._timer = setTimeout(function () {\n _this2.setState({ now: _this2.context.intl.now() });\n }, delay);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(_ref) {\n var nextValue = _ref.value;\n\n // When the `props.value` date changes, `state.now` needs to be updated,\n // and the next update can be rescheduled.\n if (!isSameDate(nextValue, this.props.value)) {\n this.setState({ now: this.context.intl.now() });\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n this.scheduleNextUpdate(nextProps, nextState);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this._timer);\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatRelative = _context$intl.formatRelative,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedRelative = formatRelative(value, _extends({}, this.props, this.state));\n\n if (typeof children === 'function') {\n return children(formattedRelative);\n }\n\n return React.createElement(\n Text,\n null,\n formattedRelative\n );\n }\n }]);\n return FormattedRelative;\n}(Component);\n\nFormattedRelative.displayName = 'FormattedRelative';\nFormattedRelative.contextTypes = {\n intl: intlShape\n};\nFormattedRelative.defaultProps = {\n updateInterval: 1000 * 10\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedRelative.propTypes = _extends({}, relativeFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n updateInterval: PropTypes.number,\n initialNow: PropTypes.any,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedNumber = function (_Component) {\n inherits(FormattedNumber, _Component);\n\n function FormattedNumber(props, context) {\n classCallCheck(this, FormattedNumber);\n\n var _this = possibleConstructorReturn(this, (FormattedNumber.__proto__ || Object.getPrototypeOf(FormattedNumber)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedNumber, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatNumber = _context$intl.formatNumber,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedNumber = formatNumber(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedNumber);\n }\n\n return React.createElement(\n Text,\n null,\n formattedNumber\n );\n }\n }]);\n return FormattedNumber;\n}(Component);\n\nFormattedNumber.displayName = 'FormattedNumber';\nFormattedNumber.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedNumber.propTypes = _extends({}, numberFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedPlural = function (_Component) {\n inherits(FormattedPlural, _Component);\n\n function FormattedPlural(props, context) {\n classCallCheck(this, FormattedPlural);\n\n var _this = possibleConstructorReturn(this, (FormattedPlural.__proto__ || Object.getPrototypeOf(FormattedPlural)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedPlural, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatPlural = _context$intl.formatPlural,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n other = _props.other,\n children = _props.children;\n\n\n var pluralCategory = formatPlural(value, this.props);\n var formattedPlural = this.props[pluralCategory] || other;\n\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n\n return React.createElement(\n Text,\n null,\n formattedPlural\n );\n }\n }]);\n return FormattedPlural;\n}(Component);\n\nFormattedPlural.displayName = 'FormattedPlural';\nFormattedPlural.contextTypes = {\n intl: intlShape\n};\nFormattedPlural.defaultProps = {\n style: 'cardinal'\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedPlural.propTypes = _extends({}, pluralFormatPropTypes, {\n value: PropTypes.any.isRequired,\n\n other: PropTypes.node.isRequired,\n zero: PropTypes.node,\n one: PropTypes.node,\n two: PropTypes.node,\n few: PropTypes.node,\n many: PropTypes.node,\n\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar defaultFormatMessage = function defaultFormatMessage(descriptor, values) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Could not find required `intl` object. needs to exist in the component ancestry. Using default message as fallback.');\n }\n return formatMessage({}, { getMessageFormat: memoizeIntlConstructor(IntlMessageFormat) }, descriptor, values);\n};\n\nvar FormattedMessage = function (_Component) {\n inherits(FormattedMessage, _Component);\n\n function FormattedMessage(props, context) {\n classCallCheck(this, FormattedMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedMessage.__proto__ || Object.getPrototypeOf(FormattedMessage)).call(this, props, context));\n\n if (!props.defaultMessage) {\n invariantIntlContext(context);\n }\n return _this;\n }\n\n createClass(FormattedMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _ref = this.context.intl || {},\n _ref$formatMessage = _ref.formatMessage,\n formatMessage$$1 = _ref$formatMessage === undefined ? defaultFormatMessage : _ref$formatMessage,\n _ref$textComponent = _ref.textComponent,\n Text = _ref$textComponent === undefined ? 'span' : _ref$textComponent;\n\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n values = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n\n var tokenDelimiter = void 0;\n var tokenizedValues = void 0;\n var elements = void 0;\n\n var hasValues = values && Object.keys(values).length > 0;\n if (hasValues) {\n // Creates a token with a random UID that should not be guessable or\n // conflict with other parts of the `message` string.\n var uid = Math.floor(Math.random() * 0x10000000000).toString(16);\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n return 'ELEMENT-' + uid + '-' + (counter += 1);\n };\n }();\n\n // Splitting with a delimiter to support IE8. When using a regex\n // with a capture group IE8 does not include the capture group in\n // the resulting array.\n tokenDelimiter = '@__' + uid + '__@';\n tokenizedValues = {};\n elements = {};\n\n // Iterates over the `props` to keep track of any React Element\n // values so they can be represented by the `token` as a placeholder\n // when the `message` is formatted. This allows the formatted\n // message to then be broken-up into parts with references to the\n // React Elements inserted back in.\n Object.keys(values).forEach(function (name) {\n var value = values[name];\n\n if (isValidElement(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else {\n tokenizedValues[name] = value;\n }\n });\n }\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedMessage = formatMessage$$1(descriptor, tokenizedValues || values);\n\n var nodes = void 0;\n\n var hasElements = elements && Object.keys(elements).length > 0;\n if (hasElements) {\n // Split the message into parts so the React Element values captured\n // above can be inserted back into the rendered message. This\n // approach allows messages to render with React Elements while\n // keeping React's virtual diffing working properly.\n nodes = formattedMessage.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(function (part) {\n return elements[part] || part;\n });\n } else {\n nodes = [formattedMessage];\n }\n\n if (typeof children === 'function') {\n return children.apply(undefined, toConsumableArray(nodes));\n }\n\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return createElement.apply(undefined, [Component$$1, null].concat(toConsumableArray(nodes)));\n }\n }]);\n return FormattedMessage;\n}(Component);\n\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.contextTypes = {\n intl: intlShape\n};\nFormattedMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedHTMLMessage = function (_Component) {\n inherits(FormattedHTMLMessage, _Component);\n\n function FormattedHTMLMessage(props, context) {\n classCallCheck(this, FormattedHTMLMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedHTMLMessage.__proto__ || Object.getPrototypeOf(FormattedHTMLMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedHTMLMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatHTMLMessage = _context$intl.formatHTMLMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n rawValues = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n var html = { __html: formattedHTMLMessage };\n return React.createElement(Component$$1, { dangerouslySetInnerHTML: html });\n }\n }]);\n return FormattedHTMLMessage;\n}(Component);\n\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.contextTypes = {\n intl: intlShape\n};\nFormattedHTMLMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedHTMLMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(defaultLocaleData);\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(allLocaleData);\n\nexport { addLocaleData, intlShape, injectIntl, defineMessages, IntlProvider, FormattedDate, FormattedTime, FormattedRelative, FormattedNumber, FormattedPlural, FormattedMessage, FormattedHTMLMessage };\n","/* jshint node:true */\n\n'use strict';\n\nvar IntlMessageFormat = require('./lib/main')['default'];\n\n// Add all locale data to `IntlMessageFormat`. This module will be ignored when\n// bundling for the browser with Browserify/Webpack.\nrequire('./lib/locales');\n\n// Re-export `IntlMessageFormat` as the CommonJS default exports with all the\n// locale data registered, and with English set as the default locale. Define\n// the `default` prop for use with other compiled ES6 Modules.\nexports = module.exports = IntlMessageFormat;\nexports['default'] = exports;\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nexports[\"default\"] = Compiler;\n\nfunction Compiler(locales, formats, pluralFn) {\n this.locales = locales;\n this.formats = formats;\n this.pluralFn = pluralFn;\n}\n\nCompiler.prototype.compile = function (ast) {\n this.pluralStack = [];\n this.currentPlural = null;\n this.pluralNumberFormat = null;\n\n return this.compileMessage(ast);\n};\n\nCompiler.prototype.compileMessage = function (ast) {\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new Error('Message AST is not of type: \"messageFormatPattern\"');\n }\n\n var elements = ast.elements,\n pattern = [];\n\n var i, len, element;\n\n for (i = 0, len = elements.length; i < len; i += 1) {\n element = elements[i];\n\n switch (element.type) {\n case 'messageTextElement':\n pattern.push(this.compileMessageText(element));\n break;\n\n case 'argumentElement':\n pattern.push(this.compileArgument(element));\n break;\n\n default:\n throw new Error('Message element does not have a valid type');\n }\n }\n\n return pattern;\n};\n\nCompiler.prototype.compileMessageText = function (element) {\n // When this `element` is part of plural sub-pattern and its value contains\n // an unescaped '#', use a `PluralOffsetString` helper to properly output\n // the number with the correct offset in the string.\n if (this.currentPlural && /(^|[^\\\\])#/g.test(element.value)) {\n // Create a cache a NumberFormat instance that can be reused for any\n // PluralOffsetString instance in this message.\n if (!this.pluralNumberFormat) {\n this.pluralNumberFormat = new Intl.NumberFormat(this.locales);\n }\n\n return new PluralOffsetString(\n this.currentPlural.id,\n this.currentPlural.format.offset,\n this.pluralNumberFormat,\n element.value);\n }\n\n // Unescape the escaped '#'s in the message text.\n return element.value.replace(/\\\\#/g, '#');\n};\n\nCompiler.prototype.compileArgument = function (element) {\n var format = element.format;\n\n if (!format) {\n return new StringFormat(element.id);\n }\n\n var formats = this.formats,\n locales = this.locales,\n pluralFn = this.pluralFn,\n options;\n\n switch (format.type) {\n case 'numberFormat':\n options = formats.number[format.style];\n return {\n id : element.id,\n format: new Intl.NumberFormat(locales, options).format\n };\n\n case 'dateFormat':\n options = formats.date[format.style];\n return {\n id : element.id,\n format: new Intl.DateTimeFormat(locales, options).format\n };\n\n case 'timeFormat':\n options = formats.time[format.style];\n return {\n id : element.id,\n format: new Intl.DateTimeFormat(locales, options).format\n };\n\n case 'pluralFormat':\n options = this.compileOptions(element);\n return new PluralFormat(\n element.id, format.ordinal, format.offset, options, pluralFn\n );\n\n case 'selectFormat':\n options = this.compileOptions(element);\n return new SelectFormat(element.id, options);\n\n default:\n throw new Error('Message element does not have a valid format type');\n }\n};\n\nCompiler.prototype.compileOptions = function (element) {\n var format = element.format,\n options = format.options,\n optionsHash = {};\n\n // Save the current plural element, if any, then set it to a new value when\n // compiling the options sub-patterns. This conforms the spec's algorithm\n // for handling `\"#\"` syntax in message text.\n this.pluralStack.push(this.currentPlural);\n this.currentPlural = format.type === 'pluralFormat' ? element : null;\n\n var i, len, option;\n\n for (i = 0, len = options.length; i < len; i += 1) {\n option = options[i];\n\n // Compile the sub-pattern and save it under the options's selector.\n optionsHash[option.selector] = this.compileMessage(option.value);\n }\n\n // Pop the plural stack to put back the original current plural value.\n this.currentPlural = this.pluralStack.pop();\n\n return optionsHash;\n};\n\n// -- Compiler Helper Classes --------------------------------------------------\n\nfunction StringFormat(id) {\n this.id = id;\n}\n\nStringFormat.prototype.format = function (value) {\n if (!value && typeof value !== 'number') {\n return '';\n }\n\n return typeof value === 'string' ? value : String(value);\n};\n\nfunction PluralFormat(id, useOrdinal, offset, options, pluralFn) {\n this.id = id;\n this.useOrdinal = useOrdinal;\n this.offset = offset;\n this.options = options;\n this.pluralFn = pluralFn;\n}\n\nPluralFormat.prototype.getOption = function (value) {\n var options = this.options;\n\n var option = options['=' + value] ||\n options[this.pluralFn(value - this.offset, this.useOrdinal)];\n\n return option || options.other;\n};\n\nfunction PluralOffsetString(id, offset, numberFormat, string) {\n this.id = id;\n this.offset = offset;\n this.numberFormat = numberFormat;\n this.string = string;\n}\n\nPluralOffsetString.prototype.format = function (value) {\n var number = this.numberFormat.format(value - this.offset);\n\n return this.string\n .replace(/(^|[^\\\\])#/g, '$1' + number)\n .replace(/\\\\#/g, '#');\n};\n\nfunction SelectFormat(id, options) {\n this.id = id;\n this.options = options;\n}\n\nSelectFormat.prototype.getOption = function (value) {\n var options = this.options;\n return options[value] || options.other;\n};\n\n//# sourceMappingURL=compiler.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nvar src$utils$$ = require(\"./utils\"), src$es5$$ = require(\"./es5\"), src$compiler$$ = require(\"./compiler\"), intl$messageformat$parser$$ = require(\"intl-messageformat-parser\");\nexports[\"default\"] = MessageFormat;\n\n// -- MessageFormat --------------------------------------------------------\n\nfunction MessageFormat(message, locales, formats) {\n // Parse string messages into an AST.\n var ast = typeof message === 'string' ?\n MessageFormat.__parse(message) : message;\n\n if (!(ast && ast.type === 'messageFormatPattern')) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n formats = this._mergeFormats(MessageFormat.formats, formats);\n\n // Defined first because it's used to build the format pattern.\n src$es5$$.defineProperty(this, '_locale', {value: this._resolveLocale(locales)});\n\n // Compile the `ast` to a pattern that is highly optimized for repeated\n // `format()` invocations. **Note:** This passes the `locales` set provided\n // to the constructor instead of just the resolved locale.\n var pluralFn = this._findPluralRuleFunction(this._locale);\n var pattern = this._compilePattern(ast, locales, formats, pluralFn);\n\n // \"Bind\" `format()` method to `this` so it can be passed by reference like\n // the other `Intl` APIs.\n var messageFormat = this;\n this.format = function (values) {\n try {\n return messageFormat._format(pattern, values);\n } catch (e) {\n if (e.variableId) {\n throw new Error(\n 'The intl string context variable \\'' + e.variableId + '\\'' +\n ' was not provided to the string \\'' + message + '\\''\n );\n } else {\n throw e;\n }\n }\n };\n}\n\n// Default format options used as the prototype of the `formats` provided to the\n// constructor. These are used when constructing the internal Intl.NumberFormat\n// and Intl.DateTimeFormat instances.\nsrc$es5$$.defineProperty(MessageFormat, 'formats', {\n enumerable: true,\n\n value: {\n number: {\n 'currency': {\n style: 'currency'\n },\n\n 'percent': {\n style: 'percent'\n }\n },\n\n date: {\n 'short': {\n month: 'numeric',\n day : 'numeric',\n year : '2-digit'\n },\n\n 'medium': {\n month: 'short',\n day : 'numeric',\n year : 'numeric'\n },\n\n 'long': {\n month: 'long',\n day : 'numeric',\n year : 'numeric'\n },\n\n 'full': {\n weekday: 'long',\n month : 'long',\n day : 'numeric',\n year : 'numeric'\n }\n },\n\n time: {\n 'short': {\n hour : 'numeric',\n minute: 'numeric'\n },\n\n 'medium': {\n hour : 'numeric',\n minute: 'numeric',\n second: 'numeric'\n },\n\n 'long': {\n hour : 'numeric',\n minute : 'numeric',\n second : 'numeric',\n timeZoneName: 'short'\n },\n\n 'full': {\n hour : 'numeric',\n minute : 'numeric',\n second : 'numeric',\n timeZoneName: 'short'\n }\n }\n }\n});\n\n// Define internal private properties for dealing with locale data.\nsrc$es5$$.defineProperty(MessageFormat, '__localeData__', {value: src$es5$$.objCreate(null)});\nsrc$es5$$.defineProperty(MessageFormat, '__addLocaleData', {value: function (data) {\n if (!(data && data.locale)) {\n throw new Error(\n 'Locale data provided to IntlMessageFormat is missing a ' +\n '`locale` property'\n );\n }\n\n MessageFormat.__localeData__[data.locale.toLowerCase()] = data;\n}});\n\n// Defines `__parse()` static method as an exposed private.\nsrc$es5$$.defineProperty(MessageFormat, '__parse', {value: intl$messageformat$parser$$[\"default\"].parse});\n\n// Define public `defaultLocale` property which defaults to English, but can be\n// set by the developer.\nsrc$es5$$.defineProperty(MessageFormat, 'defaultLocale', {\n enumerable: true,\n writable : true,\n value : undefined\n});\n\nMessageFormat.prototype.resolvedOptions = function () {\n // TODO: Provide anything else?\n return {\n locale: this._locale\n };\n};\n\nMessageFormat.prototype._compilePattern = function (ast, locales, formats, pluralFn) {\n var compiler = new src$compiler$$[\"default\"](locales, formats, pluralFn);\n return compiler.compile(ast);\n};\n\nMessageFormat.prototype._findPluralRuleFunction = function (locale) {\n var localeData = MessageFormat.__localeData__;\n var data = localeData[locale.toLowerCase()];\n\n // The locale data is de-duplicated, so we have to traverse the locale's\n // hierarchy until we find a `pluralRuleFunction` to return.\n while (data) {\n if (data.pluralRuleFunction) {\n return data.pluralRuleFunction;\n }\n\n data = data.parentLocale && localeData[data.parentLocale.toLowerCase()];\n }\n\n throw new Error(\n 'Locale data added to IntlMessageFormat is missing a ' +\n '`pluralRuleFunction` for :' + locale\n );\n};\n\nMessageFormat.prototype._format = function (pattern, values) {\n var result = '',\n i, len, part, id, value, err;\n\n for (i = 0, len = pattern.length; i < len; i += 1) {\n part = pattern[i];\n\n // Exist early for string parts.\n if (typeof part === 'string') {\n result += part;\n continue;\n }\n\n id = part.id;\n\n // Enforce that all required values are provided by the caller.\n if (!(values && src$utils$$.hop.call(values, id))) {\n err = new Error('A value must be provided for: ' + id);\n err.variableId = id;\n throw err;\n }\n\n value = values[id];\n\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (part.options) {\n result += this._format(part.getOption(value), values);\n } else {\n result += part.format(value);\n }\n }\n\n return result;\n};\n\nMessageFormat.prototype._mergeFormats = function (defaults, formats) {\n var mergedFormats = {},\n type, mergedType;\n\n for (type in defaults) {\n if (!src$utils$$.hop.call(defaults, type)) { continue; }\n\n mergedFormats[type] = mergedType = src$es5$$.objCreate(defaults[type]);\n\n if (formats && src$utils$$.hop.call(formats, type)) {\n src$utils$$.extend(mergedType, formats[type]);\n }\n }\n\n return mergedFormats;\n};\n\nMessageFormat.prototype._resolveLocale = function (locales) {\n if (typeof locales === 'string') {\n locales = [locales];\n }\n\n // Create a copy of the array so we can push on the default locale.\n locales = (locales || []).concat(MessageFormat.defaultLocale);\n\n var localeData = MessageFormat.__localeData__;\n var i, len, localeParts, data;\n\n // Using the set of locales + the default locale, we look for the first one\n // which that has been registered. When data does not exist for a locale, we\n // traverse its ancestors to find something that's been registered within\n // its hierarchy of locales. Since we lack the proper `parentLocale` data\n // here, we must take a naive approach to traversal.\n for (i = 0, len = locales.length; i < len; i += 1) {\n localeParts = locales[i].toLowerCase().split('-');\n\n while (localeParts.length) {\n data = localeData[localeParts.join('-')];\n if (data) {\n // Return the normalized locale string; e.g., we return \"en-US\",\n // instead of \"en-us\".\n return data.locale;\n }\n\n localeParts.pop();\n }\n }\n\n var defaultLocale = locales.pop();\n throw new Error(\n 'No locale data has been added to IntlMessageFormat for: ' +\n locales.join(', ') + ', or the default locale: ' + defaultLocale\n );\n};\n\n//# sourceMappingURL=core.js.map","// GENERATED FILE\n\"use strict\";\nexports[\"default\"] = {\"locale\":\"en\",\"pluralRuleFunction\":function (n,ord){var s=String(n).split(\".\"),v0=!s[1],t0=Number(s[0])==n,n10=t0&&s[0].slice(-1),n100=t0&&s[0].slice(-2);if(ord)return n10==1&&n100!=11?\"one\":n10==2&&n100!=12?\"two\":n10==3&&n100!=13?\"few\":\"other\";return n==1&&v0?\"one\":\"other\"}};\n\n//# sourceMappingURL=en.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nvar src$utils$$ = require(\"./utils\");\n\n// Purposely using the same implementation as the Intl.js `Intl` polyfill.\n// Copyright 2013 Andy Earnshaw, MIT License\n\nvar realDefineProp = (function () {\n try { return !!Object.defineProperty({}, 'a', {}); }\n catch (e) { return false; }\n})();\n\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\nvar defineProperty = realDefineProp ? Object.defineProperty :\n function (obj, name, desc) {\n\n if ('get' in desc && obj.__defineGetter__) {\n obj.__defineGetter__(name, desc.get);\n } else if (!src$utils$$.hop.call(obj, name) || 'value' in desc) {\n obj[name] = desc.value;\n }\n};\n\nvar objCreate = Object.create || function (proto, props) {\n var obj, k;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (k in props) {\n if (src$utils$$.hop.call(props, k)) {\n defineProperty(obj, k, props[k]);\n }\n }\n\n return obj;\n};\n\nexports.defineProperty = defineProperty, exports.objCreate = objCreate;\n\n//# sourceMappingURL=es5.js.map","/* jslint esnext: true */\n\n\"use strict\";\nvar src$core$$ = require(\"./core\"), src$en$$ = require(\"./en\");\n\nsrc$core$$[\"default\"].__addLocaleData(src$en$$[\"default\"]);\nsrc$core$$[\"default\"].defaultLocale = 'en';\n\nexports[\"default\"] = src$core$$[\"default\"];\n\n//# sourceMappingURL=main.js.map","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n/* jslint esnext: true */\n\n\"use strict\";\nexports.extend = extend;\nvar hop = Object.prototype.hasOwnProperty;\n\nfunction extend(obj) {\n var sources = Array.prototype.slice.call(arguments, 1),\n i, len, source, key;\n\n for (i = 0, len = sources.length; i < len; i += 1) {\n source = sources[i];\n if (!source) { continue; }\n\n for (key in source) {\n if (hop.call(source, key)) {\n obj[key] = source[key];\n }\n }\n }\n\n return obj;\n}\nexports.hop = hop;\n\n//# sourceMappingURL=utils.js.map","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar React = require(\"react\");\nvar PropTypes = require(\"prop-types\");\n\nvar ALL_INITIALIZERS = [];\nvar READY_INITIALIZERS = [];\n\nfunction isWebpackReady(getModuleIds) {\n if ((typeof __webpack_modules__ === \"undefined\" ? \"undefined\" : _typeof(__webpack_modules__)) !== \"object\") {\n return false;\n }\n\n return getModuleIds().every(function (moduleId) {\n return typeof moduleId !== \"undefined\" && typeof __webpack_modules__[moduleId] !== \"undefined\";\n });\n}\n\nfunction load(loader) {\n var promise = loader();\n\n var state = {\n loading: true,\n loaded: null,\n error: null\n };\n\n state.promise = promise.then(function (loaded) {\n state.loading = false;\n state.loaded = loaded;\n return loaded;\n }).catch(function (err) {\n state.loading = false;\n state.error = err;\n throw err;\n });\n\n return state;\n}\n\nfunction loadMap(obj) {\n var state = {\n loading: false,\n loaded: {},\n error: null\n };\n\n var promises = [];\n\n try {\n Object.keys(obj).forEach(function (key) {\n var result = load(obj[key]);\n\n if (!result.loading) {\n state.loaded[key] = result.loaded;\n state.error = result.error;\n } else {\n state.loading = true;\n }\n\n promises.push(result.promise);\n\n result.promise.then(function (res) {\n state.loaded[key] = res;\n }).catch(function (err) {\n state.error = err;\n });\n });\n } catch (err) {\n state.error = err;\n }\n\n state.promise = Promise.all(promises).then(function (res) {\n state.loading = false;\n return res;\n }).catch(function (err) {\n state.loading = false;\n throw err;\n });\n\n return state;\n}\n\nfunction resolve(obj) {\n return obj && obj.__esModule ? obj.default : obj;\n}\n\nfunction render(loaded, props) {\n return React.createElement(resolve(loaded), props);\n}\n\nfunction createLoadableComponent(loadFn, options) {\n var _class, _temp;\n\n if (!options.loading) {\n throw new Error(\"react-loadable requires a `loading` component\");\n }\n\n var opts = Object.assign({\n loader: null,\n loading: null,\n delay: 200,\n timeout: null,\n render: render,\n webpack: null,\n modules: null\n }, options);\n\n var res = null;\n\n function init() {\n if (!res) {\n res = loadFn(opts.loader);\n }\n return res.promise;\n }\n\n ALL_INITIALIZERS.push(init);\n\n if (typeof opts.webpack === \"function\") {\n READY_INITIALIZERS.push(function () {\n if (isWebpackReady(opts.webpack)) {\n return init();\n }\n });\n }\n\n return _temp = _class = function (_React$Component) {\n _inherits(LoadableComponent, _React$Component);\n\n function LoadableComponent(props) {\n _classCallCheck(this, LoadableComponent);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.retry = function () {\n _this.setState({ error: null, loading: true, timedOut: false });\n res = loadFn(opts.loader);\n _this._loadModule();\n };\n\n init();\n\n _this.state = {\n error: res.error,\n pastDelay: false,\n timedOut: false,\n loading: res.loading,\n loaded: res.loaded\n };\n return _this;\n }\n\n LoadableComponent.preload = function preload() {\n return init();\n };\n\n LoadableComponent.prototype.componentWillMount = function componentWillMount() {\n this._mounted = true;\n this._loadModule();\n };\n\n LoadableComponent.prototype._loadModule = function _loadModule() {\n var _this2 = this;\n\n if (this.context.loadable && Array.isArray(opts.modules)) {\n opts.modules.forEach(function (moduleName) {\n _this2.context.loadable.report(moduleName);\n });\n }\n\n if (!res.loading) {\n return;\n }\n\n if (typeof opts.delay === \"number\") {\n if (opts.delay === 0) {\n this.setState({ pastDelay: true });\n } else {\n this._delay = setTimeout(function () {\n _this2.setState({ pastDelay: true });\n }, opts.delay);\n }\n }\n\n if (typeof opts.timeout === \"number\") {\n this._timeout = setTimeout(function () {\n _this2.setState({ timedOut: true });\n }, opts.timeout);\n }\n\n var update = function update() {\n if (!_this2._mounted) {\n return;\n }\n\n _this2.setState({\n error: res.error,\n loaded: res.loaded,\n loading: res.loading\n });\n\n _this2._clearTimeouts();\n };\n\n res.promise.then(function () {\n update();\n }).catch(function (err) {\n update();\n });\n };\n\n LoadableComponent.prototype.componentWillUnmount = function componentWillUnmount() {\n this._mounted = false;\n this._clearTimeouts();\n };\n\n LoadableComponent.prototype._clearTimeouts = function _clearTimeouts() {\n clearTimeout(this._delay);\n clearTimeout(this._timeout);\n };\n\n LoadableComponent.prototype.render = function render() {\n if (this.state.loading || this.state.error) {\n return React.createElement(opts.loading, {\n isLoading: this.state.loading,\n pastDelay: this.state.pastDelay,\n timedOut: this.state.timedOut,\n error: this.state.error,\n retry: this.retry\n });\n } else if (this.state.loaded) {\n return opts.render(this.state.loaded, this.props);\n } else {\n return null;\n }\n };\n\n return LoadableComponent;\n }(React.Component), _class.contextTypes = {\n loadable: PropTypes.shape({\n report: PropTypes.func.isRequired\n })\n }, _temp;\n}\n\nfunction Loadable(opts) {\n return createLoadableComponent(load, opts);\n}\n\nfunction LoadableMap(opts) {\n if (typeof opts.render !== \"function\") {\n throw new Error(\"LoadableMap requires a `render(loaded, props)` function\");\n }\n\n return createLoadableComponent(loadMap, opts);\n}\n\nLoadable.Map = LoadableMap;\n\nvar Capture = function (_React$Component2) {\n _inherits(Capture, _React$Component2);\n\n function Capture() {\n _classCallCheck(this, Capture);\n\n return _possibleConstructorReturn(this, _React$Component2.apply(this, arguments));\n }\n\n Capture.prototype.getChildContext = function getChildContext() {\n return {\n loadable: {\n report: this.props.report\n }\n };\n };\n\n Capture.prototype.render = function render() {\n return React.Children.only(this.props.children);\n };\n\n return Capture;\n}(React.Component);\n\nCapture.propTypes = {\n report: PropTypes.func.isRequired\n};\nCapture.childContextTypes = {\n loadable: PropTypes.shape({\n report: PropTypes.func.isRequired\n }).isRequired\n};\n\n\nLoadable.Capture = Capture;\n\nfunction flushInitializers(initializers) {\n var promises = [];\n\n while (initializers.length) {\n var init = initializers.pop();\n promises.push(init());\n }\n\n return Promise.all(promises).then(function () {\n if (initializers.length) {\n return flushInitializers(initializers);\n }\n });\n}\n\nLoadable.preloadAll = function () {\n return new Promise(function (resolve, reject) {\n flushInitializers(ALL_INITIALIZERS).then(resolve, reject);\n });\n};\n\nLoadable.preloadReady = function () {\n return new Promise(function (resolve, reject) {\n // We always will resolve, errors should be handled within loading UIs.\n flushInitializers(READY_INITIALIZERS).then(resolve, resolve);\n });\n};\n\nmodule.exports = Loadable;","/**\n * generates a UID factory\n * @internal\n * @example\n * const uid = generateUID();\n * uid(object) = 1;\n * uid(object) = 1;\n * uid(anotherObject) = 2;\n */\nexport var generateUID = function () {\n var counter = 1;\n var map = new WeakMap();\n /**\n * @borrows {uid}\n */\n var uid = function (item, index) {\n if (typeof item === 'number' ||\n typeof item === 'string') {\n return index ? \"idx-\" + index : \"val-\" + item;\n }\n if (!map.has(item)) {\n map.set(item, counter++);\n return uid(item);\n }\n return 'uid' + map.get(item);\n };\n return uid;\n};\n/**\n * @name uid\n * returns an UID associated with {item}\n * @param {Object} item - object to generate UID for\n * @param {Number} index, a fallback index\n * @example\n * uid(object) == 1;\n * uid(object) == 1;\n * uid(anotherObject) == 2;\n * uid(\"not object\", 42) == 42\n *\n * @see {@link useUID}\n */\nexport var uid = generateUID();\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1]+$/;\n\n// Ignore the _recursing flag; it's there for recursive\n// invocation as a guard against this exploit:\n// https://github.com/fb55/htmlparser2/issues/105\n\nfunction sanitizeHtml(html, options, _recursing) {\n if (html == null) {\n return '';\n }\n if (typeof html === 'number') {\n html = html.toString();\n }\n\n let result = '';\n // Used for hot swapping the result variable with an empty string in order to \"capture\" the text written to it.\n let tempResult = '';\n\n function Frame(tag, attribs) {\n const that = this;\n this.tag = tag;\n this.attribs = attribs || {};\n this.tagPosition = result.length;\n this.text = ''; // Node inner text\n this.mediaChildren = [];\n\n this.updateParentNodeText = function() {\n if (stack.length) {\n const parentFrame = stack[stack.length - 1];\n parentFrame.text += that.text;\n }\n };\n\n this.updateParentNodeMediaChildren = function() {\n if (stack.length && mediaTags.includes(this.tag)) {\n const parentFrame = stack[stack.length - 1];\n parentFrame.mediaChildren.push(this.tag);\n }\n };\n }\n\n options = Object.assign({}, sanitizeHtml.defaults, options);\n options.parser = Object.assign({}, htmlParserDefaults, options.parser);\n\n const tagAllowed = function (name) {\n return options.allowedTags === false || (options.allowedTags || []).indexOf(name) > -1;\n };\n\n // vulnerableTags\n vulnerableTags.forEach(function (tag) {\n if (tagAllowed(tag) && !options.allowVulnerableTags) {\n console.warn(`\\n\\n⚠️ Your \\`allowedTags\\` option includes, \\`${tag}\\`, which is inherently\\nvulnerable to XSS attacks. Please remove it from \\`allowedTags\\`.\\nOr, to disable this warning, add the \\`allowVulnerableTags\\` option\\nand ensure you are accounting for this risk.\\n\\n`);\n }\n });\n\n // Tags that contain something other than HTML, or where discarding\n // the text when the tag is disallowed makes sense for other reasons.\n // If we are not allowing these tags, we should drop their content too.\n // For other tags you would drop the tag but keep its content.\n const nonTextTagsArray = options.nonTextTags || [\n 'script',\n 'style',\n 'textarea',\n 'option'\n ];\n let allowedAttributesMap;\n let allowedAttributesGlobMap;\n if (options.allowedAttributes) {\n allowedAttributesMap = {};\n allowedAttributesGlobMap = {};\n each(options.allowedAttributes, function(attributes, tag) {\n allowedAttributesMap[tag] = [];\n const globRegex = [];\n attributes.forEach(function(obj) {\n if (typeof obj === 'string' && obj.indexOf('*') >= 0) {\n globRegex.push(escapeStringRegexp(obj).replace(/\\\\\\*/g, '.*'));\n } else {\n allowedAttributesMap[tag].push(obj);\n }\n });\n if (globRegex.length) {\n allowedAttributesGlobMap[tag] = new RegExp('^(' + globRegex.join('|') + ')$');\n }\n });\n }\n const allowedClassesMap = {};\n const allowedClassesGlobMap = {};\n const allowedClassesRegexMap = {};\n each(options.allowedClasses, function(classes, tag) {\n // Implicitly allows the class attribute\n if (allowedAttributesMap) {\n if (!has(allowedAttributesMap, tag)) {\n allowedAttributesMap[tag] = [];\n }\n allowedAttributesMap[tag].push('class');\n }\n\n allowedClassesMap[tag] = [];\n allowedClassesRegexMap[tag] = [];\n const globRegex = [];\n classes.forEach(function(obj) {\n if (typeof obj === 'string' && obj.indexOf('*') >= 0) {\n globRegex.push(escapeStringRegexp(obj).replace(/\\\\\\*/g, '.*'));\n } else if (obj instanceof RegExp) {\n allowedClassesRegexMap[tag].push(obj);\n } else {\n allowedClassesMap[tag].push(obj);\n }\n });\n if (globRegex.length) {\n allowedClassesGlobMap[tag] = new RegExp('^(' + globRegex.join('|') + ')$');\n }\n });\n\n const transformTagsMap = {};\n let transformTagsAll;\n each(options.transformTags, function(transform, tag) {\n let transFun;\n if (typeof transform === 'function') {\n transFun = transform;\n } else if (typeof transform === 'string') {\n transFun = sanitizeHtml.simpleTransform(transform);\n }\n if (tag === '*') {\n transformTagsAll = transFun;\n } else {\n transformTagsMap[tag] = transFun;\n }\n });\n\n let depth;\n let stack;\n let skipMap;\n let transformMap;\n let skipText;\n let skipTextDepth;\n let addedText = false;\n\n initializeState();\n\n const parser = new htmlparser.Parser({\n onopentag: function(name, attribs) {\n // If `enforceHtmlBoundary` is `true` and this has found the opening\n // `html` tag, reset the state.\n if (options.enforceHtmlBoundary && name === 'html') {\n initializeState();\n }\n\n if (skipText) {\n skipTextDepth++;\n return;\n }\n const frame = new Frame(name, attribs);\n stack.push(frame);\n\n let skip = false;\n const hasText = !!frame.text;\n let transformedTag;\n if (has(transformTagsMap, name)) {\n transformedTag = transformTagsMap[name](name, attribs);\n\n frame.attribs = attribs = transformedTag.attribs;\n\n if (transformedTag.text !== undefined) {\n frame.innerText = transformedTag.text;\n }\n\n if (name !== transformedTag.tagName) {\n frame.name = name = transformedTag.tagName;\n transformMap[depth] = transformedTag.tagName;\n }\n }\n if (transformTagsAll) {\n transformedTag = transformTagsAll(name, attribs);\n\n frame.attribs = attribs = transformedTag.attribs;\n if (name !== transformedTag.tagName) {\n frame.name = name = transformedTag.tagName;\n transformMap[depth] = transformedTag.tagName;\n }\n }\n\n if (!tagAllowed(name) || (options.disallowedTagsMode === 'recursiveEscape' && !isEmptyObject(skipMap)) || (options.nestingLimit != null && depth >= options.nestingLimit)) {\n skip = true;\n skipMap[depth] = true;\n if (options.disallowedTagsMode === 'discard') {\n if (nonTextTagsArray.indexOf(name) !== -1) {\n skipText = true;\n skipTextDepth = 1;\n }\n }\n skipMap[depth] = true;\n }\n depth++;\n if (skip) {\n if (options.disallowedTagsMode === 'discard') {\n // We want the contents but not this tag\n return;\n }\n tempResult = result;\n result = '';\n }\n result += '<' + name;\n\n if (name === 'script') {\n if (options.allowedScriptHostnames || options.allowedScriptDomains) {\n frame.innerText = '';\n }\n }\n\n if (!allowedAttributesMap || has(allowedAttributesMap, name) || allowedAttributesMap['*']) {\n each(attribs, function(value, a) {\n if (!VALID_HTML_ATTRIBUTE_NAME.test(a)) {\n // This prevents part of an attribute name in the output from being\n // interpreted as the end of an attribute, or end of a tag.\n delete frame.attribs[a];\n return;\n }\n // check allowedAttributesMap for the element and attribute and modify the value\n // as necessary if there are specific values defined.\n let passedAllowedAttributesMapCheck = false;\n if (!allowedAttributesMap ||\n (has(allowedAttributesMap, name) && allowedAttributesMap[name].indexOf(a) !== -1) ||\n (allowedAttributesMap['*'] && allowedAttributesMap['*'].indexOf(a) !== -1) ||\n (has(allowedAttributesGlobMap, name) && allowedAttributesGlobMap[name].test(a)) ||\n (allowedAttributesGlobMap['*'] && allowedAttributesGlobMap['*'].test(a))) {\n passedAllowedAttributesMapCheck = true;\n } else if (allowedAttributesMap && allowedAttributesMap[name]) {\n for (const o of allowedAttributesMap[name]) {\n if (isPlainObject(o) && o.name && (o.name === a)) {\n passedAllowedAttributesMapCheck = true;\n let newValue = '';\n if (o.multiple === true) {\n // verify the values that are allowed\n const splitStrArray = value.split(' ');\n for (const s of splitStrArray) {\n if (o.values.indexOf(s) !== -1) {\n if (newValue === '') {\n newValue = s;\n } else {\n newValue += ' ' + s;\n }\n }\n }\n } else if (o.values.indexOf(value) >= 0) {\n // verified an allowed value matches the entire attribute value\n newValue = value;\n }\n value = newValue;\n }\n }\n }\n if (passedAllowedAttributesMapCheck) {\n if (options.allowedSchemesAppliedToAttributes.indexOf(a) !== -1) {\n if (naughtyHref(name, value)) {\n delete frame.attribs[a];\n return;\n }\n }\n\n if (name === 'script' && a === 'src') {\n\n let allowed = true;\n\n try {\n const parsed = parseUrl(value);\n\n if (options.allowedScriptHostnames || options.allowedScriptDomains) {\n const allowedHostname = (options.allowedScriptHostnames || []).find(function (hostname) {\n return hostname === parsed.url.hostname;\n });\n const allowedDomain = (options.allowedScriptDomains || []).find(function(domain) {\n return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);\n });\n allowed = allowedHostname || allowedDomain;\n }\n } catch (e) {\n allowed = false;\n }\n\n if (!allowed) {\n delete frame.attribs[a];\n return;\n }\n }\n\n if (name === 'iframe' && a === 'src') {\n let allowed = true;\n try {\n const parsed = parseUrl(value);\n\n if (parsed.isRelativeUrl) {\n // default value of allowIframeRelativeUrls is true\n // unless allowedIframeHostnames or allowedIframeDomains specified\n allowed = has(options, 'allowIframeRelativeUrls')\n ? options.allowIframeRelativeUrls\n : (!options.allowedIframeHostnames && !options.allowedIframeDomains);\n } else if (options.allowedIframeHostnames || options.allowedIframeDomains) {\n const allowedHostname = (options.allowedIframeHostnames || []).find(function (hostname) {\n return hostname === parsed.url.hostname;\n });\n const allowedDomain = (options.allowedIframeDomains || []).find(function(domain) {\n return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);\n });\n allowed = allowedHostname || allowedDomain;\n }\n } catch (e) {\n // Unparseable iframe src\n allowed = false;\n }\n if (!allowed) {\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'srcset') {\n try {\n let parsed = parseSrcset(value);\n parsed.forEach(function(value) {\n if (naughtyHref('srcset', value.url)) {\n value.evil = true;\n }\n });\n parsed = filter(parsed, function(v) {\n return !v.evil;\n });\n if (!parsed.length) {\n delete frame.attribs[a];\n return;\n } else {\n value = stringifySrcset(filter(parsed, function(v) {\n return !v.evil;\n }));\n frame.attribs[a] = value;\n }\n } catch (e) {\n // Unparseable srcset\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'class') {\n const allowedSpecificClasses = allowedClassesMap[name];\n const allowedWildcardClasses = allowedClassesMap['*'];\n const allowedSpecificClassesGlob = allowedClassesGlobMap[name];\n const allowedSpecificClassesRegex = allowedClassesRegexMap[name];\n const allowedWildcardClassesGlob = allowedClassesGlobMap['*'];\n const allowedClassesGlobs = [\n allowedSpecificClassesGlob,\n allowedWildcardClassesGlob\n ]\n .concat(allowedSpecificClassesRegex)\n .filter(function (t) {\n return t;\n });\n if (allowedSpecificClasses && allowedWildcardClasses) {\n value = filterClasses(value, deepmerge(allowedSpecificClasses, allowedWildcardClasses), allowedClassesGlobs);\n } else {\n value = filterClasses(value, allowedSpecificClasses || allowedWildcardClasses, allowedClassesGlobs);\n }\n if (!value.length) {\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'style') {\n if (options.parseStyleAttributes) {\n try {\n const abstractSyntaxTree = postcssParse(name + ' {' + value + '}');\n const filteredAST = filterCss(abstractSyntaxTree, options.allowedStyles);\n\n value = stringifyStyleAttributes(filteredAST);\n\n if (value.length === 0) {\n delete frame.attribs[a];\n return;\n }\n } catch (e) {\n console.warn('Failed to parse \"' + name + ' {' + value + '}' + '\", If you\\'re running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547');\n delete frame.attribs[a];\n return;\n }\n } else if (options.allowedStyles) {\n throw new Error('allowedStyles option cannot be used together with parseStyleAttributes: false.');\n }\n }\n result += ' ' + a;\n if (value && value.length) {\n result += '=\"' + escapeHtml(value, true) + '\"';\n }\n } else {\n delete frame.attribs[a];\n }\n });\n }\n if (options.selfClosing.indexOf(name) !== -1) {\n result += ' />';\n } else {\n result += '>';\n if (frame.innerText && !hasText && !options.textFilter) {\n result += escapeHtml(frame.innerText);\n addedText = true;\n }\n }\n if (skip) {\n result = tempResult + escapeHtml(result);\n tempResult = '';\n }\n },\n ontext: function(text) {\n if (skipText) {\n return;\n }\n const lastFrame = stack[stack.length - 1];\n let tag;\n\n if (lastFrame) {\n tag = lastFrame.tag;\n // If inner text was set by transform function then let's use it\n text = lastFrame.innerText !== undefined ? lastFrame.innerText : text;\n }\n\n if (options.disallowedTagsMode === 'discard' && ((tag === 'script') || (tag === 'style'))) {\n // htmlparser2 gives us these as-is. Escaping them ruins the content. Allowing\n // script tags is, by definition, game over for XSS protection, so if that's\n // your concern, don't allow them. The same is essentially true for style tags\n // which have their own collection of XSS vectors.\n result += text;\n } else {\n const escaped = escapeHtml(text, false);\n if (options.textFilter && !addedText) {\n result += options.textFilter(escaped, tag);\n } else if (!addedText) {\n result += escaped;\n }\n }\n if (stack.length) {\n const frame = stack[stack.length - 1];\n frame.text += text;\n }\n },\n onclosetag: function(name, isImplied) {\n\n if (skipText) {\n skipTextDepth--;\n if (!skipTextDepth) {\n skipText = false;\n } else {\n return;\n }\n }\n\n const frame = stack.pop();\n if (!frame) {\n // Do not crash on bad markup\n return;\n }\n\n if (frame.tag !== name) {\n // Another case of bad markup.\n // Push to stack, so that it will be used in future closing tags.\n stack.push(frame);\n return;\n }\n\n skipText = options.enforceHtmlBoundary ? name === 'html' : false;\n depth--;\n const skip = skipMap[depth];\n if (skip) {\n delete skipMap[depth];\n if (options.disallowedTagsMode === 'discard') {\n frame.updateParentNodeText();\n return;\n }\n tempResult = result;\n result = '';\n }\n\n if (transformMap[depth]) {\n name = transformMap[depth];\n delete transformMap[depth];\n }\n\n if (options.exclusiveFilter && options.exclusiveFilter(frame)) {\n result = result.substr(0, frame.tagPosition);\n return;\n }\n\n frame.updateParentNodeMediaChildren();\n frame.updateParentNodeText();\n\n if (\n // Already output />\n options.selfClosing.indexOf(name) !== -1 ||\n // Escaped tag, closing tag is implied\n (isImplied && !tagAllowed(name) && [ 'escape', 'recursiveEscape' ].indexOf(options.disallowedTagsMode) >= 0)\n ) {\n if (skip) {\n result = tempResult;\n tempResult = '';\n }\n return;\n }\n\n result += '';\n if (skip) {\n result = tempResult + escapeHtml(result);\n tempResult = '';\n }\n addedText = false;\n }\n }, options.parser);\n parser.write(html);\n parser.end();\n\n return result;\n\n function initializeState() {\n result = '';\n depth = 0;\n stack = [];\n skipMap = {};\n transformMap = {};\n skipText = false;\n skipTextDepth = 0;\n }\n\n function escapeHtml(s, quote) {\n if (typeof (s) !== 'string') {\n s = s + '';\n }\n if (options.parser.decodeEntities) {\n s = s.replace(/&/g, '&').replace(//g, '>');\n if (quote) {\n s = s.replace(/\"/g, '"');\n }\n }\n // TODO: this is inadequate because it will pass `&0;`. This approach\n // will not work, each & must be considered with regard to whether it\n // is followed by a 100% syntactically valid entity or not, and escaped\n // if it is not. If this bothers you, don't set parser.decodeEntities\n // to false. (The default is true.)\n s = s.replace(/&(?![a-zA-Z0-9#]{1,20};)/g, '&') // Match ampersands not part of existing HTML entity\n .replace(//g, '>');\n if (quote) {\n s = s.replace(/\"/g, '"');\n }\n return s;\n }\n\n function naughtyHref(name, href) {\n // Browsers ignore character codes of 32 (space) and below in a surprising\n // number of situations. Start reading here:\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#Embedded_tab\n // eslint-disable-next-line no-control-regex\n href = href.replace(/[\\x00-\\x20]+/g, '');\n // Clobber any comments in URLs, which the browser might\n // interpret inside an XML data island, allowing\n // a javascript: URL to be snuck through\n while (true) {\n const firstIndex = href.indexOf('', firstIndex + 4);\n if (lastIndex === -1) {\n break;\n }\n href = href.substring(0, firstIndex) + href.substring(lastIndex + 3);\n }\n // Case insensitive so we don't get faked out by JAVASCRIPT #1\n // Allow more characters after the first so we don't get faked\n // out by certain schemes browsers accept\n const matches = href.match(/^([a-zA-Z][a-zA-Z0-9.\\-+]*):/);\n if (!matches) {\n // Protocol-relative URL starting with any combination of '/' and '\\'\n if (href.match(/^[/\\\\]{2}/)) {\n return !options.allowProtocolRelative;\n }\n\n // No scheme\n return false;\n }\n const scheme = matches[1].toLowerCase();\n\n if (has(options.allowedSchemesByTag, name)) {\n return options.allowedSchemesByTag[name].indexOf(scheme) === -1;\n }\n\n return !options.allowedSchemes || options.allowedSchemes.indexOf(scheme) === -1;\n }\n\n function parseUrl(value) {\n value = value.replace(/^(\\w+:)?\\s*[\\\\/]\\s*[\\\\/]/, '$1//');\n if (value.startsWith('relative:')) {\n // An attempt to exploit our workaround for base URLs being\n // mandatory for relative URL validation in the WHATWG\n // URL parser, reject it\n throw new Error('relative: exploit attempt');\n }\n // naughtyHref is in charge of whether protocol relative URLs\n // are cool. Here we are concerned just with allowed hostnames and\n // whether to allow relative URLs.\n //\n // Build a placeholder \"base URL\" against which any reasonable\n // relative URL may be parsed successfully\n let base = 'relative://relative-site';\n for (let i = 0; (i < 100); i++) {\n base += `/${i}`;\n }\n\n const parsed = new URL(value, base);\n\n const isRelativeUrl = parsed && parsed.hostname === 'relative-site' && parsed.protocol === 'relative:';\n return {\n isRelativeUrl,\n url: parsed\n };\n }\n /**\n * Filters user input css properties by allowlisted regex attributes.\n * Modifies the abstractSyntaxTree object.\n *\n * @param {object} abstractSyntaxTree - Object representation of CSS attributes.\n * @property {array[Declaration]} abstractSyntaxTree.nodes[0] - Each object cointains prop and value key, i.e { prop: 'color', value: 'red' }.\n * @param {object} allowedStyles - Keys are properties (i.e color), value is list of permitted regex rules (i.e /green/i).\n * @return {object} - The modified tree.\n */\n function filterCss(abstractSyntaxTree, allowedStyles) {\n if (!allowedStyles) {\n return abstractSyntaxTree;\n }\n\n const astRules = abstractSyntaxTree.nodes[0];\n let selectedRule;\n\n // Merge global and tag-specific styles into new AST.\n if (allowedStyles[astRules.selector] && allowedStyles['*']) {\n selectedRule = deepmerge(\n allowedStyles[astRules.selector],\n allowedStyles['*']\n );\n } else {\n selectedRule = allowedStyles[astRules.selector] || allowedStyles['*'];\n }\n\n if (selectedRule) {\n abstractSyntaxTree.nodes[0].nodes = astRules.nodes.reduce(filterDeclarations(selectedRule), []);\n }\n\n return abstractSyntaxTree;\n }\n\n /**\n * Extracts the style attributes from an AbstractSyntaxTree and formats those\n * values in the inline style attribute format.\n *\n * @param {AbstractSyntaxTree} filteredAST\n * @return {string} - Example: \"color:yellow;text-align:center !important;font-family:helvetica;\"\n */\n function stringifyStyleAttributes(filteredAST) {\n return filteredAST.nodes[0].nodes\n .reduce(function(extractedAttributes, attrObject) {\n extractedAttributes.push(\n `${attrObject.prop}:${attrObject.value}${attrObject.important ? ' !important' : ''}`\n );\n return extractedAttributes;\n }, [])\n .join(';');\n }\n\n /**\n * Filters the existing attributes for the given property. Discards any attributes\n * which don't match the allowlist.\n *\n * @param {object} selectedRule - Example: { color: red, font-family: helvetica }\n * @param {array} allowedDeclarationsList - List of declarations which pass the allowlist.\n * @param {object} attributeObject - Object representing the current css property.\n * @property {string} attributeObject.type - Typically 'declaration'.\n * @property {string} attributeObject.prop - The CSS property, i.e 'color'.\n * @property {string} attributeObject.value - The corresponding value to the css property, i.e 'red'.\n * @return {function} - When used in Array.reduce, will return an array of Declaration objects\n */\n function filterDeclarations(selectedRule) {\n return function (allowedDeclarationsList, attributeObject) {\n // If this property is allowlisted...\n if (has(selectedRule, attributeObject.prop)) {\n const matchesRegex = selectedRule[attributeObject.prop].some(function(regularExpression) {\n return regularExpression.test(attributeObject.value);\n });\n\n if (matchesRegex) {\n allowedDeclarationsList.push(attributeObject);\n }\n }\n return allowedDeclarationsList;\n };\n }\n\n function filterClasses(classes, allowed, allowedGlobs) {\n if (!allowed) {\n // The class attribute is allowed without filtering on this tag\n return classes;\n }\n classes = classes.split(/\\s+/);\n return classes.filter(function(clss) {\n return allowed.indexOf(clss) !== -1 || allowedGlobs.some(function(glob) {\n return glob.test(clss);\n });\n }).join(' ');\n }\n}\n\n// Defaults are accessible to you so that you can use them as a starting point\n// programmatically if you wish\n\nconst htmlParserDefaults = {\n decodeEntities: true\n};\nsanitizeHtml.defaults = {\n allowedTags: [\n // Sections derived from MDN element categories and limited to the more\n // benign categories.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element\n // Content sectioning\n 'address', 'article', 'aside', 'footer', 'header',\n 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hgroup',\n 'main', 'nav', 'section',\n // Text content\n 'blockquote', 'dd', 'div', 'dl', 'dt', 'figcaption', 'figure',\n 'hr', 'li', 'main', 'ol', 'p', 'pre', 'ul',\n // Inline text semantics\n 'a', 'abbr', 'b', 'bdi', 'bdo', 'br', 'cite', 'code', 'data', 'dfn',\n 'em', 'i', 'kbd', 'mark', 'q',\n 'rb', 'rp', 'rt', 'rtc', 'ruby',\n 's', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'time', 'u', 'var', 'wbr',\n // Table content\n 'caption', 'col', 'colgroup', 'table', 'tbody', 'td', 'tfoot', 'th',\n 'thead', 'tr'\n ],\n disallowedTagsMode: 'discard',\n allowedAttributes: {\n a: [ 'href', 'name', 'target' ],\n // We don't currently allow img itself by default, but\n // these attributes would make sense if we did.\n img: [ 'src', 'srcset', 'alt', 'title', 'width', 'height', 'loading' ]\n },\n // Lots of these won't come up by default because we don't allow them\n selfClosing: [ 'img', 'br', 'hr', 'area', 'base', 'basefont', 'input', 'link', 'meta' ],\n // URL schemes we permit\n allowedSchemes: [ 'http', 'https', 'ftp', 'mailto', 'tel' ],\n allowedSchemesByTag: {},\n allowedSchemesAppliedToAttributes: [ 'href', 'src', 'cite' ],\n allowProtocolRelative: true,\n enforceHtmlBoundary: false,\n parseStyleAttributes: true\n};\n\nsanitizeHtml.simpleTransform = function(newTagName, newAttribs, merge) {\n merge = (merge === undefined) ? true : merge;\n newAttribs = newAttribs || {};\n\n return function(tagName, attribs) {\n let attrib;\n if (merge) {\n for (attrib in newAttribs) {\n attribs[attrib] = newAttribs[attrib];\n }\n } else {\n attribs = newAttribs;\n }\n\n return {\n tagName: newTagName,\n attribs: attribs\n };\n };\n};\n","'use strict';\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a \\unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict'\n\nlet Container = require('./container')\n\nclass AtRule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'atrule'\n }\n\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.append(...children)\n }\n\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.prepend(...children)\n }\n}\n\nmodule.exports = AtRule\nAtRule.default = AtRule\n\nContainer.registerAtRule(AtRule)\n","'use strict'\n\nlet Node = require('./node')\n\nclass Comment extends Node {\n constructor(defaults) {\n super(defaults)\n this.type = 'comment'\n }\n}\n\nmodule.exports = Comment\nComment.default = Comment\n","'use strict'\n\nlet { isClean, my } = require('./symbols')\nlet Declaration = require('./declaration')\nlet Comment = require('./comment')\nlet Node = require('./node')\n\nlet parse, Rule, AtRule, Root\n\nfunction cleanSource(nodes) {\n return nodes.map(i => {\n if (i.nodes) i.nodes = cleanSource(i.nodes)\n delete i.source\n return i\n })\n}\n\nfunction markDirtyUp(node) {\n node[isClean] = false\n if (node.proxyOf.nodes) {\n for (let i of node.proxyOf.nodes) {\n markDirtyUp(i)\n }\n }\n}\n\nclass Container extends Node {\n push(child) {\n child.parent = this\n this.proxyOf.nodes.push(child)\n return this\n }\n\n each(callback) {\n if (!this.proxyOf.nodes) return undefined\n let iterator = this.getIterator()\n\n let index, result\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index = this.indexes[iterator]\n result = callback(this.proxyOf.nodes[index], index)\n if (result === false) break\n\n this.indexes[iterator] += 1\n }\n\n delete this.indexes[iterator]\n return result\n }\n\n walk(callback) {\n return this.each((child, i) => {\n let result\n try {\n result = callback(child, i)\n } catch (e) {\n throw child.addToError(e)\n }\n if (result !== false && child.walk) {\n result = child.walk(callback)\n }\n\n return result\n })\n }\n\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop\n return this.walk((child, i) => {\n if (child.type === 'decl') {\n return callback(child, i)\n }\n })\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'decl' && prop.test(child.prop)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'decl' && child.prop === prop) {\n return callback(child, i)\n }\n })\n }\n\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector\n\n return this.walk((child, i) => {\n if (child.type === 'rule') {\n return callback(child, i)\n }\n })\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'rule' && selector.test(child.selector)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'rule' && child.selector === selector) {\n return callback(child, i)\n }\n })\n }\n\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name\n return this.walk((child, i) => {\n if (child.type === 'atrule') {\n return callback(child, i)\n }\n })\n }\n if (name instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'atrule' && name.test(child.name)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'atrule' && child.name === name) {\n return callback(child, i)\n }\n })\n }\n\n walkComments(callback) {\n return this.walk((child, i) => {\n if (child.type === 'comment') {\n return callback(child, i)\n }\n })\n }\n\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last)\n for (let node of nodes) this.proxyOf.nodes.push(node)\n }\n\n this.markDirty()\n\n return this\n }\n\n prepend(...children) {\n children = children.reverse()\n for (let child of children) {\n let nodes = this.normalize(child, this.first, 'prepend').reverse()\n for (let node of nodes) this.proxyOf.nodes.unshift(node)\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween)\n if (this.nodes) {\n for (let node of this.nodes) node.cleanRaws(keepBetween)\n }\n }\n\n insertBefore(exist, add) {\n let existIndex = this.index(exist)\n let type = existIndex === 0 ? 'prepend' : false\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex <= index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n insertAfter(exist, add) {\n let existIndex = this.index(exist)\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex < index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n removeChild(child) {\n child = this.index(child)\n this.proxyOf.nodes[child].parent = undefined\n this.proxyOf.nodes.splice(child, 1)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (index >= child) {\n this.indexes[id] = index - 1\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n removeAll() {\n for (let node of this.proxyOf.nodes) node.parent = undefined\n this.proxyOf.nodes = []\n\n this.markDirty()\n\n return this\n }\n\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts\n opts = {}\n }\n\n this.walkDecls(decl => {\n if (opts.props && !opts.props.includes(decl.prop)) return\n if (opts.fast && !decl.value.includes(opts.fast)) return\n\n decl.value = decl.value.replace(pattern, callback)\n })\n\n this.markDirty()\n\n return this\n }\n\n every(condition) {\n return this.nodes.every(condition)\n }\n\n some(condition) {\n return this.nodes.some(condition)\n }\n\n index(child) {\n if (typeof child === 'number') return child\n if (child.proxyOf) child = child.proxyOf\n return this.proxyOf.nodes.indexOf(child)\n }\n\n get first() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[0]\n }\n\n get last() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]\n }\n\n normalize(nodes, sample) {\n if (typeof nodes === 'string') {\n nodes = cleanSource(parse(nodes).nodes)\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type === 'root' && this.type !== 'document') {\n nodes = nodes.nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type) {\n nodes = [nodes]\n } else if (nodes.prop) {\n if (typeof nodes.value === 'undefined') {\n throw new Error('Value field is missed in node creation')\n } else if (typeof nodes.value !== 'string') {\n nodes.value = String(nodes.value)\n }\n nodes = [new Declaration(nodes)]\n } else if (nodes.selector) {\n nodes = [new Rule(nodes)]\n } else if (nodes.name) {\n nodes = [new AtRule(nodes)]\n } else if (nodes.text) {\n nodes = [new Comment(nodes)]\n } else {\n throw new Error('Unknown node type in node creation')\n }\n\n let processed = nodes.map(i => {\n /* c8 ignore next */\n if (!i[my]) Container.rebuild(i)\n i = i.proxyOf\n if (i.parent) i.parent.removeChild(i)\n if (i[isClean]) markDirtyUp(i)\n if (typeof i.raws.before === 'undefined') {\n if (sample && typeof sample.raws.before !== 'undefined') {\n i.raws.before = sample.raws.before.replace(/\\S/g, '')\n }\n }\n i.parent = this.proxyOf\n return i\n })\n\n return processed\n }\n\n getProxyProcessor() {\n return {\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (prop === 'name' || prop === 'params' || prop === 'selector') {\n node.markDirty()\n }\n return true\n },\n\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (!node[prop]) {\n return node[prop]\n } else if (\n prop === 'each' ||\n (typeof prop === 'string' && prop.startsWith('walk'))\n ) {\n return (...args) => {\n return node[prop](\n ...args.map(i => {\n if (typeof i === 'function') {\n return (child, index) => i(child.toProxy(), index)\n } else {\n return i\n }\n })\n )\n }\n } else if (prop === 'every' || prop === 'some') {\n return cb => {\n return node[prop]((child, ...other) =>\n cb(child.toProxy(), ...other)\n )\n }\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else if (prop === 'nodes') {\n return node.nodes.map(i => i.toProxy())\n } else if (prop === 'first' || prop === 'last') {\n return node[prop].toProxy()\n } else {\n return node[prop]\n }\n }\n }\n }\n\n getIterator() {\n if (!this.lastEach) this.lastEach = 0\n if (!this.indexes) this.indexes = {}\n\n this.lastEach += 1\n let iterator = this.lastEach\n this.indexes[iterator] = 0\n\n return iterator\n }\n}\n\nContainer.registerParse = dependant => {\n parse = dependant\n}\n\nContainer.registerRule = dependant => {\n Rule = dependant\n}\n\nContainer.registerAtRule = dependant => {\n AtRule = dependant\n}\n\nContainer.registerRoot = dependant => {\n Root = dependant\n}\n\nmodule.exports = Container\nContainer.default = Container\n\n/* c8 ignore start */\nContainer.rebuild = node => {\n if (node.type === 'atrule') {\n Object.setPrototypeOf(node, AtRule.prototype)\n } else if (node.type === 'rule') {\n Object.setPrototypeOf(node, Rule.prototype)\n } else if (node.type === 'decl') {\n Object.setPrototypeOf(node, Declaration.prototype)\n } else if (node.type === 'comment') {\n Object.setPrototypeOf(node, Comment.prototype)\n } else if (node.type === 'root') {\n Object.setPrototypeOf(node, Root.prototype)\n }\n\n node[my] = true\n\n if (node.nodes) {\n node.nodes.forEach(child => {\n Container.rebuild(child)\n })\n }\n}\n/* c8 ignore stop */\n","'use strict'\n\nlet pico = require('picocolors')\n\nlet terminalHighlight = require('./terminal-highlight')\n\nclass CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin) {\n super(message)\n this.name = 'CssSyntaxError'\n this.reason = message\n\n if (file) {\n this.file = file\n }\n if (source) {\n this.source = source\n }\n if (plugin) {\n this.plugin = plugin\n }\n if (typeof line !== 'undefined' && typeof column !== 'undefined') {\n if (typeof line === 'number') {\n this.line = line\n this.column = column\n } else {\n this.line = line.line\n this.column = line.column\n this.endLine = column.line\n this.endColumn = column.column\n }\n }\n\n this.setMessage()\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError)\n }\n }\n\n setMessage() {\n this.message = this.plugin ? this.plugin + ': ' : ''\n this.message += this.file ? this.file : ''\n if (typeof this.line !== 'undefined') {\n this.message += ':' + this.line + ':' + this.column\n }\n this.message += ': ' + this.reason\n }\n\n showSourceCode(color) {\n if (!this.source) return ''\n\n let css = this.source\n if (color == null) color = pico.isColorSupported\n if (terminalHighlight) {\n if (color) css = terminalHighlight(css)\n }\n\n let lines = css.split(/\\r?\\n/)\n let start = Math.max(this.line - 3, 0)\n let end = Math.min(this.line + 2, lines.length)\n\n let maxWidth = String(end).length\n\n let mark, aside\n if (color) {\n let { bold, red, gray } = pico.createColors(true)\n mark = text => bold(red(text))\n aside = text => gray(text)\n } else {\n mark = aside = str => str\n }\n\n return lines\n .slice(start, end)\n .map((line, index) => {\n let number = start + 1 + index\n let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '\n if (number === this.line) {\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line.slice(0, this.column - 1).replace(/[^\\t]/g, ' ')\n return mark('>') + aside(gutter) + line + '\\n ' + spacing + mark('^')\n }\n return ' ' + aside(gutter) + line\n })\n .join('\\n')\n }\n\n toString() {\n let code = this.showSourceCode()\n if (code) {\n code = '\\n\\n' + code + '\\n'\n }\n return this.name + ': ' + this.message + code\n }\n}\n\nmodule.exports = CssSyntaxError\nCssSyntaxError.default = CssSyntaxError\n","'use strict'\n\nlet Node = require('./node')\n\nclass Declaration extends Node {\n constructor(defaults) {\n if (\n defaults &&\n typeof defaults.value !== 'undefined' &&\n typeof defaults.value !== 'string'\n ) {\n defaults = { ...defaults, value: String(defaults.value) }\n }\n super(defaults)\n this.type = 'decl'\n }\n\n get variable() {\n return this.prop.startsWith('--') || this.prop[0] === '$'\n }\n}\n\nmodule.exports = Declaration\nDeclaration.default = Declaration\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Document extends Container {\n constructor(defaults) {\n // type needs to be passed to super, otherwise child roots won't be normalized correctly\n super({ type: 'document', ...defaults })\n\n if (!this.nodes) {\n this.nodes = []\n }\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n\n return lazy.stringify()\n }\n}\n\nDocument.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nDocument.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Document\nDocument.default = Document\n","'use strict'\n\nlet Declaration = require('./declaration')\nlet PreviousMap = require('./previous-map')\nlet Comment = require('./comment')\nlet AtRule = require('./at-rule')\nlet Input = require('./input')\nlet Root = require('./root')\nlet Rule = require('./rule')\n\nfunction fromJSON(json, inputs) {\n if (Array.isArray(json)) return json.map(n => fromJSON(n))\n\n let { inputs: ownInputs, ...defaults } = json\n if (ownInputs) {\n inputs = []\n for (let input of ownInputs) {\n let inputHydrated = { ...input, __proto__: Input.prototype }\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap.prototype\n }\n }\n inputs.push(inputHydrated)\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map(n => fromJSON(n, inputs))\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source\n defaults.source = source\n if (inputId != null) {\n defaults.source.input = inputs[inputId]\n }\n }\n if (defaults.type === 'root') {\n return new Root(defaults)\n } else if (defaults.type === 'decl') {\n return new Declaration(defaults)\n } else if (defaults.type === 'rule') {\n return new Rule(defaults)\n } else if (defaults.type === 'comment') {\n return new Comment(defaults)\n } else if (defaults.type === 'atrule') {\n return new AtRule(defaults)\n } else {\n throw new Error('Unknown node type: ' + json.type)\n }\n}\n\nmodule.exports = fromJSON\nfromJSON.default = fromJSON\n","'use strict'\n\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { fileURLToPath, pathToFileURL } = require('url')\nlet { resolve, isAbsolute } = require('path')\nlet { nanoid } = require('nanoid/non-secure')\n\nlet terminalHighlight = require('./terminal-highlight')\nlet CssSyntaxError = require('./css-syntax-error')\nlet PreviousMap = require('./previous-map')\n\nlet fromOffsetCache = Symbol('fromOffsetCache')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(resolve && isAbsolute)\n\nclass Input {\n constructor(css, opts = {}) {\n if (\n css === null ||\n typeof css === 'undefined' ||\n (typeof css === 'object' && !css.toString)\n ) {\n throw new Error(`PostCSS received ${css} instead of CSS string`)\n }\n\n this.css = css.toString()\n\n if (this.css[0] === '\\uFEFF' || this.css[0] === '\\uFFFE') {\n this.hasBOM = true\n this.css = this.css.slice(1)\n } else {\n this.hasBOM = false\n }\n\n if (opts.from) {\n if (\n !pathAvailable ||\n /^\\w+:\\/\\//.test(opts.from) ||\n isAbsolute(opts.from)\n ) {\n this.file = opts.from\n } else {\n this.file = resolve(opts.from)\n }\n }\n\n if (pathAvailable && sourceMapAvailable) {\n let map = new PreviousMap(this.css, opts)\n if (map.text) {\n this.map = map\n let file = map.consumer().file\n if (!this.file && file) this.file = this.mapResolve(file)\n }\n }\n\n if (!this.file) {\n this.id = ''\n }\n if (this.map) this.map.file = this.from\n }\n\n fromOffset(offset) {\n let lastLine, lineToIndex\n if (!this[fromOffsetCache]) {\n let lines = this.css.split('\\n')\n lineToIndex = new Array(lines.length)\n let prevIndex = 0\n\n for (let i = 0, l = lines.length; i < l; i++) {\n lineToIndex[i] = prevIndex\n prevIndex += lines[i].length + 1\n }\n\n this[fromOffsetCache] = lineToIndex\n } else {\n lineToIndex = this[fromOffsetCache]\n }\n lastLine = lineToIndex[lineToIndex.length - 1]\n\n let min = 0\n if (offset >= lastLine) {\n min = lineToIndex.length - 1\n } else {\n let max = lineToIndex.length - 2\n let mid\n while (min < max) {\n mid = min + ((max - min) >> 1)\n if (offset < lineToIndex[mid]) {\n max = mid - 1\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1\n } else {\n min = mid\n break\n }\n }\n }\n return {\n line: min + 1,\n col: offset - lineToIndex[min] + 1\n }\n }\n\n error(message, line, column, opts = {}) {\n let result, endLine, endColumn\n\n if (line && typeof line === 'object') {\n let start = line\n let end = column\n if (typeof start.offset === 'number') {\n let pos = this.fromOffset(start.offset)\n line = pos.line\n column = pos.col\n } else {\n line = start.line\n column = start.column\n }\n if (typeof end.offset === 'number') {\n let pos = this.fromOffset(end.offset)\n endLine = pos.line\n endColumn = pos.col\n } else {\n endLine = end.line\n endColumn = end.column\n }\n } else if (!column) {\n let pos = this.fromOffset(line)\n line = pos.line\n column = pos.col\n }\n\n let origin = this.origin(line, column, endLine, endColumn)\n if (origin) {\n result = new CssSyntaxError(\n message,\n origin.endLine === undefined\n ? origin.line\n : { line: origin.line, column: origin.column },\n origin.endLine === undefined\n ? origin.column\n : { line: origin.endLine, column: origin.endColumn },\n origin.source,\n origin.file,\n opts.plugin\n )\n } else {\n result = new CssSyntaxError(\n message,\n endLine === undefined ? line : { line, column },\n endLine === undefined ? column : { line: endLine, column: endColumn },\n this.css,\n this.file,\n opts.plugin\n )\n }\n\n result.input = { line, column, endLine, endColumn, source: this.css }\n if (this.file) {\n if (pathToFileURL) {\n result.input.url = pathToFileURL(this.file).toString()\n }\n result.input.file = this.file\n }\n\n return result\n }\n\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false\n let consumer = this.map.consumer()\n\n let from = consumer.originalPositionFor({ line, column })\n if (!from.source) return false\n\n let to\n if (typeof endLine === 'number') {\n to = consumer.originalPositionFor({ line: endLine, column: endColumn })\n }\n\n let fromUrl\n\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL(from.source)\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile)\n )\n }\n\n let result = {\n url: fromUrl.toString(),\n line: from.line,\n column: from.column,\n endLine: to && to.line,\n endColumn: to && to.column\n }\n\n if (fromUrl.protocol === 'file:') {\n if (fileURLToPath) {\n result.file = fileURLToPath(fromUrl)\n } else {\n /* c8 ignore next 2 */\n throw new Error(`file: protocol is not available in this PostCSS build`)\n }\n }\n\n let source = consumer.sourceContentFor(from.source)\n if (source) result.source = source\n\n return result\n }\n\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file\n }\n return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file)\n }\n\n get from() {\n return this.file || this.id\n }\n\n toJSON() {\n let json = {}\n for (let name of ['hasBOM', 'css', 'file', 'id']) {\n if (this[name] != null) {\n json[name] = this[name]\n }\n }\n if (this.map) {\n json.map = { ...this.map }\n if (json.map.consumerCache) {\n json.map.consumerCache = undefined\n }\n }\n return json\n }\n}\n\nmodule.exports = Input\nInput.default = Input\n\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input)\n}\n","'use strict'\n\nlet { isClean, my } = require('./symbols')\nlet MapGenerator = require('./map-generator')\nlet stringify = require('./stringify')\nlet Container = require('./container')\nlet Document = require('./document')\nlet warnOnce = require('./warn-once')\nlet Result = require('./result')\nlet parse = require('./parse')\nlet Root = require('./root')\n\nconst TYPE_TO_CLASS_NAME = {\n document: 'Document',\n root: 'Root',\n atrule: 'AtRule',\n rule: 'Rule',\n decl: 'Declaration',\n comment: 'Comment'\n}\n\nconst PLUGIN_PROPS = {\n postcssPlugin: true,\n prepare: true,\n Once: true,\n Document: true,\n Root: true,\n Declaration: true,\n Rule: true,\n AtRule: true,\n Comment: true,\n DeclarationExit: true,\n RuleExit: true,\n AtRuleExit: true,\n CommentExit: true,\n RootExit: true,\n DocumentExit: true,\n OnceExit: true\n}\n\nconst NOT_VISITORS = {\n postcssPlugin: true,\n prepare: true,\n Once: true\n}\n\nconst CHILDREN = 0\n\nfunction isPromise(obj) {\n return typeof obj === 'object' && typeof obj.then === 'function'\n}\n\nfunction getEvents(node) {\n let key = false\n let type = TYPE_TO_CLASS_NAME[node.type]\n if (node.type === 'decl') {\n key = node.prop.toLowerCase()\n } else if (node.type === 'atrule') {\n key = node.name.toLowerCase()\n }\n\n if (key && node.append) {\n return [\n type,\n type + '-' + key,\n CHILDREN,\n type + 'Exit',\n type + 'Exit-' + key\n ]\n } else if (key) {\n return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key]\n } else if (node.append) {\n return [type, CHILDREN, type + 'Exit']\n } else {\n return [type, type + 'Exit']\n }\n}\n\nfunction toStack(node) {\n let events\n if (node.type === 'document') {\n events = ['Document', CHILDREN, 'DocumentExit']\n } else if (node.type === 'root') {\n events = ['Root', CHILDREN, 'RootExit']\n } else {\n events = getEvents(node)\n }\n\n return {\n node,\n events,\n eventIndex: 0,\n visitors: [],\n visitorIndex: 0,\n iterator: 0\n }\n}\n\nfunction cleanMarks(node) {\n node[isClean] = false\n if (node.nodes) node.nodes.forEach(i => cleanMarks(i))\n return node\n}\n\nlet postcss = {}\n\nclass LazyResult {\n constructor(processor, css, opts) {\n this.stringified = false\n this.processed = false\n\n let root\n if (\n typeof css === 'object' &&\n css !== null &&\n (css.type === 'root' || css.type === 'document')\n ) {\n root = cleanMarks(css)\n } else if (css instanceof LazyResult || css instanceof Result) {\n root = cleanMarks(css.root)\n if (css.map) {\n if (typeof opts.map === 'undefined') opts.map = {}\n if (!opts.map.inline) opts.map.inline = false\n opts.map.prev = css.map\n }\n } else {\n let parser = parse\n if (opts.syntax) parser = opts.syntax.parse\n if (opts.parser) parser = opts.parser\n if (parser.parse) parser = parser.parse\n\n try {\n root = parser(css, opts)\n } catch (error) {\n this.processed = true\n this.error = error\n }\n\n if (root && !root[my]) {\n /* c8 ignore next 2 */\n Container.rebuild(root)\n }\n }\n\n this.result = new Result(processor, root, opts)\n this.helpers = { ...postcss, result: this.result, postcss }\n this.plugins = this.processor.plugins.map(plugin => {\n if (typeof plugin === 'object' && plugin.prepare) {\n return { ...plugin, ...plugin.prepare(this.result) }\n } else {\n return plugin\n }\n })\n }\n\n get [Symbol.toStringTag]() {\n return 'LazyResult'\n }\n\n get processor() {\n return this.result.processor\n }\n\n get opts() {\n return this.result.opts\n }\n\n get css() {\n return this.stringify().css\n }\n\n get content() {\n return this.stringify().content\n }\n\n get map() {\n return this.stringify().map\n }\n\n get root() {\n return this.sync().root\n }\n\n get messages() {\n return this.sync().messages\n }\n\n warnings() {\n return this.sync().warnings()\n }\n\n toString() {\n return this.css\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this.opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n return this.async().then(onFulfilled, onRejected)\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n if (this.processed) return Promise.resolve(this.result)\n if (!this.processing) {\n this.processing = this.runAsync()\n }\n return this.processing\n }\n\n sync() {\n if (this.error) throw this.error\n if (this.processed) return this.result\n this.processed = true\n\n if (this.processing) {\n throw this.getAsyncError()\n }\n\n for (let plugin of this.plugins) {\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n this.walkSync(root)\n }\n if (this.listeners.OnceExit) {\n if (root.type === 'document') {\n for (let subRoot of root.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot)\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root)\n }\n }\n }\n\n return this.result\n }\n\n stringify() {\n if (this.error) throw this.error\n if (this.stringified) return this.result\n this.stringified = true\n\n this.sync()\n\n let opts = this.result.opts\n let str = stringify\n if (opts.syntax) str = opts.syntax.stringify\n if (opts.stringifier) str = opts.stringifier\n if (str.stringify) str = str.stringify\n\n let map = new MapGenerator(str, this.result.root, this.result.opts)\n let data = map.generate()\n this.result.css = data[0]\n this.result.map = data[1]\n\n return this.result\n }\n\n walkSync(node) {\n node[isClean] = true\n let events = getEvents(node)\n for (let event of events) {\n if (event === CHILDREN) {\n if (node.nodes) {\n node.each(child => {\n if (!child[isClean]) this.walkSync(child)\n })\n }\n } else {\n let visitors = this.listeners[event]\n if (visitors) {\n if (this.visitSync(visitors, node.toProxy())) return\n }\n }\n }\n }\n\n visitSync(visitors, node) {\n for (let [plugin, visitor] of visitors) {\n this.result.lastPlugin = plugin\n let promise\n try {\n promise = visitor(node, this.helpers)\n } catch (e) {\n throw this.handleError(e, node.proxyOf)\n }\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n return true\n }\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n }\n\n runOnRoot(plugin) {\n this.result.lastPlugin = plugin\n try {\n if (typeof plugin === 'object' && plugin.Once) {\n if (this.result.root.type === 'document') {\n let roots = this.result.root.nodes.map(root =>\n plugin.Once(root, this.helpers)\n )\n\n if (isPromise(roots[0])) {\n return Promise.all(roots)\n }\n\n return roots\n }\n\n return plugin.Once(this.result.root, this.helpers)\n } else if (typeof plugin === 'function') {\n return plugin(this.result.root, this.result)\n }\n } catch (error) {\n throw this.handleError(error)\n }\n }\n\n getAsyncError() {\n throw new Error('Use process(css).then(cb) to work with async plugins')\n }\n\n handleError(error, node) {\n let plugin = this.result.lastPlugin\n try {\n if (node) node.addToError(error)\n this.error = error\n if (error.name === 'CssSyntaxError' && !error.plugin) {\n error.plugin = plugin.postcssPlugin\n error.setMessage()\n } else if (plugin.postcssVersion) {\n if (process.env.NODE_ENV !== 'production') {\n let pluginName = plugin.postcssPlugin\n let pluginVer = plugin.postcssVersion\n let runtimeVer = this.result.processor.version\n let a = pluginVer.split('.')\n let b = runtimeVer.split('.')\n\n if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {\n // eslint-disable-next-line no-console\n console.error(\n 'Unknown error from PostCSS plugin. Your current PostCSS ' +\n 'version is ' +\n runtimeVer +\n ', but ' +\n pluginName +\n ' uses ' +\n pluginVer +\n '. Perhaps this is the source of the error below.'\n )\n }\n }\n }\n } catch (err) {\n /* c8 ignore next 3 */\n // eslint-disable-next-line no-console\n if (console && console.error) console.error(err)\n }\n return error\n }\n\n async runAsync() {\n this.plugin = 0\n for (let i = 0; i < this.plugins.length; i++) {\n let plugin = this.plugins[i]\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (error) {\n throw this.handleError(error)\n }\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n let stack = [toStack(root)]\n while (stack.length > 0) {\n let promise = this.visitTick(stack)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (e) {\n let node = stack[stack.length - 1].node\n throw this.handleError(e, node)\n }\n }\n }\n }\n\n if (this.listeners.OnceExit) {\n for (let [plugin, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin\n try {\n if (root.type === 'document') {\n let roots = root.nodes.map(subRoot =>\n visitor(subRoot, this.helpers)\n )\n\n await Promise.all(roots)\n } else {\n await visitor(root, this.helpers)\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n }\n }\n\n this.processed = true\n return this.stringify()\n }\n\n prepareVisitors() {\n this.listeners = {}\n let add = (plugin, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = []\n this.listeners[type].push([plugin, cb])\n }\n for (let plugin of this.plugins) {\n if (typeof plugin === 'object') {\n for (let event in plugin) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin.postcssPlugin}. ` +\n `Try to update PostCSS (${this.processor.version} now).`\n )\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin[event] === 'object') {\n for (let filter in plugin[event]) {\n if (filter === '*') {\n add(plugin, event, plugin[event][filter])\n } else {\n add(\n plugin,\n event + '-' + filter.toLowerCase(),\n plugin[event][filter]\n )\n }\n }\n } else if (typeof plugin[event] === 'function') {\n add(plugin, event, plugin[event])\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0\n }\n\n visitTick(stack) {\n let visit = stack[stack.length - 1]\n let { node, visitors } = visit\n\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n stack.pop()\n return\n }\n\n if (visitors.length > 0 && visit.visitorIndex < visitors.length) {\n let [plugin, visitor] = visitors[visit.visitorIndex]\n visit.visitorIndex += 1\n if (visit.visitorIndex === visitors.length) {\n visit.visitors = []\n visit.visitorIndex = 0\n }\n this.result.lastPlugin = plugin\n try {\n return visitor(node.toProxy(), this.helpers)\n } catch (e) {\n throw this.handleError(e, node)\n }\n }\n\n if (visit.iterator !== 0) {\n let iterator = visit.iterator\n let child\n while ((child = node.nodes[node.indexes[iterator]])) {\n node.indexes[iterator] += 1\n if (!child[isClean]) {\n child[isClean] = true\n stack.push(toStack(child))\n return\n }\n }\n visit.iterator = 0\n delete node.indexes[iterator]\n }\n\n let events = visit.events\n while (visit.eventIndex < events.length) {\n let event = events[visit.eventIndex]\n visit.eventIndex += 1\n if (event === CHILDREN) {\n if (node.nodes && node.nodes.length) {\n node[isClean] = true\n visit.iterator = node.getIterator()\n }\n return\n } else if (this.listeners[event]) {\n visit.visitors = this.listeners[event]\n return\n }\n }\n stack.pop()\n }\n}\n\nLazyResult.registerPostcss = dependant => {\n postcss = dependant\n}\n\nmodule.exports = LazyResult\nLazyResult.default = LazyResult\n\nRoot.registerLazyResult(LazyResult)\nDocument.registerLazyResult(LazyResult)\n","'use strict'\n\nlet list = {\n split(string, separators, last) {\n let array = []\n let current = ''\n let split = false\n\n let func = 0\n let inQuote = false\n let prevQuote = ''\n let escape = false\n\n for (let letter of string) {\n if (escape) {\n escape = false\n } else if (letter === '\\\\') {\n escape = true\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true\n prevQuote = letter\n } else if (letter === '(') {\n func += 1\n } else if (letter === ')') {\n if (func > 0) func -= 1\n } else if (func === 0) {\n if (separators.includes(letter)) split = true\n }\n\n if (split) {\n if (current !== '') array.push(current.trim())\n current = ''\n split = false\n } else {\n current += letter\n }\n }\n\n if (last || current !== '') array.push(current.trim())\n return array\n },\n\n space(string) {\n let spaces = [' ', '\\n', '\\t']\n return list.split(string, spaces)\n },\n\n comma(string) {\n return list.split(string, [','], true)\n }\n}\n\nmodule.exports = list\nlist.default = list\n","'use strict'\n\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { dirname, resolve, relative, sep } = require('path')\nlet { pathToFileURL } = require('url')\n\nlet Input = require('./input')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(dirname && resolve && relative && sep)\n\nclass MapGenerator {\n constructor(stringify, root, opts, cssString) {\n this.stringify = stringify\n this.mapOpts = opts.map || {}\n this.root = root\n this.opts = opts\n this.css = cssString\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute\n }\n\n isMap() {\n if (typeof this.opts.map !== 'undefined') {\n return !!this.opts.map\n }\n return this.previous().length > 0\n }\n\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = []\n if (this.root) {\n this.root.walk(node => {\n if (node.source && node.source.input.map) {\n let map = node.source.input.map\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map)\n }\n }\n })\n } else {\n let input = new Input(this.css, this.opts)\n if (input.map) this.previousMaps.push(input.map)\n }\n }\n\n return this.previousMaps\n }\n\n isInline() {\n if (typeof this.mapOpts.inline !== 'undefined') {\n return this.mapOpts.inline\n }\n\n let annotation = this.mapOpts.annotation\n if (typeof annotation !== 'undefined' && annotation !== true) {\n return false\n }\n\n if (this.previous().length) {\n return this.previous().some(i => i.inline)\n }\n return true\n }\n\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== 'undefined') {\n return this.mapOpts.sourcesContent\n }\n if (this.previous().length) {\n return this.previous().some(i => i.withContent())\n }\n return true\n }\n\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return\n\n if (this.root) {\n let node\n for (let i = this.root.nodes.length - 1; i >= 0; i--) {\n node = this.root.nodes[i]\n if (node.type !== 'comment') continue\n if (node.text.indexOf('# sourceMappingURL=') === 0) {\n this.root.removeChild(i)\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/(\\n)?\\/\\*#[\\S\\s]*?\\*\\/$/gm, '')\n }\n }\n\n setSourcesContent() {\n let already = {}\n if (this.root) {\n this.root.walk(node => {\n if (node.source) {\n let from = node.source.input.from\n if (from && !already[from]) {\n already[from] = true\n let fromUrl = this.usesFileUrls\n ? this.toFileUrl(from)\n : this.toUrl(this.path(from))\n this.map.setSourceContent(fromUrl, node.source.input.css)\n }\n }\n })\n } else if (this.css) {\n let from = this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : ''\n this.map.setSourceContent(from, this.css)\n }\n }\n\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file))\n let root = prev.root || dirname(prev.file)\n let map\n\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text)\n if (map.sourcesContent) {\n map.sourcesContent = map.sourcesContent.map(() => null)\n }\n } else {\n map = prev.consumer()\n }\n\n this.map.applySourceMap(map, from, this.toUrl(this.path(root)))\n }\n }\n\n isAnnotation() {\n if (this.isInline()) {\n return true\n }\n if (typeof this.mapOpts.annotation !== 'undefined') {\n return this.mapOpts.annotation\n }\n if (this.previous().length) {\n return this.previous().some(i => i.annotation)\n }\n return true\n }\n\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(unescape(encodeURIComponent(str)))\n }\n }\n\n addAnnotation() {\n let content\n\n if (this.isInline()) {\n content =\n 'data:application/json;base64,' + this.toBase64(this.map.toString())\n } else if (typeof this.mapOpts.annotation === 'string') {\n content = this.mapOpts.annotation\n } else if (typeof this.mapOpts.annotation === 'function') {\n content = this.mapOpts.annotation(this.opts.to, this.root)\n } else {\n content = this.outputFile() + '.map'\n }\n let eol = '\\n'\n if (this.css.includes('\\r\\n')) eol = '\\r\\n'\n\n this.css += eol + '/*# sourceMappingURL=' + content + ' */'\n }\n\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to)\n } else if (this.opts.from) {\n return this.path(this.opts.from)\n } else {\n return 'to.css'\n }\n }\n\n generateMap() {\n if (this.root) {\n this.generateString()\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer()\n prev.file = this.outputFile()\n this.map = SourceMapGenerator.fromSourceMap(prev)\n } else {\n this.map = new SourceMapGenerator({ file: this.outputFile() })\n this.map.addMapping({\n source: this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : '',\n generated: { line: 1, column: 0 },\n original: { line: 1, column: 0 }\n })\n }\n\n if (this.isSourcesContent()) this.setSourcesContent()\n if (this.root && this.previous().length > 0) this.applyPrevMaps()\n if (this.isAnnotation()) this.addAnnotation()\n\n if (this.isInline()) {\n return [this.css]\n } else {\n return [this.css, this.map]\n }\n }\n\n path(file) {\n if (file.indexOf('<') === 0) return file\n if (/^\\w+:\\/\\//.test(file)) return file\n if (this.mapOpts.absolute) return file\n\n let from = this.opts.to ? dirname(this.opts.to) : '.'\n\n if (typeof this.mapOpts.annotation === 'string') {\n from = dirname(resolve(from, this.mapOpts.annotation))\n }\n\n file = relative(from, file)\n return file\n }\n\n toUrl(path) {\n if (sep === '\\\\') {\n path = path.replace(/\\\\/g, '/')\n }\n return encodeURI(path).replace(/[#?]/g, encodeURIComponent)\n }\n\n toFileUrl(path) {\n if (pathToFileURL) {\n return pathToFileURL(path).toString()\n } else {\n throw new Error(\n '`map.absolute` option is not available in this PostCSS build'\n )\n }\n }\n\n sourcePath(node) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from)\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node.source.input.from)\n } else {\n return this.toUrl(this.path(node.source.input.from))\n }\n }\n\n generateString() {\n this.css = ''\n this.map = new SourceMapGenerator({ file: this.outputFile() })\n\n let line = 1\n let column = 1\n\n let noSource = ''\n let mapping = {\n source: '',\n generated: { line: 0, column: 0 },\n original: { line: 0, column: 0 }\n }\n\n let lines, last\n this.stringify(this.root, (str, node, type) => {\n this.css += str\n\n if (node && type !== 'end') {\n mapping.generated.line = line\n mapping.generated.column = column - 1\n if (node.source && node.source.start) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.start.line\n mapping.original.column = node.source.start.column - 1\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n this.map.addMapping(mapping)\n }\n }\n\n lines = str.match(/\\n/g)\n if (lines) {\n line += lines.length\n last = str.lastIndexOf('\\n')\n column = str.length - last\n } else {\n column += str.length\n }\n\n if (node && type !== 'start') {\n let p = node.parent || { raws: {} }\n let childless =\n node.type === 'decl' || (node.type === 'atrule' && !node.nodes)\n if (!childless || node !== p.last || p.raws.semicolon) {\n if (node.source && node.source.end) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.end.line\n mapping.original.column = node.source.end.column - 1\n mapping.generated.line = line\n mapping.generated.column = column - 2\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n mapping.generated.line = line\n mapping.generated.column = column - 1\n this.map.addMapping(mapping)\n }\n }\n }\n })\n }\n\n generate() {\n this.clearAnnotation()\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap()\n } else {\n let result = ''\n this.stringify(this.root, i => {\n result += i\n })\n return [result]\n }\n }\n}\n\nmodule.exports = MapGenerator\n","'use strict'\n\nlet MapGenerator = require('./map-generator')\nlet stringify = require('./stringify')\nlet warnOnce = require('./warn-once')\nlet parse = require('./parse')\nconst Result = require('./result')\n\nclass NoWorkResult {\n constructor(processor, css, opts) {\n css = css.toString()\n this.stringified = false\n\n this._processor = processor\n this._css = css\n this._opts = opts\n this._map = undefined\n let root\n\n let str = stringify\n this.result = new Result(this._processor, root, this._opts)\n this.result.css = css\n\n let self = this\n Object.defineProperty(this.result, 'root', {\n get() {\n return self.root\n }\n })\n\n let map = new MapGenerator(str, root, this._opts, css)\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate()\n if (generatedCSS) {\n this.result.css = generatedCSS\n }\n if (generatedMap) {\n this.result.map = generatedMap\n }\n }\n }\n\n get [Symbol.toStringTag]() {\n return 'NoWorkResult'\n }\n\n get processor() {\n return this.result.processor\n }\n\n get opts() {\n return this.result.opts\n }\n\n get css() {\n return this.result.css\n }\n\n get content() {\n return this.result.css\n }\n\n get map() {\n return this.result.map\n }\n\n get root() {\n if (this._root) {\n return this._root\n }\n\n let root\n let parser = parse\n\n try {\n root = parser(this._css, this._opts)\n } catch (error) {\n this.error = error\n }\n\n if (this.error) {\n throw this.error\n } else {\n this._root = root\n return root\n }\n }\n\n get messages() {\n return []\n }\n\n warnings() {\n return []\n }\n\n toString() {\n return this._css\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this._opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n\n return this.async().then(onFulfilled, onRejected)\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n return Promise.resolve(this.result)\n }\n\n sync() {\n if (this.error) throw this.error\n return this.result\n }\n}\n\nmodule.exports = NoWorkResult\nNoWorkResult.default = NoWorkResult\n","'use strict'\n\nlet { isClean, my } = require('./symbols')\nlet CssSyntaxError = require('./css-syntax-error')\nlet Stringifier = require('./stringifier')\nlet stringify = require('./stringify')\n\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor()\n\n for (let i in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i)) {\n /* c8 ignore next 2 */\n continue\n }\n if (i === 'proxyCache') continue\n let value = obj[i]\n let type = typeof value\n\n if (i === 'parent' && type === 'object') {\n if (parent) cloned[i] = parent\n } else if (i === 'source') {\n cloned[i] = value\n } else if (Array.isArray(value)) {\n cloned[i] = value.map(j => cloneNode(j, cloned))\n } else {\n if (type === 'object' && value !== null) value = cloneNode(value)\n cloned[i] = value\n }\n }\n\n return cloned\n}\n\nclass Node {\n constructor(defaults = {}) {\n this.raws = {}\n this[isClean] = false\n this[my] = true\n\n for (let name in defaults) {\n if (name === 'nodes') {\n this.nodes = []\n for (let node of defaults[name]) {\n if (typeof node.clone === 'function') {\n this.append(node.clone())\n } else {\n this.append(node)\n }\n }\n } else {\n this[name] = defaults[name]\n }\n }\n }\n\n error(message, opts = {}) {\n if (this.source) {\n let { start, end } = this.rangeBy(opts)\n return this.source.input.error(\n message,\n { line: start.line, column: start.column },\n { line: end.line, column: end.column },\n opts\n )\n }\n return new CssSyntaxError(message)\n }\n\n warn(result, text, opts) {\n let data = { node: this }\n for (let i in opts) data[i] = opts[i]\n return result.warn(text, data)\n }\n\n remove() {\n if (this.parent) {\n this.parent.removeChild(this)\n }\n this.parent = undefined\n return this\n }\n\n toString(stringifier = stringify) {\n if (stringifier.stringify) stringifier = stringifier.stringify\n let result = ''\n stringifier(this, i => {\n result += i\n })\n return result\n }\n\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name]\n }\n return this\n }\n\n clone(overrides = {}) {\n let cloned = cloneNode(this)\n for (let name in overrides) {\n cloned[name] = overrides[name]\n }\n return cloned\n }\n\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertBefore(this, cloned)\n return cloned\n }\n\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertAfter(this, cloned)\n return cloned\n }\n\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this\n let foundSelf = false\n for (let node of nodes) {\n if (node === this) {\n foundSelf = true\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node)\n bookmark = node\n } else {\n this.parent.insertBefore(bookmark, node)\n }\n }\n\n if (!foundSelf) {\n this.remove()\n }\n }\n\n return this\n }\n\n next() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index + 1]\n }\n\n prev() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index - 1]\n }\n\n before(add) {\n this.parent.insertBefore(this, add)\n return this\n }\n\n after(add) {\n this.parent.insertAfter(this, add)\n return this\n }\n\n root() {\n let result = this\n while (result.parent && result.parent.type !== 'document') {\n result = result.parent\n }\n return result\n }\n\n raw(prop, defaultType) {\n let str = new Stringifier()\n return str.raw(this, prop, defaultType)\n }\n\n cleanRaws(keepBetween) {\n delete this.raws.before\n delete this.raws.after\n if (!keepBetween) delete this.raws.between\n }\n\n toJSON(_, inputs) {\n let fixed = {}\n let emitInputs = inputs == null\n inputs = inputs || new Map()\n let inputsNextIndex = 0\n\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n /* c8 ignore next 2 */\n continue\n }\n if (name === 'parent' || name === 'proxyCache') continue\n let value = this[name]\n\n if (Array.isArray(value)) {\n fixed[name] = value.map(i => {\n if (typeof i === 'object' && i.toJSON) {\n return i.toJSON(null, inputs)\n } else {\n return i\n }\n })\n } else if (typeof value === 'object' && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs)\n } else if (name === 'source') {\n let inputId = inputs.get(value.input)\n if (inputId == null) {\n inputId = inputsNextIndex\n inputs.set(value.input, inputsNextIndex)\n inputsNextIndex++\n }\n fixed[name] = {\n inputId,\n start: value.start,\n end: value.end\n }\n } else {\n fixed[name] = value\n }\n }\n\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map(input => input.toJSON())\n }\n\n return fixed\n }\n\n positionInside(index) {\n let string = this.toString()\n let column = this.source.start.column\n let line = this.source.start.line\n\n for (let i = 0; i < index; i++) {\n if (string[i] === '\\n') {\n column = 1\n line += 1\n } else {\n column += 1\n }\n }\n\n return { line, column }\n }\n\n positionBy(opts) {\n let pos = this.source.start\n if (opts.index) {\n pos = this.positionInside(opts.index)\n } else if (opts.word) {\n let index = this.toString().indexOf(opts.word)\n if (index !== -1) pos = this.positionInside(index)\n }\n return pos\n }\n\n rangeBy(opts) {\n let start = {\n line: this.source.start.line,\n column: this.source.start.column\n }\n let end = this.source.end\n ? {\n line: this.source.end.line,\n column: this.source.end.column + 1\n }\n : {\n line: start.line,\n column: start.column + 1\n }\n\n if (opts.word) {\n let index = this.toString().indexOf(opts.word)\n if (index !== -1) {\n start = this.positionInside(index)\n end = this.positionInside(index + opts.word.length)\n }\n } else {\n if (opts.start) {\n start = {\n line: opts.start.line,\n column: opts.start.column\n }\n } else if (opts.index) {\n start = this.positionInside(opts.index)\n }\n\n if (opts.end) {\n end = {\n line: opts.end.line,\n column: opts.end.column\n }\n } else if (opts.endIndex) {\n end = this.positionInside(opts.endIndex)\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1)\n }\n }\n\n if (\n end.line < start.line ||\n (end.line === start.line && end.column <= start.column)\n ) {\n end = { line: start.line, column: start.column + 1 }\n }\n\n return { start, end }\n }\n\n getProxyProcessor() {\n return {\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (\n prop === 'prop' ||\n prop === 'value' ||\n prop === 'name' ||\n prop === 'params' ||\n prop === 'important' ||\n /* c8 ignore next */\n prop === 'text'\n ) {\n node.markDirty()\n }\n return true\n },\n\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else {\n return node[prop]\n }\n }\n }\n }\n\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor())\n }\n return this.proxyCache\n }\n\n addToError(error) {\n error.postcssNode = this\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s = this.source\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s.input.from}:${s.start.line}:${s.start.column}$&`\n )\n }\n return error\n }\n\n markDirty() {\n if (this[isClean]) {\n this[isClean] = false\n let next = this\n while ((next = next.parent)) {\n next[isClean] = false\n }\n }\n }\n\n get proxyOf() {\n return this\n }\n}\n\nmodule.exports = Node\nNode.default = Node\n","'use strict'\n\nlet Container = require('./container')\nlet Parser = require('./parser')\nlet Input = require('./input')\n\nfunction parse(css, opts) {\n let input = new Input(css, opts)\n let parser = new Parser(input)\n try {\n parser.parse()\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n if (e.name === 'CssSyntaxError' && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse SCSS with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-scss parser'\n } else if (/\\.sass/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Sass with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-sass parser'\n } else if (/\\.less$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Less with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-less parser'\n }\n }\n }\n throw e\n }\n\n return parser.root\n}\n\nmodule.exports = parse\nparse.default = parse\n\nContainer.registerParse(parse)\n","'use strict'\n\nlet Declaration = require('./declaration')\nlet tokenizer = require('./tokenize')\nlet Comment = require('./comment')\nlet AtRule = require('./at-rule')\nlet Root = require('./root')\nlet Rule = require('./rule')\n\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n}\n\nfunction findLastWithPosition(tokens) {\n for (let i = tokens.length - 1; i >= 0; i--) {\n let token = tokens[i]\n let pos = token[3] || token[2]\n if (pos) return pos\n }\n}\n\nclass Parser {\n constructor(input) {\n this.input = input\n\n this.root = new Root()\n this.current = this.root\n this.spaces = ''\n this.semicolon = false\n this.customProperty = false\n\n this.createTokenizer()\n this.root.source = { input, start: { offset: 0, line: 1, column: 1 } }\n }\n\n createTokenizer() {\n this.tokenizer = tokenizer(this.input)\n }\n\n parse() {\n let token\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n\n switch (token[0]) {\n case 'space':\n this.spaces += token[1]\n break\n\n case ';':\n this.freeSemicolon(token)\n break\n\n case '}':\n this.end(token)\n break\n\n case 'comment':\n this.comment(token)\n break\n\n case 'at-word':\n this.atrule(token)\n break\n\n case '{':\n this.emptyRule(token)\n break\n\n default:\n this.other(token)\n break\n }\n }\n this.endFile()\n }\n\n comment(token) {\n let node = new Comment()\n this.init(node, token[2])\n node.source.end = this.getPosition(token[3] || token[2])\n\n let text = token[1].slice(2, -2)\n if (/^\\s*$/.test(text)) {\n node.text = ''\n node.raws.left = text\n node.raws.right = ''\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/)\n node.text = match[2]\n node.raws.left = match[1]\n node.raws.right = match[3]\n }\n }\n\n emptyRule(token) {\n let node = new Rule()\n this.init(node, token[2])\n node.selector = ''\n node.raws.between = ''\n this.current = node\n }\n\n other(start) {\n let end = false\n let type = null\n let colon = false\n let bracket = null\n let brackets = []\n let customProperty = start[1].startsWith('--')\n\n let tokens = []\n let token = start\n while (token) {\n type = token[0]\n tokens.push(token)\n\n if (type === '(' || type === '[') {\n if (!bracket) bracket = token\n brackets.push(type === '(' ? ')' : ']')\n } else if (customProperty && colon && type === '{') {\n if (!bracket) bracket = token\n brackets.push('}')\n } else if (brackets.length === 0) {\n if (type === ';') {\n if (colon) {\n this.decl(tokens, customProperty)\n return\n } else {\n break\n }\n } else if (type === '{') {\n this.rule(tokens)\n return\n } else if (type === '}') {\n this.tokenizer.back(tokens.pop())\n end = true\n break\n } else if (type === ':') {\n colon = true\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n if (brackets.length === 0) bracket = null\n }\n\n token = this.tokenizer.nextToken()\n }\n\n if (this.tokenizer.endOfFile()) end = true\n if (brackets.length > 0) this.unclosedBracket(bracket)\n\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0]\n if (token !== 'space' && token !== 'comment') break\n this.tokenizer.back(tokens.pop())\n }\n }\n this.decl(tokens, customProperty)\n } else {\n this.unknownWord(tokens)\n }\n }\n\n rule(tokens) {\n tokens.pop()\n\n let node = new Rule()\n this.init(node, tokens[0][2])\n\n node.raws.between = this.spacesAndCommentsFromEnd(tokens)\n this.raw(node, 'selector', tokens)\n this.current = node\n }\n\n decl(tokens, customProperty) {\n let node = new Declaration()\n this.init(node, tokens[0][2])\n\n let last = tokens[tokens.length - 1]\n if (last[0] === ';') {\n this.semicolon = true\n tokens.pop()\n }\n\n node.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n )\n\n while (tokens[0][0] !== 'word') {\n if (tokens.length === 1) this.unknownWord(tokens)\n node.raws.before += tokens.shift()[1]\n }\n node.source.start = this.getPosition(tokens[0][2])\n\n node.prop = ''\n while (tokens.length) {\n let type = tokens[0][0]\n if (type === ':' || type === 'space' || type === 'comment') {\n break\n }\n node.prop += tokens.shift()[1]\n }\n\n node.raws.between = ''\n\n let token\n while (tokens.length) {\n token = tokens.shift()\n\n if (token[0] === ':') {\n node.raws.between += token[1]\n break\n } else {\n if (token[0] === 'word' && /\\w/.test(token[1])) {\n this.unknownWord([token])\n }\n node.raws.between += token[1]\n }\n }\n\n if (node.prop[0] === '_' || node.prop[0] === '*') {\n node.raws.before += node.prop[0]\n node.prop = node.prop.slice(1)\n }\n\n let firstSpaces = []\n let next\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n firstSpaces.push(tokens.shift())\n }\n\n this.precheckMissedSemicolon(tokens)\n\n for (let i = tokens.length - 1; i >= 0; i--) {\n token = tokens[i]\n if (token[1].toLowerCase() === '!important') {\n node.important = true\n let string = this.stringFrom(tokens, i)\n string = this.spacesFromEnd(tokens) + string\n if (string !== ' !important') node.raws.important = string\n break\n } else if (token[1].toLowerCase() === 'important') {\n let cache = tokens.slice(0)\n let str = ''\n for (let j = i; j > 0; j--) {\n let type = cache[j][0]\n if (str.trim().indexOf('!') === 0 && type !== 'space') {\n break\n }\n str = cache.pop()[1] + str\n }\n if (str.trim().indexOf('!') === 0) {\n node.important = true\n node.raws.important = str\n tokens = cache\n }\n }\n\n if (token[0] !== 'space' && token[0] !== 'comment') {\n break\n }\n }\n\n let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment')\n\n if (hasWord) {\n node.raws.between += firstSpaces.map(i => i[1]).join('')\n firstSpaces = []\n }\n this.raw(node, 'value', firstSpaces.concat(tokens), customProperty)\n\n if (node.value.includes(':') && !customProperty) {\n this.checkMissedSemicolon(tokens)\n }\n }\n\n atrule(token) {\n let node = new AtRule()\n node.name = token[1].slice(1)\n if (node.name === '') {\n this.unnamedAtrule(node, token)\n }\n this.init(node, token[2])\n\n let type\n let prev\n let shift\n let last = false\n let open = false\n let params = []\n let brackets = []\n\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n type = token[0]\n\n if (type === '(' || type === '[') {\n brackets.push(type === '(' ? ')' : ']')\n } else if (type === '{' && brackets.length > 0) {\n brackets.push('}')\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n }\n\n if (brackets.length === 0) {\n if (type === ';') {\n node.source.end = this.getPosition(token[2])\n this.semicolon = true\n break\n } else if (type === '{') {\n open = true\n break\n } else if (type === '}') {\n if (params.length > 0) {\n shift = params.length - 1\n prev = params[shift]\n while (prev && prev[0] === 'space') {\n prev = params[--shift]\n }\n if (prev) {\n node.source.end = this.getPosition(prev[3] || prev[2])\n }\n }\n this.end(token)\n break\n } else {\n params.push(token)\n }\n } else {\n params.push(token)\n }\n\n if (this.tokenizer.endOfFile()) {\n last = true\n break\n }\n }\n\n node.raws.between = this.spacesAndCommentsFromEnd(params)\n if (params.length) {\n node.raws.afterName = this.spacesAndCommentsFromStart(params)\n this.raw(node, 'params', params)\n if (last) {\n token = params[params.length - 1]\n node.source.end = this.getPosition(token[3] || token[2])\n this.spaces = node.raws.between\n node.raws.between = ''\n }\n } else {\n node.raws.afterName = ''\n node.params = ''\n }\n\n if (open) {\n node.nodes = []\n this.current = node\n }\n }\n\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.semicolon = false\n\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.spaces = ''\n\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2])\n this.current = this.current.parent\n } else {\n this.unexpectedClose(token)\n }\n }\n\n endFile() {\n if (this.current.parent) this.unclosedBlock()\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n }\n\n freeSemicolon(token) {\n this.spaces += token[1]\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1]\n if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces\n this.spaces = ''\n }\n }\n }\n\n // Helpers\n\n getPosition(offset) {\n let pos = this.input.fromOffset(offset)\n return {\n offset,\n line: pos.line,\n column: pos.col\n }\n }\n\n init(node, offset) {\n this.current.push(node)\n node.source = {\n start: this.getPosition(offset),\n input: this.input\n }\n node.raws.before = this.spaces\n this.spaces = ''\n if (node.type !== 'comment') this.semicolon = false\n }\n\n raw(node, prop, tokens, customProperty) {\n let token, type\n let length = tokens.length\n let value = ''\n let clean = true\n let next, prev\n\n for (let i = 0; i < length; i += 1) {\n token = tokens[i]\n type = token[0]\n if (type === 'space' && i === length - 1 && !customProperty) {\n clean = false\n } else if (type === 'comment') {\n prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty'\n next = tokens[i + 1] ? tokens[i + 1][0] : 'empty'\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === ',') {\n clean = false\n } else {\n value += token[1]\n }\n } else {\n clean = false\n }\n } else {\n value += token[1]\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i) => all + i[1], '')\n node.raws[prop] = { value, raw }\n }\n node[prop] = value\n }\n\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space' && lastTokenType !== 'comment') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n spacesAndCommentsFromStart(tokens) {\n let next\n let spaces = ''\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n spaces += tokens.shift()[1]\n }\n return spaces\n }\n\n spacesFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n stringFrom(tokens, from) {\n let result = ''\n for (let i = from; i < tokens.length; i++) {\n result += tokens[i][1]\n }\n tokens.splice(from, tokens.length - from)\n return result\n }\n\n colon(tokens) {\n let brackets = 0\n let token, type, prev\n for (let [i, element] of tokens.entries()) {\n token = element\n type = token[0]\n\n if (type === '(') {\n brackets += 1\n }\n if (type === ')') {\n brackets -= 1\n }\n if (brackets === 0 && type === ':') {\n if (!prev) {\n this.doubleColon(token)\n } else if (prev[0] === 'word' && prev[1] === 'progid') {\n continue\n } else {\n return i\n }\n }\n\n prev = token\n }\n return false\n }\n\n // Errors\n\n unclosedBracket(bracket) {\n throw this.input.error(\n 'Unclosed bracket',\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n )\n }\n\n unknownWord(tokens) {\n throw this.input.error(\n 'Unknown word',\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n )\n }\n\n unexpectedClose(token) {\n throw this.input.error(\n 'Unexpected }',\n { offset: token[2] },\n { offset: token[2] + 1 }\n )\n }\n\n unclosedBlock() {\n let pos = this.current.source.start\n throw this.input.error('Unclosed block', pos.line, pos.column)\n }\n\n doubleColon(token) {\n throw this.input.error(\n 'Double colon',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n\n unnamedAtrule(node, token) {\n throw this.input.error(\n 'At-rule without name',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n\n precheckMissedSemicolon(/* tokens */) {\n // Hook for Safe Parser\n }\n\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens)\n if (colon === false) return\n\n let founded = 0\n let token\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j]\n if (token[0] !== 'space') {\n founded += 1\n if (founded === 2) break\n }\n }\n // If the token is a word, e.g. `!important`, `red` or any other valid property's value.\n // Then we need to return the colon after that word token. [3] is the \"end\" colon of that word.\n // And because we need it after that one we do +1 to get the next one.\n throw this.input.error(\n 'Missed semicolon',\n token[0] === 'word' ? token[3] + 1 : token[2]\n )\n }\n}\n\nmodule.exports = Parser\n","'use strict'\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet Declaration = require('./declaration')\nlet LazyResult = require('./lazy-result')\nlet Container = require('./container')\nlet Processor = require('./processor')\nlet stringify = require('./stringify')\nlet fromJSON = require('./fromJSON')\nlet Document = require('./document')\nlet Warning = require('./warning')\nlet Comment = require('./comment')\nlet AtRule = require('./at-rule')\nlet Result = require('./result.js')\nlet Input = require('./input')\nlet parse = require('./parse')\nlet list = require('./list')\nlet Rule = require('./rule')\nlet Root = require('./root')\nlet Node = require('./node')\n\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0]\n }\n return new Processor(plugins)\n}\n\npostcss.plugin = function plugin(name, initializer) {\n let warningPrinted = false\n function creator(...args) {\n // eslint-disable-next-line no-console\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': postcss.plugin was deprecated. Migration guide:\\n' +\n 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'\n )\n if (process.env.LANG && process.env.LANG.startsWith('cn')) {\n /* c8 ignore next 7 */\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': 里面 postcss.plugin 被弃用. 迁移指南:\\n' +\n 'https://www.w3ctech.com/topic/2226'\n )\n }\n }\n let transformer = initializer(...args)\n transformer.postcssPlugin = name\n transformer.postcssVersion = new Processor().version\n return transformer\n }\n\n let cache\n Object.defineProperty(creator, 'postcss', {\n get() {\n if (!cache) cache = creator()\n return cache\n }\n })\n\n creator.process = function (css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts)\n }\n\n return creator\n}\n\npostcss.stringify = stringify\npostcss.parse = parse\npostcss.fromJSON = fromJSON\npostcss.list = list\n\npostcss.comment = defaults => new Comment(defaults)\npostcss.atRule = defaults => new AtRule(defaults)\npostcss.decl = defaults => new Declaration(defaults)\npostcss.rule = defaults => new Rule(defaults)\npostcss.root = defaults => new Root(defaults)\npostcss.document = defaults => new Document(defaults)\n\npostcss.CssSyntaxError = CssSyntaxError\npostcss.Declaration = Declaration\npostcss.Container = Container\npostcss.Processor = Processor\npostcss.Document = Document\npostcss.Comment = Comment\npostcss.Warning = Warning\npostcss.AtRule = AtRule\npostcss.Result = Result\npostcss.Input = Input\npostcss.Rule = Rule\npostcss.Root = Root\npostcss.Node = Node\n\nLazyResult.registerPostcss(postcss)\n\nmodule.exports = postcss\npostcss.default = postcss\n","'use strict'\n\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { existsSync, readFileSync } = require('fs')\nlet { dirname, join } = require('path')\n\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, 'base64').toString()\n } else {\n /* c8 ignore next 2 */\n return window.atob(str)\n }\n}\n\nclass PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return\n this.loadAnnotation(css)\n this.inline = this.startWith(this.annotation, 'data:')\n\n let prev = opts.map ? opts.map.prev : undefined\n let text = this.loadMap(opts.from, prev)\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from\n }\n if (this.mapFile) this.root = dirname(this.mapFile)\n if (text) this.text = text\n }\n\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer(this.text)\n }\n return this.consumerCache\n }\n\n withContent() {\n return !!(\n this.consumer().sourcesContent &&\n this.consumer().sourcesContent.length > 0\n )\n }\n\n startWith(string, start) {\n if (!string) return false\n return string.substr(0, start.length) === start\n }\n\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, '').trim()\n }\n\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm)\n if (!comments) return\n\n // sourceMappingURLs from comments, strings, etc.\n let start = css.lastIndexOf(comments.pop())\n let end = css.indexOf('*/', start)\n\n if (start > -1 && end > -1) {\n // Locate the last sourceMappingURL to avoid pickin\n this.annotation = this.getAnnotationURL(css.substring(start, end))\n }\n }\n\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/\n let baseUri = /^data:application\\/json;base64,/\n let charsetUri = /^data:application\\/json;charset=utf-?8,/\n let uri = /^data:application\\/json,/\n\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length))\n }\n\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64(text.substr(RegExp.lastMatch.length))\n }\n\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1]\n throw new Error('Unsupported source map encoding ' + encoding)\n }\n\n loadFile(path) {\n this.root = dirname(path)\n if (existsSync(path)) {\n this.mapFile = path\n return readFileSync(path, 'utf-8').toString().trim()\n }\n }\n\n loadMap(file, prev) {\n if (prev === false) return false\n\n if (prev) {\n if (typeof prev === 'string') {\n return prev\n } else if (typeof prev === 'function') {\n let prevPath = prev(file)\n if (prevPath) {\n let map = this.loadFile(prevPath)\n if (!map) {\n throw new Error(\n 'Unable to load previous source map: ' + prevPath.toString()\n )\n }\n return map\n }\n } else if (prev instanceof SourceMapConsumer) {\n return SourceMapGenerator.fromSourceMap(prev).toString()\n } else if (prev instanceof SourceMapGenerator) {\n return prev.toString()\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev)\n } else {\n throw new Error(\n 'Unsupported previous source map format: ' + prev.toString()\n )\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation)\n } else if (this.annotation) {\n let map = this.annotation\n if (file) map = join(dirname(file), map)\n return this.loadFile(map)\n }\n }\n\n isMap(map) {\n if (typeof map !== 'object') return false\n return (\n typeof map.mappings === 'string' ||\n typeof map._mappings === 'string' ||\n Array.isArray(map.sections)\n )\n }\n}\n\nmodule.exports = PreviousMap\nPreviousMap.default = PreviousMap\n","'use strict'\n\nlet NoWorkResult = require('./no-work-result')\nlet LazyResult = require('./lazy-result')\nlet Document = require('./document')\nlet Root = require('./root')\n\nclass Processor {\n constructor(plugins = []) {\n this.version = '8.4.21'\n this.plugins = this.normalize(plugins)\n }\n\n use(plugin) {\n this.plugins = this.plugins.concat(this.normalize([plugin]))\n return this\n }\n\n process(css, opts = {}) {\n if (\n this.plugins.length === 0 &&\n typeof opts.parser === 'undefined' &&\n typeof opts.stringifier === 'undefined' &&\n typeof opts.syntax === 'undefined'\n ) {\n return new NoWorkResult(this, css, opts)\n } else {\n return new LazyResult(this, css, opts)\n }\n }\n\n normalize(plugins) {\n let normalized = []\n for (let i of plugins) {\n if (i.postcss === true) {\n i = i()\n } else if (i.postcss) {\n i = i.postcss\n }\n\n if (typeof i === 'object' && Array.isArray(i.plugins)) {\n normalized = normalized.concat(i.plugins)\n } else if (typeof i === 'object' && i.postcssPlugin) {\n normalized.push(i)\n } else if (typeof i === 'function') {\n normalized.push(i)\n } else if (typeof i === 'object' && (i.parse || i.stringify)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'PostCSS syntaxes cannot be used as plugins. Instead, please use ' +\n 'one of the syntax/parser/stringifier options as outlined ' +\n 'in your PostCSS runner documentation.'\n )\n }\n } else {\n throw new Error(i + ' is not a PostCSS plugin')\n }\n }\n return normalized\n }\n}\n\nmodule.exports = Processor\nProcessor.default = Processor\n\nRoot.registerProcessor(Processor)\nDocument.registerProcessor(Processor)\n","'use strict'\n\nlet Warning = require('./warning')\n\nclass Result {\n constructor(processor, root, opts) {\n this.processor = processor\n this.messages = []\n this.root = root\n this.opts = opts\n this.css = undefined\n this.map = undefined\n }\n\n toString() {\n return this.css\n }\n\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin\n }\n }\n\n let warning = new Warning(text, opts)\n this.messages.push(warning)\n\n return warning\n }\n\n warnings() {\n return this.messages.filter(i => i.type === 'warning')\n }\n\n get content() {\n return this.css\n }\n}\n\nmodule.exports = Result\nResult.default = Result\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Root extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'root'\n if (!this.nodes) this.nodes = []\n }\n\n removeChild(child, ignore) {\n let index = this.index(child)\n\n if (!ignore && index === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index].raws.before\n }\n\n return super.removeChild(child)\n }\n\n normalize(child, sample, type) {\n let nodes = super.normalize(child)\n\n if (sample) {\n if (type === 'prepend') {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before\n } else {\n delete sample.raws.before\n }\n } else if (this.first !== sample) {\n for (let node of nodes) {\n node.raws.before = sample.raws.before\n }\n }\n }\n\n return nodes\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n return lazy.stringify()\n }\n}\n\nRoot.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nRoot.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Root\nRoot.default = Root\n\nContainer.registerRoot(Root)\n","'use strict'\n\nlet Container = require('./container')\nlet list = require('./list')\n\nclass Rule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'rule'\n if (!this.nodes) this.nodes = []\n }\n\n get selectors() {\n return list.comma(this.selector)\n }\n\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null\n let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')\n this.selector = values.join(sep)\n }\n}\n\nmodule.exports = Rule\nRule.default = Rule\n\nContainer.registerRule(Rule)\n","'use strict'\n\nconst DEFAULT_RAW = {\n colon: ': ',\n indent: ' ',\n beforeDecl: '\\n',\n beforeRule: '\\n',\n beforeOpen: ' ',\n beforeClose: '\\n',\n beforeComment: '\\n',\n after: '\\n',\n emptyBody: '',\n commentLeft: ' ',\n commentRight: ' ',\n semicolon: false\n}\n\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1)\n}\n\nclass Stringifier {\n constructor(builder) {\n this.builder = builder\n }\n\n stringify(node, semicolon) {\n /* c8 ignore start */\n if (!this[node.type]) {\n throw new Error(\n 'Unknown AST node type ' +\n node.type +\n '. ' +\n 'Maybe you need to change PostCSS stringifier.'\n )\n }\n /* c8 ignore stop */\n this[node.type](node, semicolon)\n }\n\n document(node) {\n this.body(node)\n }\n\n root(node) {\n this.body(node)\n if (node.raws.after) this.builder(node.raws.after)\n }\n\n comment(node) {\n let left = this.raw(node, 'left', 'commentLeft')\n let right = this.raw(node, 'right', 'commentRight')\n this.builder('/*' + left + node.text + right + '*/', node)\n }\n\n decl(node, semicolon) {\n let between = this.raw(node, 'between', 'colon')\n let string = node.prop + between + this.rawValue(node, 'value')\n\n if (node.important) {\n string += node.raws.important || ' !important'\n }\n\n if (semicolon) string += ';'\n this.builder(string, node)\n }\n\n rule(node) {\n this.block(node, this.rawValue(node, 'selector'))\n if (node.raws.ownSemicolon) {\n this.builder(node.raws.ownSemicolon, node, 'end')\n }\n }\n\n atrule(node, semicolon) {\n let name = '@' + node.name\n let params = node.params ? this.rawValue(node, 'params') : ''\n\n if (typeof node.raws.afterName !== 'undefined') {\n name += node.raws.afterName\n } else if (params) {\n name += ' '\n }\n\n if (node.nodes) {\n this.block(node, name + params)\n } else {\n let end = (node.raws.between || '') + (semicolon ? ';' : '')\n this.builder(name + params + end, node)\n }\n }\n\n body(node) {\n let last = node.nodes.length - 1\n while (last > 0) {\n if (node.nodes[last].type !== 'comment') break\n last -= 1\n }\n\n let semicolon = this.raw(node, 'semicolon')\n for (let i = 0; i < node.nodes.length; i++) {\n let child = node.nodes[i]\n let before = this.raw(child, 'before')\n if (before) this.builder(before)\n this.stringify(child, last !== i || semicolon)\n }\n }\n\n block(node, start) {\n let between = this.raw(node, 'between', 'beforeOpen')\n this.builder(start + between + '{', node, 'start')\n\n let after\n if (node.nodes && node.nodes.length) {\n this.body(node)\n after = this.raw(node, 'after')\n } else {\n after = this.raw(node, 'after', 'emptyBody')\n }\n\n if (after) this.builder(after)\n this.builder('}', node, 'end')\n }\n\n raw(node, own, detect) {\n let value\n if (!detect) detect = own\n\n // Already had\n if (own) {\n value = node.raws[own]\n if (typeof value !== 'undefined') return value\n }\n\n let parent = node.parent\n\n if (detect === 'before') {\n // Hack for first rule in CSS\n if (!parent || (parent.type === 'root' && parent.first === node)) {\n return ''\n }\n\n // `root` nodes in `document` should use only their own raws\n if (parent && parent.type === 'document') {\n return ''\n }\n }\n\n // Floating child without parent\n if (!parent) return DEFAULT_RAW[detect]\n\n // Detect style by other nodes\n let root = node.root()\n if (!root.rawCache) root.rawCache = {}\n if (typeof root.rawCache[detect] !== 'undefined') {\n return root.rawCache[detect]\n }\n\n if (detect === 'before' || detect === 'after') {\n return this.beforeAfter(node, detect)\n } else {\n let method = 'raw' + capitalize(detect)\n if (this[method]) {\n value = this[method](root, node)\n } else {\n root.walk(i => {\n value = i.raws[own]\n if (typeof value !== 'undefined') return false\n })\n }\n }\n\n if (typeof value === 'undefined') value = DEFAULT_RAW[detect]\n\n root.rawCache[detect] = value\n return value\n }\n\n rawSemicolon(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length && i.last.type === 'decl') {\n value = i.raws.semicolon\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawEmptyBody(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length === 0) {\n value = i.raws.after\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawIndent(root) {\n if (root.raws.indent) return root.raws.indent\n let value\n root.walk(i => {\n let p = i.parent\n if (p && p !== root && p.parent && p.parent === root) {\n if (typeof i.raws.before !== 'undefined') {\n let parts = i.raws.before.split('\\n')\n value = parts[parts.length - 1]\n value = value.replace(/\\S/g, '')\n return false\n }\n }\n })\n return value\n }\n\n rawBeforeComment(root, node) {\n let value\n root.walkComments(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeDecl(root, node) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeRule')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeRule(root) {\n let value\n root.walk(i => {\n if (i.nodes && (i.parent !== root || root.first !== i)) {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawBeforeClose(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length > 0) {\n if (typeof i.raws.after !== 'undefined') {\n value = i.raws.after\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawBeforeOpen(root) {\n let value\n root.walk(i => {\n if (i.type !== 'decl') {\n value = i.raws.between\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawColon(root) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.between !== 'undefined') {\n value = i.raws.between.replace(/[^\\s:]/g, '')\n return false\n }\n })\n return value\n }\n\n beforeAfter(node, detect) {\n let value\n if (node.type === 'decl') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (node.type === 'comment') {\n value = this.raw(node, null, 'beforeComment')\n } else if (detect === 'before') {\n value = this.raw(node, null, 'beforeRule')\n } else {\n value = this.raw(node, null, 'beforeClose')\n }\n\n let buf = node.parent\n let depth = 0\n while (buf && buf.type !== 'root') {\n depth += 1\n buf = buf.parent\n }\n\n if (value.includes('\\n')) {\n let indent = this.raw(node, null, 'indent')\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent\n }\n }\n\n return value\n }\n\n rawValue(node, prop) {\n let value = node[prop]\n let raw = node.raws[prop]\n if (raw && raw.value === value) {\n return raw.raw\n }\n\n return value\n }\n}\n\nmodule.exports = Stringifier\nStringifier.default = Stringifier\n","'use strict'\n\nlet Stringifier = require('./stringifier')\n\nfunction stringify(node, builder) {\n let str = new Stringifier(builder)\n str.stringify(node)\n}\n\nmodule.exports = stringify\nstringify.default = stringify\n","'use strict'\n\nmodule.exports.isClean = Symbol('isClean')\n\nmodule.exports.my = Symbol('my')\n","'use strict'\n\nconst SINGLE_QUOTE = \"'\".charCodeAt(0)\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0)\nconst BACKSLASH = '\\\\'.charCodeAt(0)\nconst SLASH = '/'.charCodeAt(0)\nconst NEWLINE = '\\n'.charCodeAt(0)\nconst SPACE = ' '.charCodeAt(0)\nconst FEED = '\\f'.charCodeAt(0)\nconst TAB = '\\t'.charCodeAt(0)\nconst CR = '\\r'.charCodeAt(0)\nconst OPEN_SQUARE = '['.charCodeAt(0)\nconst CLOSE_SQUARE = ']'.charCodeAt(0)\nconst OPEN_PARENTHESES = '('.charCodeAt(0)\nconst CLOSE_PARENTHESES = ')'.charCodeAt(0)\nconst OPEN_CURLY = '{'.charCodeAt(0)\nconst CLOSE_CURLY = '}'.charCodeAt(0)\nconst SEMICOLON = ';'.charCodeAt(0)\nconst ASTERISK = '*'.charCodeAt(0)\nconst COLON = ':'.charCodeAt(0)\nconst AT = '@'.charCodeAt(0)\n\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g\nconst RE_BAD_BRACKET = /.[\\n\"'(/\\\\]/\nconst RE_HEX_ESCAPE = /[\\da-f]/i\n\nmodule.exports = function tokenizer(input, options = {}) {\n let css = input.css.valueOf()\n let ignore = options.ignoreErrors\n\n let code, next, quote, content, escape\n let escaped, escapePos, prev, n, currentToken\n\n let length = css.length\n let pos = 0\n let buffer = []\n let returned = []\n\n function position() {\n return pos\n }\n\n function unclosed(what) {\n throw input.error('Unclosed ' + what, pos)\n }\n\n function endOfFile() {\n return returned.length === 0 && pos >= length\n }\n\n function nextToken(opts) {\n if (returned.length) return returned.pop()\n if (pos >= length) return\n\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false\n\n code = css.charCodeAt(pos)\n\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos\n do {\n next += 1\n code = css.charCodeAt(next)\n } while (\n code === SPACE ||\n code === NEWLINE ||\n code === TAB ||\n code === CR ||\n code === FEED\n )\n\n currentToken = ['space', css.slice(pos, next)]\n pos = next - 1\n break\n }\n\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code)\n currentToken = [controlChar, controlChar, pos]\n break\n }\n\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : ''\n n = css.charCodeAt(pos + 1)\n if (\n prev === 'url' &&\n n !== SINGLE_QUOTE &&\n n !== DOUBLE_QUOTE &&\n n !== SPACE &&\n n !== NEWLINE &&\n n !== TAB &&\n n !== FEED &&\n n !== CR\n ) {\n next = pos\n do {\n escaped = false\n next = css.indexOf(')', next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos\n break\n } else {\n unclosed('bracket')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['brackets', css.slice(pos, next + 1), pos, next]\n\n pos = next\n } else {\n next = css.indexOf(')', pos + 1)\n content = css.slice(pos, next + 1)\n\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = ['(', '(', pos]\n } else {\n currentToken = ['brackets', content, pos, next]\n pos = next\n }\n }\n\n break\n }\n\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"'\n next = pos\n do {\n escaped = false\n next = css.indexOf(quote, next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1\n break\n } else {\n unclosed('string')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['string', css.slice(pos, next + 1), pos, next]\n pos = next\n break\n }\n\n case AT: {\n RE_AT_END.lastIndex = pos + 1\n RE_AT_END.test(css)\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_AT_END.lastIndex - 2\n }\n\n currentToken = ['at-word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n case BACKSLASH: {\n next = pos\n escape = true\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1\n escape = !escape\n }\n code = css.charCodeAt(next + 1)\n if (\n escape &&\n code !== SLASH &&\n code !== SPACE &&\n code !== NEWLINE &&\n code !== TAB &&\n code !== CR &&\n code !== FEED\n ) {\n next += 1\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1\n }\n }\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf('*/', pos + 2) + 1\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length\n } else {\n unclosed('comment')\n }\n }\n\n currentToken = ['comment', css.slice(pos, next + 1), pos, next]\n pos = next\n } else {\n RE_WORD_END.lastIndex = pos + 1\n RE_WORD_END.test(css)\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_WORD_END.lastIndex - 2\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n buffer.push(currentToken)\n pos = next\n }\n\n break\n }\n }\n\n pos++\n return currentToken\n }\n\n function back(token) {\n returned.push(token)\n }\n\n return {\n back,\n nextToken,\n endOfFile,\n position\n }\n}\n","/* eslint-disable no-console */\n'use strict'\n\nlet printed = {}\n\nmodule.exports = function warnOnce(message) {\n if (printed[message]) return\n printed[message] = true\n\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message)\n }\n}\n","'use strict'\n\nclass Warning {\n constructor(text, opts = {}) {\n this.type = 'warning'\n this.text = text\n\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts)\n this.line = range.start.line\n this.column = range.start.column\n this.endLine = range.end.line\n this.endColumn = range.end.column\n }\n\n for (let opt in opts) this[opt] = opts[opt]\n }\n\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n plugin: this.plugin,\n index: this.index,\n word: this.word\n }).message\n }\n\n if (this.plugin) {\n return this.plugin + ': ' + this.text\n }\n\n return this.text\n }\n}\n\nmodule.exports = Warning\nWarning.default = Warning\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","export enum PricingPeriod {\n MONTHLY = 'MONTHLY',\n ANNUAL = 'ANNUAL'\n}\n","import {\n PricingStrategy,\n PricingTier\n} from '@atlassiansox/asc-product-catalog';\n\nimport { PricingCalculation } from './pricing-calculation';\n\nexport type PricingBreakdown = ReadonlyArray;\n\nexport type PricingBreakdownItem = {\n readonly units: number;\n readonly unitPrice: number;\n readonly tier: PricingTier;\n};\n\nexport function reduceBreakdownToPricingCalculation(\n { total, currencyIsoCode, breakdown, pricingPlan }: PricingCalculation,\n { tier, units, unitPrice }: PricingBreakdownItem\n) {\n return {\n currencyIsoCode,\n breakdown,\n pricingPlan,\n total: updateTotal(total, tier.pricingStrategy, units, unitPrice)\n };\n}\n\nfunction updateTotal(\n total: number,\n pricingStrategy: PricingStrategy,\n units: number,\n unitPrice: number\n) {\n switch (pricingStrategy) {\n case PricingStrategy.FIXED_COST:\n return unitPrice;\n case PricingStrategy.MARGINAL_PER_UNIT:\n return total + units * unitPrice;\n case PricingStrategy.PER_UNIT:\n return units * unitPrice;\n }\n}\n","import { PricingTier } from '@atlassiansox/asc-product-catalog';\nimport { Predicate } from './predicate';\n\nexport function createPricingTierIsInUnitLimitsPredicate(\n units: number\n): Predicate {\n return ({ unitLimitLower, unitLimitUpper }) =>\n (unitLimitLower === null || units >= unitLimitLower) &&\n (unitLimitUpper === null || units <= unitLimitUpper);\n}\n\nexport function getUnitPrice(\n tier: PricingTier,\n currencyIsoCode: string\n): number {\n const locale = tier.prices.find(\n ({ currency }) => currency === currencyIsoCode\n );\n\n return locale ? locale.unitPrice : -1;\n}\n","import {\n PricingPlan as RawPricingPlan,\n PricingPlans as RawPricingPlans,\n PricingStrategy,\n PricingTierPrice\n} from '@atlassiansox/asc-product-catalog';\nimport { PricingPeriod } from '../models';\n\nexport type PricingTier = {\n readonly starter: boolean;\n readonly pricingStrategy: PricingStrategy;\n readonly unitDescription: string;\n readonly unitLimitLower: number;\n readonly unitLimitUpper: number | null;\n readonly prices: ReadonlyArray;\n};\n\nexport type PricingPlan = ReadonlyArray;\n\nexport type PricingPlans = {\n readonly [key in PricingPeriod]?: PricingPlan;\n};\n\nexport function sanitizePricingPlans({\n monthly,\n annual\n}: RawPricingPlans): PricingPlans {\n return {\n [PricingPeriod.MONTHLY]: sanitizePricingPlan(monthly),\n [PricingPeriod.ANNUAL]: sanitizePricingPlan(annual)\n };\n}\n\nconst MIN_UNIT_LIMIT = 1;\n\n// the first tier starts with a lower unit limit of 0, which for WAC needs to be 1\nconst correctFirstTierUnitLimitLower = (\n priceTiers: RawPricingPlan\n): PricingPlan => {\n const { unitLimitLower } = priceTiers[0];\n\n const correctedUnitLimitLower = Math.max(\n unitLimitLower || MIN_UNIT_LIMIT,\n MIN_UNIT_LIMIT\n );\n\n return [\n {\n ...priceTiers[0],\n unitLimitLower: correctedUnitLimitLower\n } as PricingTier\n ].concat(priceTiers.slice(1) as PricingTier[]);\n};\n\nexport function sanitizePricingPlan(\n pricingPlan?: RawPricingPlan\n): PricingPlan | undefined {\n if (pricingPlan) {\n return correctFirstTierUnitLimitLower(pricingPlan);\n } else {\n return undefined;\n }\n}\n\n// import { PriceTier } from '@atlassian/bxp-price-calculation';\n\n// const MAX_UNIT_LIMIT = 5000;\n\n// // pricing tiers out of HAMS have data that is invalid\n// // in various ways for displaying pricing on WAC\n\n// // these functions each make a transformation that makes valid\n// // the price tier data for our use case\n\n// // it doesn't make sense to have a unit limit below one on any tier\n// // for display on WAC, also the max tier limit shown should be 5000\n// const clampUnitLimits = (priceTiers: PriceTier[]): PriceTier[] =>\n// priceTiers.map(priceTier => {\n// const { unitLimitLower, unitLimitUpper } = priceTier;\n\n// const [clampedUnitLimitLower, clampedUnitLimitUpper] = [\n// unitLimitLower,\n// unitLimitUpper\n// ].map(unitLimit =>\n// Math.max(Math.min(unitLimit, MAX_UNIT_LIMIT), MIN_UNIT_LIMIT)\n// );\n\n// priceTier.unitLimitLower = clampedUnitLimitLower;\n// priceTier.unitLimitUpper = clampedUnitLimitUpper;\n\n// return priceTier;\n// });\n\n// // sometimes the first tier has a lower and upper unit limit of -987654321\n// // so drop this tier entirely\n// const dropInvalidFirstTier = (priceTiers: PriceTier[]): PriceTier[] => {\n// const { unitLimitLower, unitLimitUpper } = priceTiers[0];\n\n// return unitLimitLower === -987654321 &&\n// unitLimitLower === unitLimitUpper &&\n// priceTiers.length > 1\n// ? priceTiers.slice(1)\n// : priceTiers;\n// };\n\n// export default function(priceTiers: PriceTier[]): PriceTier[] {\n// return [\n// dropInvalidFirstTier,\n// clampUnitLimits,\n// correctFirstTierUnitLimitLower\n// ].reduce((tiers, tiersTransformFn) => tiersTransformFn(tiers), priceTiers);\n// }\n","import {\n CCPPricingPlanContent,\n CCPPricingPlanTier,\n PricingStrategy,\n PricingTier\n} from '@atlassiansox/asc-product-catalog';\nimport { PricingPlan, PricingPlans } from '.';\nimport { PricingPeriod } from '../models';\n\nconst HAMS_PRICING_STRATEGY_BY_CCP_PRICING_POLICY = {\n ['BLOCK']: PricingStrategy.FIXED_COST,\n ['MARGINAL_PER_UNIT']: PricingStrategy.MARGINAL_PER_UNIT,\n ['PER_UNIT']: PricingStrategy.PER_UNIT\n};\n\nconst convertCCPPricingStrategyToHAMS = (\n ccpPricingPolicy: string\n): PricingStrategy => {\n const hamsPricingStrategy =\n HAMS_PRICING_STRATEGY_BY_CCP_PRICING_POLICY[\n ccpPricingPolicy as 'BLOCK' | 'MARGINAL_PER_UNIT' | 'PER_UNIT'\n ];\n\n if (!hamsPricingStrategy) {\n throw new Error(\n `Could not find HAMS pricing strategy to match CCP pricing policy: \"${ccpPricingPolicy}\"`\n );\n }\n\n return hamsPricingStrategy;\n};\n\nconst convertCCPTiersToHAMS = (\n ccpTiers: CCPPricingPlanTier[],\n chargeElement: string,\n currency: string\n): PricingTier[] =>\n ccpTiers.map(ccpTier => ({\n starter: false,\n pricingStrategy: convertCCPPricingStrategyToHAMS(ccpTier.policy),\n unitDescription: chargeElement,\n unitLimitLower: ccpTier.floor,\n unitLimitUpper: ccpTier.ceiling,\n prices: [\n {\n currency,\n unitPrice: ccpTier.policy.includes('UNIT')\n ? ccpTier.unitAmount\n : ccpTier.flatAmount\n }\n ]\n }));\n\nconst convertCCPPricingPlansToHAMS = (\n pricingPlans: CCPPricingPlanContent[]\n): PricingPlans => {\n const [monthlyCCP, annualCCP] = ['MONTH', 'YEAR'].map(primaryCycle =>\n pricingPlans.find(\n pricingPlan => pricingPlan.primaryCycle_interval === primaryCycle\n )\n );\n\n const [monthly, annual] = [monthlyCCP, annualCCP].map(ccpPPContent => {\n if (!ccpPPContent) {\n return undefined;\n }\n\n const { tiers, chargeElement } = ccpPPContent.items[0];\n return convertCCPTiersToHAMS(tiers, chargeElement, ccpPPContent.currency);\n });\n\n return {\n [PricingPeriod.MONTHLY]: monthly as PricingPlan,\n [PricingPeriod.ANNUAL]: annual as PricingPlan\n };\n};\n\nexport { convertCCPPricingPlansToHAMS };\n","import { PricingPlan } from '@atlassiansox/asc-product-catalog';\nimport { PricingStrategy, PricingTier } from '@atlassiansox/asc-product-catalog';\n\nimport { PricingBreakdown, PricingBreakdownItem } from '../models';\nimport { Predicate } from './predicate';\nimport { getUnitPrice } from './pricing-tier';\n\nexport type PricingTierToPricingBreakdownItemTransform = (\n tier: PricingTier,\n index: number\n) => PricingBreakdownItem;\n\nexport function createMarginalPerUnitBreakdown(\n pricingPlan: PricingPlan,\n units: number,\n currencyIsoCode: string\n): PricingBreakdown {\n return pricingPlan\n .filter(createPricingTierIsMarginalPerUnitStrategy(units))\n .sort(comparePricingTierByUnitLimitLower)\n .map(\n createPricingTierToPricingBreakdownItemTransform(units, currencyIsoCode)\n );\n}\n\nexport function comparePricingTierByUnitLimitLower(\n { unitLimitLower: firstLimit }: PricingTier,\n { unitLimitLower: secondLimit }: PricingTier\n): number {\n if (firstLimit !== null && secondLimit !== null) {\n return firstLimit - secondLimit;\n } else if (firstLimit === null) {\n return 1;\n } else {\n return -1;\n }\n}\n\nexport function createPricingTierToPricingBreakdownItemTransform(\n units: number,\n currencyIsoCode: string\n): PricingTierToPricingBreakdownItemTransform {\n return (tier, index) => {\n const unitPrice = getUnitPrice(tier, currencyIsoCode);\n const ignoreUnitLimitLower = index === 0;\n \n if (ignoreUnitLimitLower) {\n return {\n units: Math.min(units, tier.unitLimitUpper || Infinity),\n unitPrice,\n tier: {\n ...tier,\n unitLimitLower: 1\n }\n };\n } else {\n const unitLimitLower = tier.unitLimitLower || 1;\n if (units < unitLimitLower) {\n return { units: 0, unitPrice, tier };\n } else {\n return {\n units:\n Math.min(units, tier.unitLimitUpper || Infinity) -\n unitLimitLower +\n 1,\n unitPrice,\n tier\n };\n }\n }\n };\n}\n\nfunction createPricingTierIsMarginalPerUnitStrategy(\n units: number\n): Predicate {\n return ({ pricingStrategy, unitLimitLower }) =>\n pricingStrategy === PricingStrategy.MARGINAL_PER_UNIT &&\n (unitLimitLower === null || units >= unitLimitLower);\n}\n","import {\n PricingStrategy,\n PricingTierPrice,\n ProductKey\n} from '@atlassiansox/asc-product-catalog';\nimport {\n PricingBreakdown,\n PricingCalculation,\n PricingPeriod,\n reduceBreakdownToPricingCalculation\n} from './models';\nimport { IProductPricingStore } from './product-pricing-store';\nimport {\n createPricingTierIsInUnitLimitsPredicate,\n getUnitPrice,\n PricingPlan\n} from './utils';\nimport { createMarginalPerUnitBreakdown } from './utils/marginal-per-unit';\n\nconst DEFAULT_CURRENCY = 'USD';\n\nexport type PricingCalculatorOptions = {\n readonly productPricingStore: IProductPricingStore;\n};\n\nexport class PricingCalculator {\n private readonly store: IProductPricingStore;\n\n constructor({ productPricingStore }: PricingCalculatorOptions) {\n this.store = productPricingStore;\n }\n\n async calculatePrice({\n productKey,\n units,\n period,\n currencyIsoCode\n }: GetPriceCalculationOptions): Promise {\n const pricingPlan = await this.getPricingPlan({ productKey, period });\n\n if (\n !pricingPlan[0].prices.some(\n ({ currency }) => currency === currencyIsoCode\n )\n ) {\n currencyIsoCode = DEFAULT_CURRENCY;\n }\n\n return await this.calculatePriceWithPricingPlan({\n units,\n currencyIsoCode,\n pricingPlan\n });\n }\n\n async calculatePriceWithPricingPlan({\n units,\n currencyIsoCode,\n pricingPlan\n }: GetPriceCalculationWithPricingPlanOptions): Promise {\n const breakdown = await this.getBreakdown({\n pricingPlan,\n units,\n currencyIsoCode\n });\n\n return breakdown.reduce(reduceBreakdownToPricingCalculation, {\n currencyIsoCode,\n breakdown,\n pricingPlan,\n total: 0\n });\n }\n\n private async getPricingPlan({\n productKey,\n period\n }: GetPricingPlanOptions): Promise {\n const {\n [PricingPeriod.MONTHLY]: monthly,\n [PricingPeriod.ANNUAL]: annual\n } = await this.store.getPricingPlans(productKey);\n\n // there are no \"annual free\" pricing plans but consumers of this package need to request\n // free pricing along with annual non-free pricing in one call so we need to return the\n // free monthly pricing plan always when the product key ends in '.free'\n const adjPeriod = productKey.endsWith('.free')\n ? PricingPeriod.MONTHLY\n : period;\n\n switch (adjPeriod) {\n case PricingPeriod.MONTHLY:\n if (monthly) {\n return monthly;\n } else {\n throw new Error(\n `Monthly pricing plan does not exist for product key: ${productKey}`\n );\n }\n case PricingPeriod.ANNUAL:\n if (annual) {\n return annual;\n } else {\n throw new Error(\n `Annual pricing plan does not exist for product key: ${productKey}`\n );\n }\n }\n }\n\n private async getBreakdown({\n pricingPlan,\n units,\n currencyIsoCode\n }: GetBreakdownOptions): Promise {\n const selectedTier = pricingPlan.find(\n createPricingTierIsInUnitLimitsPredicate(units)\n );\n if (selectedTier) {\n switch (selectedTier.pricingStrategy) {\n case PricingStrategy.MARGINAL_PER_UNIT:\n return createMarginalPerUnitBreakdown(\n pricingPlan,\n units,\n currencyIsoCode\n );\n default:\n return [\n {\n units,\n unitPrice: getUnitPrice(selectedTier, currencyIsoCode),\n tier: selectedTier\n }\n ];\n }\n } else {\n throw new Error(`Could not find pricing plan tier for ${units} units`);\n }\n }\n}\n\nexport type GetPriceCalculationOptions = {\n readonly productKey: ProductKey;\n readonly units: number;\n readonly period: PricingPeriod;\n readonly currencyIsoCode: string;\n};\n\nexport type GetPriceCalculationWithPricingPlanOptions = {\n readonly units: number;\n readonly currencyIsoCode: string;\n readonly pricingPlan: PricingPlan;\n};\n\nexport type GetBreakdownOptions = {\n readonly pricingPlan: PricingPlan;\n readonly units: number;\n readonly currencyIsoCode: string;\n};\n\nexport type GetPricingPlanOptions = {\n readonly productKey: ProductKey;\n readonly period: PricingPeriod;\n};\n\nexport { PricingStrategy, PricingTierPrice, ProductKey };\n","import {\n ICCPProductCatalogClient,\n IProductCatalogClient,\n OfferingSKU,\n OfferingSKUMap,\n ProductKey,\n ProductKeyMap\n} from '@atlassiansox/asc-product-catalog';\nimport { AddonProduct } from './models';\nimport {\n convertCCPPricingPlansToHAMS,\n PricingPlans,\n sanitizePricingPlans\n} from './utils';\n\nexport type ProductPricingStoreOptions = {\n readonly productCatalogClient: IProductCatalogClient;\n readonly ccpProductCatalogClient: ICCPProductCatalogClient;\n};\n\nexport interface IProductPricingStore {\n getPricingPlans(productKey: ProductKey): Promise;\n getProducts(\n productKeys: ReadonlyArray\n ): Promise>;\n searchAddons(\n parentProductKey: string,\n query: string,\n limit: number\n ): Promise;\n getOfferings(\n offeringSKUs: ReadonlyArray\n ): Promise>;\n}\n\nexport class ProductPricingStore implements IProductPricingStore {\n private readonly productCatalogClient: IProductCatalogClient;\n private readonly ccpProductCatalogClient: ICCPProductCatalogClient;\n private readonly cache: Map>;\n\n constructor({\n productCatalogClient,\n ccpProductCatalogClient\n }: ProductPricingStoreOptions) {\n this.productCatalogClient = productCatalogClient;\n this.ccpProductCatalogClient = ccpProductCatalogClient;\n this.cache = new Map();\n }\n\n public async getPricingPlans(productKey: ProductKey): Promise {\n const pricingPlans = (await this.getProducts([productKey]))[productKey];\n if (pricingPlans) {\n return pricingPlans;\n } else {\n throw new Error(\n `Could not find pricing plans for product key: ${productKey}`\n );\n }\n }\n\n public async getProducts(\n productKeys: ReadonlyArray\n ): Promise> {\n const uncachedProductKeys = productKeys.filter(this.isProductKeyUncached);\n\n if (uncachedProductKeys.length > 0) {\n this.fetchProducts(uncachedProductKeys);\n return this.getProducts(productKeys);\n } else {\n return this.getCachedProducts(productKeys);\n }\n }\n\n public async getOfferings(\n offeringSKUs: ReadonlyArray\n ): Promise> {\n const uncachedOfferingSKUs = offeringSKUs.filter(\n this.isOfferingSKUUncached\n );\n\n if (uncachedOfferingSKUs.length > 0) {\n this.fetchOfferings(uncachedOfferingSKUs);\n return this.getOfferings(offeringSKUs);\n } else {\n return this.getCachedOfferings(offeringSKUs);\n }\n }\n\n public async searchAddons(\n parentProductKey: string,\n query: string,\n limit = 100\n ): Promise {\n const addons = await this.productCatalogClient.searchAddons({\n parentProductKey,\n query,\n limit\n });\n\n return addons.map(addon => ({\n ...addon,\n pricing: sanitizePricingPlans(addon.pricing)\n }));\n }\n\n private fetchProducts(productKeys: ReadonlyArray): void {\n const pricingPromise = this.productCatalogClient.getPricing({\n productKeys\n });\n productKeys.forEach(productKey => {\n this.cache.set(\n productKey,\n new Promise(async resolve => {\n const pricing = await pricingPromise;\n const pricingPlans = pricing[productKey];\n if (pricingPlans) {\n resolve(sanitizePricingPlans(pricingPlans));\n } else {\n resolve(null);\n }\n })\n );\n });\n }\n\n private fetchOfferings(offeringSKUs: ReadonlyArray): void {\n const pricingPromise = this.ccpProductCatalogClient.getOfferingsBySKU({\n offeringSKUs\n });\n\n offeringSKUs.forEach(offeringSKU => {\n this.cache.set(\n offeringSKU,\n new Promise(\n async (resolve: (value: PricingPlans | null) => void, reject) => {\n const pricing = await pricingPromise;\n const offering = pricing[offeringSKU];\n\n let ccpPricingPlans;\n if (offering && offering.fields.defaultPricingPlans) {\n ccpPricingPlans = offering.fields.defaultPricingPlans.map(\n ccpPPContent => ccpPPContent.fields\n );\n }\n\n if (ccpPricingPlans && ccpPricingPlans.length > 0) {\n try {\n resolve(convertCCPPricingPlansToHAMS(ccpPricingPlans));\n } catch (e) {\n reject(e);\n }\n } else {\n resolve(null);\n }\n }\n )\n );\n });\n }\n\n private readonly isProductKeyUncached = (productKey: ProductKey): boolean =>\n !this.cache.has(productKey);\n\n private readonly isOfferingSKUUncached = (\n offeringSKU: OfferingSKU\n ): boolean => !this.cache.has(offeringSKU);\n\n private readonly getCachedProducts = async (\n productKeys: ReadonlyArray\n ): Promise> => {\n const products = await Promise.all(\n productKeys.map(async productKey => {\n const pricingPlans = await this.cache.get(productKey);\n return { productKey, pricingPlans };\n })\n );\n\n return products\n .filter(({ pricingPlans }) => !!pricingPlans)\n .reduce((result, { productKey, pricingPlans }) => {\n return { ...result, [productKey]: pricingPlans };\n }, {});\n };\n\n private readonly getCachedOfferings = async (\n offeringSKUs: ReadonlyArray\n ): Promise> => {\n const offerings = await Promise.all(\n offeringSKUs.map(async offeringSKU => {\n const pricingPlans = await this.cache.get(offeringSKU);\n return { offeringSKU, pricingPlans };\n })\n );\n\n return offerings\n .filter(({ pricingPlans }) => !!pricingPlans)\n .reduce((result, { offeringSKU, pricingPlans }) => {\n return { ...result, [offeringSKU]: pricingPlans };\n }, {});\n };\n}\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React from 'react';\nimport { NAVIGATION_CHANNEL, OPERATIONAL_EVENT_TYPE, withAnalyticsEvents } from '../utils/analytics';\nimport { errorToReason } from '../utils/error-to-reason';\nimport { retryOnException } from '../utils/retry-operation';\nconst DATA_PROVIDER_SUBJECT = 'atlassianSwitcherDataProvider';\nexport let Status;\n\n(function (Status) {\n Status[\"LOADING\"] = \"loading\";\n Status[\"COMPLETE\"] = \"complete\";\n Status[\"ERROR\"] = \"error\";\n})(Status || (Status = {}));\n\nexport const createResultComplete = data => ({\n status: Status.COMPLETE,\n data\n});\nexport const isComplete = result => result.status === Status.COMPLETE;\nexport const isError = result => result.status === Status.ERROR;\nexport const isLoading = result => result.status === Status.LOADING;\nexport const hasLoaded = result => result.status !== Status.LOADING;\nexport default function (name, mapPropsToPromise, mapPropsToInitialValue, retryConfig) {\n const getInitialState = props => {\n if (mapPropsToInitialValue) {\n const initialValue = mapPropsToInitialValue(props);\n\n if (initialValue !== undefined) {\n return {\n status: Status.COMPLETE,\n data: initialValue\n };\n }\n }\n\n return {\n status: Status.LOADING,\n data: null\n };\n };\n\n class DataProvider extends React.Component {\n constructor(...args) {\n super(...args);\n\n _defineProperty(this, \"acceptResults\", true);\n\n _defineProperty(this, \"state\", getInitialState(this.props));\n\n _defineProperty(this, \"fireOperationalEvent\", payload => {\n if (this.props.createAnalyticsEvent) {\n this.props.createAnalyticsEvent({\n eventType: OPERATIONAL_EVENT_TYPE,\n actionSubject: DATA_PROVIDER_SUBJECT,\n ...payload,\n attributes: { ...payload.attributes,\n outdated: !this.acceptResults\n }\n }).fire(NAVIGATION_CHANNEL);\n }\n });\n }\n\n componentWillUnmount() {\n /**\n * Promise resolved after component is unmounted to be ignored\n */\n this.acceptResults = false;\n }\n\n componentDidMount() {\n retryOnException(() => mapPropsToPromise(this.props), {\n intervalsMS: (retryConfig === null || retryConfig === void 0 ? void 0 : retryConfig.intervalsMS) || [],\n shouldRetryOnException: retryConfig === null || retryConfig === void 0 ? void 0 : retryConfig.shouldRetryOnException,\n onRetry: (previousException, retryCount) => {\n this.onRetry(previousException, retryCount);\n }\n }).then(result => {\n this.onResult(result);\n }).catch(error => {\n this.onError(error);\n });\n }\n\n onResult(value) {\n if (this.acceptResults) {\n this.setState({\n data: value,\n status: Status.COMPLETE\n });\n }\n\n this.fireOperationalEvent({\n action: 'receivedResult',\n actionSubjectId: name,\n attributes: {\n provider: name\n }\n });\n }\n\n onRetry(error, retryCount) {\n this.fireOperationalEvent({\n action: 'retried',\n actionSubjectId: name,\n attributes: {\n provider: name,\n reason: retryConfig !== null && retryConfig !== void 0 && retryConfig.customErrorToReason ? retryConfig.customErrorToReason(error) : errorToReason(error),\n retryCount\n }\n });\n }\n\n onError(error) {\n /**\n * Do not transition from \"complete\" state to \"error\"\n */\n if (this.acceptResults && !isComplete(this.state)) {\n this.setState({\n error,\n status: Status.ERROR,\n data: null\n });\n }\n\n this.fireOperationalEvent({\n action: 'failed',\n actionSubjectId: name,\n attributes: {\n provider: name,\n reason: errorToReason(error)\n }\n });\n }\n\n render() {\n return this.props.children(this.state);\n }\n\n }\n\n _defineProperty(DataProvider, \"displayName\", `DataProvider(${name})`);\n\n return withAnalyticsEvents()(DataProvider);\n}","import asDataProvider from './as-data-provider';\nimport { fetchJson } from '../utils/fetch';\nimport { withCached } from '../utils/with-cached';\nexport const createProvider = (name, url) => {\n const fetchMethod = withCached(param => fetchJson(url));\n return {\n fetchMethod,\n ProviderComponent: asDataProvider(name, fetchMethod, fetchMethod.cached, // fetch will only throw on a network exception,\n // so we can safely retry on all exceptions\n {\n shouldRetryOnException: () => true,\n intervalsMS: [50, 200, 1000]\n })\n };\n};\nexport const createProviderWithCustomFetchData = (name, fetchData, retryConfig) => {\n const fetchMethod = withCached(param => fetchData(param));\n return {\n fetchMethod,\n ProviderComponent: asDataProvider(name, fetchMethod, fetchMethod.cached, retryConfig)\n };\n};","import { createProviderWithCustomFetchData } from './create-data-provider';\nimport { fetchJsonWithNetworkRetries } from '../utils/fetch';\nexport const DEFAULT_AVAILABLE_PRODUCTS_ENDPOINT = '/gateway/api/available-products/api/available-products';\nexport const defaultAvailableProductsFetch = (url = DEFAULT_AVAILABLE_PRODUCTS_ENDPOINT) => async () => {\n try {\n /**\n * Currently if the /available-products call returns a 401 we'll default to\n * empty sites for nonAA users (querying experiment api). This is to cater\n * for these users in Trello - as they do not have an AAID. For AA users,\n * an error will be expectedly thrown.\n */\n const response = await fetchJsonWithNetworkRetries(url, {\n intervalsMS: [50, 200, 1000]\n });\n return response;\n } catch (e) {\n const usingExperimentApi = url.indexOf('experiment-api') > -1;\n\n if (usingExperimentApi && e.status === 401) {\n const defaultUnauthorizedResponse = Promise.resolve({\n sites: [],\n links: [],\n isPartial: false\n });\n return defaultUnauthorizedResponse;\n }\n\n throw e;\n }\n};\nexport const createAvailableProductsProvider = (url = DEFAULT_AVAILABLE_PRODUCTS_ENDPOINT) => {\n return createProviderWithCustomFetchData('availableProducts', defaultAvailableProductsFetch(url));\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 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 This has been renamed, please import `LogoProps` instead.\n */\n// eslint-disable-next-line @repo/internal/react/consistent-types-definitions\n\n/**\n * @deprecated This has been renamed, please import `defaultLogoParams` instead.\n */\nexport const DefaultProps = defaultLogoParams;","/* 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};","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 @repo/internal/styles/no-nested-styles\n '> svg': {\n height: '100%',\n fill: 'inherit'\n }\n});\nconst stopColorStyles = css({\n // eslint-disable-next-line @repo/internal/styles/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}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\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 = `bitbucketIcon-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Bitbucket icon__\n *\n * The Bitbucket icon without an accompanying wordmark.\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 BitbucketIcon = ({\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 svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\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}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\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 = `confluenceIcon-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Confluence icon__\n *\n * The Confluence icon without an accompanying wordmark.\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 ConfluenceIcon = ({\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 svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\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}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\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 = `jwmIcon-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Work Management icon__\n *\n * The Jira Work Management icon without an accompanying wordmark.\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 JiraWorkManagementIcon = ({\n appearance,\n label = 'Jira Work 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 svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\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}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\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 = `jiraSoftwareIcon-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira software icon__\n *\n * The Jira Software icon without an accompanying wordmark.\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 JiraSoftwareIcon = ({\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 svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\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 size,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\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 = `jsmIcon-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Service Management icon__\n *\n * The Jira Service Management icon without an accompanying wordmark.\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 JiraServiceManagementIcon = ({\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 svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n label,\n size\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\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}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\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 = `compassIcon-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Compass icon__\n *\n * The Compass icon without an accompanying wordmark.\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 CompassIcon = ({\n appearance,\n label = 'Compass',\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 svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\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}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\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 = `atlassianIcon-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Atlassian icon__\n *\n * The Atlassian icon without an accompanying wordmark.\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 AtlassianIcon = ({\n appearance,\n label = 'Atlassian',\n size = defaultLogoParams.size,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor,\n testId\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n textColor: textColor,\n size: size,\n testId: testId\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 size,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\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 = `opsgenieIcon-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Opsgenie icon__\n *\n * The Opsgenie icon without an accompanying wordmark.\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 OpsgenieIcon = ({\n appearance,\n label = 'Opsgenie',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n svg: svg({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n label: label,\n size: size,\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}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\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 = `statuspageIcon-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Statuspage icon__\n *\n * The Statuspage icon without an accompanying wordmark.\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 StatuspageIcon = ({\n appearance,\n label = 'Statuspage',\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 svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\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}) => {\n let colors = {\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 if (appearance) {\n colors = getColorsFromAppearance(appearance);\n id = `trelloIcon-${appearance}`;\n }\n return `\n\n \n \n \n \n \n \n \n\n`;\n};\n\n/**\n * __Trello logo__\n *\n * The Trello icon without an accompanying wordmark.\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 TrelloIcon = ({\n appearance,\n label = 'Trello',\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 svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","import React from 'react';\nimport { createProviderWithCustomFetchData } from './create-data-provider';\nimport { createIcon, createRemoteIcon, createThemedImageIcon } from '../utils/icon-themes';\nimport { fetchJsonWithNetworkRetries } from '../utils/fetch';\nimport { AtlassianIcon, BitbucketIcon, CompassIcon, ConfluenceIcon, JiraServiceManagementIcon, JiraSoftwareIcon, JiraWorkManagementIcon, OpsgenieIcon, StatuspageIcon, TrelloIcon } from '@atlaskit/logo';\nimport messages from '../utils/messages';\nimport { FormattedMessage } from '../../ui/primitives';\nexport const PRODUCT_CONFIGURATION_MAP = {\n BITBUCKET: {\n label: 'Bitbucket',\n key: 'bitbucket',\n Icon: createIcon(BitbucketIcon, {\n size: 'small'\n }),\n href: '/dashboard/overview',\n ordinal: 6\n },\n CONFLUENCE: {\n label: 'Confluence',\n key: 'confluence.ondemand',\n Icon: createIcon(ConfluenceIcon, {\n size: 'small'\n }),\n href: '/wiki',\n ordinal: 3,\n description: /*#__PURE__*/React.createElement(FormattedMessage, messages.productDescriptionConfluence)\n },\n JIRA_BUSINESS: {\n label: 'Jira Core',\n key: 'jira-core.ondemand',\n Icon: createIcon(JiraWorkManagementIcon, {\n size: 'small'\n }),\n href: '/secure/BrowseProjects.jspa?selectedProjectType=business',\n ordinal: 2\n },\n JIRA_WORK_MANAGEMENT: {\n label: 'Jira Work Management',\n key: 'jira-core.ondemand',\n Icon: createIcon(JiraWorkManagementIcon, {\n size: 'small'\n }),\n href: '/secure/BrowseProjects.jspa?selectedProjectType=business',\n ordinal: 2\n },\n JIRA_SOFTWARE: {\n label: 'Jira Software',\n key: 'jira-software.ondemand',\n Icon: createIcon(JiraSoftwareIcon, {\n size: 'small'\n }),\n href: '/secure/BrowseProjects.jspa?selectedProjectType=software',\n ordinal: 0,\n description: /*#__PURE__*/React.createElement(FormattedMessage, messages.productDescriptionJiraSoftware)\n },\n JIRA_SERVICE_DESK: {\n label: 'Jira Service Management',\n key: 'jira-servicedesk.ondemand',\n Icon: createIcon(JiraServiceManagementIcon, {\n size: 'small'\n }),\n href: '/secure/BrowseProjects.jspa?selectedProjectType=service_desk',\n ordinal: 1,\n description: /*#__PURE__*/React.createElement(FormattedMessage, messages.productDescriptionJiraServiceManagement)\n },\n COMPASS: {\n label: 'Compass',\n key: 'compass',\n Icon: createIcon(CompassIcon, {\n size: 'small'\n }),\n href: '/compass',\n ordinal: 4,\n description: /*#__PURE__*/React.createElement(FormattedMessage, messages.productDescriptionCompass)\n },\n TEAM_CENTRAL: {\n label: 'Team Central (Beta)',\n key: 'townsquare',\n Icon: createIcon(AtlassianIcon, {\n size: 'small'\n }),\n href: 'https://team.atlassian.com',\n ordinal: 9\n },\n AVOCADO: {\n label: 'Avocado',\n key: 'avocado',\n Icon: createIcon(AtlassianIcon, {\n size: 'small'\n }),\n href: '',\n ordinal: 10\n },\n OPSGENIE: {\n label: 'Opsgenie',\n key: 'opsgenie',\n Icon: createIcon(OpsgenieIcon, {\n size: 'small'\n }),\n href: 'https://app.opsgenie.com',\n ordinal: 5,\n description: /*#__PURE__*/React.createElement(FormattedMessage, messages.productDescriptionOpsgenie)\n },\n STATUSPAGE: {\n label: 'Statuspage',\n key: 'statuspage',\n Icon: createIcon(StatuspageIcon, {\n size: 'small'\n }),\n href: 'https://statuspage.io',\n ordinal: 7\n },\n TRELLO: {\n label: 'Trello',\n key: 'trello',\n Icon: createIcon(TrelloIcon, {\n size: 'small'\n }),\n href: 'https://trello.com',\n ordinal: 8\n }\n};\n\nconst defaultResponse = () => {\n return Promise.resolve({\n products: PRODUCT_CONFIGURATION_MAP,\n links: {}\n });\n};\n\nconst formatLabel = label => {\n return typeof label === 'string' ? label : /*#__PURE__*/React.createElement(FormattedMessage, label);\n};\n\nconst formatDescription = description => {\n return typeof description === 'string' ? description : description ? /*#__PURE__*/React.createElement(FormattedMessage, description) : null;\n};\n\nexport const DEFAULT_PRODUCT_CONFIGURATION_ENDPOINT = '/gateway/api/available-products/api/product-configuration';\nexport const createProductConfigurationProvider = ({\n url = DEFAULT_PRODUCT_CONFIGURATION_ENDPOINT,\n useRemoteProductConfiguration\n}) => {\n return createProviderWithCustomFetchData('productConfiguration', async () => {\n if (useRemoteProductConfiguration) {\n const response = await fetchJsonWithNetworkRetries(url, {\n intervalsMS: [50, 200, 1000]\n });\n return {\n links: Object.entries(response.links).reduce((acc, [key, link]) => {\n return { ...acc,\n [key]: { ...link,\n label: formatLabel(link.label),\n description: formatDescription(link.description),\n Icon: createRemoteIcon(link.iconUrl, {\n primaryColor: 'white'\n })\n }\n };\n }, {}),\n products: Object.entries(response.products).reduce((acc, [key, product]) => {\n return { ...acc,\n [key]: { ...product,\n label: formatLabel(product.label),\n description: formatDescription(product.description),\n Icon: createThemedImageIcon({\n default: product.icons.blue,\n product: product.icons.white\n })\n }\n };\n }, {})\n };\n }\n\n return defaultResponse();\n });\n};","const INFINITY = '+Inf';\nexport const ImageLoadTrackerBuckets = [4000, 2000, 1000, 500, 100, 50];\nexport const RenderTrackerBuckets = [4000, 2000, 1000, 500]; // Group load times in to buckets for metric cardinality\n\nexport const getMetricBucket = (metricValue, buckets) => {\n return metricValue >= 0 ? buckets.reduce((lowestBucket, currentBucket) => {\n return metricValue <= currentBucket ? currentBucket.toString() : lowestBucket.toString();\n }, INFINITY) : null;\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport { NavigationAnalyticsContext } from '@atlaskit/analytics-namespaced-context';\nimport { createAndFireEvent, withAnalyticsEvents, useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { UI_EVENT_TYPE, OPERATIONAL_EVENT_TYPE } from '@atlaskit/analytics-gas-types';\nimport { hasLoaded, Status } from '../../providers/as-data-provider';\nimport { UserSiteDataError } from '../errors/user-site-data-error';\nimport { getMetricBucket, RenderTrackerBuckets, ImageLoadTrackerBuckets } from '../get-metric-bucket';\nimport { performanceNow } from '../performance-now';\nexport const NAVIGATION_CHANNEL = 'navigation';\nexport const SWITCHER_SUBJECT = 'atlassianSwitcher';\nexport const SWITCHER_ITEM_SUBJECT = 'atlassianSwitcherItem';\nexport const SWITCHER_CHILD_ITEM_SUBJECT = 'atlassianSwitcherChildItem';\nexport const SWITCHER_ITEM_EXPAND_SUBJECT = 'atlassianSwitcherItemExpand';\nexport const SWITCHER_COMPONENT = 'atlassianSwitcher';\nexport const SWITCHER_SOURCE = 'atlassianSwitcher';\nexport const TRIGGER_COMPONENT = 'atlassianSwitcherPrefetch';\nexport const TRIGGER_SUBJECT = 'atlassianSwitcherPrefetch';\nexport const SWITCHER_TRELLO_SIGN_UP_TO_JOIN_SUBJECT = 'atlassianSwitcherTrelloSignUpToJoin';\nexport const SWITCHER_TRELLO_HAS_NEW_FRIENDS_SUBJECT = 'atlassianSwitcherTrelloHasNewFriends';\nexport const SWITCHER_TRELLO_HAS_NEW_FRIENDS_DISMISS_SUBJECT = 'atlassianSwitcherTrelloHasNewFriendsDismiss';\nexport const SWITCHER_PARTIAL_RESULTS = 'atlassianSwitcherPartialResultError';\nexport const SWITCHER_JOINABLE_SITES = 'atlassianSwitcherJoinableSites';\nexport const SWITCHER_AVAILABLE_PRODUCTS = 'atlassianSwitcherAvailableProducts';\nconst SWITCHER_DISCOVER_SECTION = 'atlassianSwitcherDiscoverMore';\nconst SWITCHER_RECENT_CONTAINERS = 'atlassianSwitcherRecentContainers';\nconst SWITCHER_CUSTOM_LINKS = 'atlassianSwitcherCustomLinks';\nconst SWITCHER_REMOTE_ICON = 'atlassianSwitcherRemoteIcon';\nconst RENDERED_ACTION = 'rendered';\nconst NOT_RENDERED_ACTION = 'not_rendered';\nconst VIEWED_ACTION = 'viewed';\nconst LOADED_ACTION = 'loaded';\nconst NOT_LOADED_ACTION = 'not_loaded';\nexport const createAndFireNavigationEvent = createAndFireEvent(NAVIGATION_CHANNEL);\nexport const analyticsAttributes = attributes => ({\n attributes\n});\nexport const withAnalyticsContextData = function (mapPropsToContext) {\n return function (WrappedComponent) {\n return props => /*#__PURE__*/React.createElement(NavigationAnalyticsContext, {\n data: mapPropsToContext(props)\n }, /*#__PURE__*/React.createElement(WrappedComponent, props));\n };\n};\n\nconst isValidDuration = duration => {\n return duration !== null && duration !== undefined && duration >= 0;\n};\n\nexport const RenderTracker = withAnalyticsEvents({\n onRender: (createAnalyticsEvent, props) => {\n var _props$data;\n\n const duration = (_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.duration;\n return createAnalyticsEvent({\n eventType: OPERATIONAL_EVENT_TYPE,\n action: RENDERED_ACTION,\n actionSubject: props.subject,\n attributes: { ...props.data,\n ...(isValidDuration(duration) && {\n bucket: getMetricBucket(duration, RenderTrackerBuckets)\n })\n }\n }).fire(NAVIGATION_CHANNEL);\n }\n})(class extends React.Component {\n componentDidMount() {\n this.props.onRender();\n }\n\n render() {\n return null;\n }\n\n});\nexport const NotRenderedTracker = withAnalyticsEvents({\n onRender: (createAnalyticsEvent, props) => {\n return createAnalyticsEvent({\n eventType: OPERATIONAL_EVENT_TYPE,\n action: NOT_RENDERED_ACTION,\n actionSubject: props.subject,\n attributes: props.data\n }).fire(NAVIGATION_CHANNEL);\n }\n})(class extends React.Component {\n componentDidMount() {\n this.props.onRender();\n }\n\n render() {\n return null;\n }\n\n});\nexport const ViewedTracker = withAnalyticsEvents({\n onRender: (createAnalyticsEvent, props) => {\n return createAnalyticsEvent({\n eventType: UI_EVENT_TYPE,\n action: VIEWED_ACTION,\n actionSubject: props.subject,\n attributes: props.data\n }).fire(NAVIGATION_CHANNEL);\n }\n})(class extends React.Component {\n componentDidMount() {\n this.props.onRender();\n }\n\n render() {\n return null;\n }\n\n});\nexport const ImageLoadedTracker = props => {\n const {\n onLoad,\n onError,\n ...imgProps\n } = props;\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n const imageMountedAt = React.useRef(performanceNow());\n const analyticsHandler = React.useCallback((actionType, event, action) => {\n const duration = performanceNow() - imageMountedAt.current;\n createAnalyticsEvent({\n action: actionType,\n actionSubject: SWITCHER_REMOTE_ICON,\n attributes: { ...(isValidDuration(duration) && {\n bucket: getMetricBucket(duration, ImageLoadTrackerBuckets),\n duration\n }),\n src: imgProps.src\n },\n eventType: OPERATIONAL_EVENT_TYPE\n }).fire(NAVIGATION_CHANNEL);\n\n if (action) {\n action(event);\n }\n }, [createAnalyticsEvent, imageMountedAt, imgProps.src]);\n const onErrorAnalyticsHandler = React.useCallback(errorEvent => {\n analyticsHandler(NOT_LOADED_ACTION, errorEvent, onError);\n }, [analyticsHandler, onError]);\n const onLoadAnalyticsHandler = React.useCallback(loadEvent => {\n analyticsHandler(LOADED_ACTION, loadEvent, onLoad);\n }, [analyticsHandler, onLoad]);\n return /*#__PURE__*/React.createElement(\"img\", _extends({}, imgProps, {\n onError: onErrorAnalyticsHandler,\n onLoad: onLoadAnalyticsHandler\n }));\n};\n\nconst renderTrackerWithReason = ({\n subject,\n notRenderedReason,\n emptyRenderExpected,\n data\n}) => {\n if (notRenderedReason) {\n return /*#__PURE__*/React.createElement(NotRenderedTracker, {\n subject: subject,\n data: { ...data,\n notRenderedReason\n }\n });\n }\n\n return /*#__PURE__*/React.createElement(RenderTracker, {\n subject: subject,\n data: { ...data,\n emptyRender: emptyRenderExpected\n }\n });\n};\n\nconst renderTracker = ({\n subject,\n providerFailed,\n emptyRenderExpected,\n linksRendered,\n data\n}) => {\n if (providerFailed || linksRendered.length === 0 && !emptyRenderExpected) {\n return /*#__PURE__*/React.createElement(NotRenderedTracker, {\n subject: subject,\n data: { ...data,\n providerFailed\n }\n });\n }\n\n return /*#__PURE__*/React.createElement(RenderTracker, {\n subject: subject,\n data: { ...data,\n emptyRender: emptyRenderExpected\n }\n });\n};\n\nexport const getJoinableSitesRenderTracker = (providerResult, joinableSiteLinks, data) => {\n if (!hasLoaded(providerResult)) {\n return null;\n }\n\n if (providerResult.data && !providerResult.data.sites) {\n return null;\n } // The render is considered failed when either the provider failed, or the provider returned a non-empty result but nothing was rendered\n\n\n const emptyRenderExpected = Boolean(providerResult.data && providerResult.data.sites && providerResult.data.sites.length === 0);\n return renderTracker({\n subject: SWITCHER_JOINABLE_SITES,\n providerFailed: providerResult.data === null,\n emptyRenderExpected,\n linksRendered: joinableSiteLinks,\n data\n });\n};\nexport const getDiscoverSectionRenderTracker = (xflowProviderResult, provisionedProductsProviderResult, joinableSitesProviderResult, productRecommendationsProviderResult, suggestedProductLinks, data) => {\n const hasProviderNotReturnedExpectedData = provider => provider.data === null || provider.status === Status.ERROR;\n\n const collectResults = provider => ({\n failed: hasProviderNotReturnedExpectedData(provider),\n loaded: hasLoaded(provider)\n });\n\n const emptyRenderExpected = suggestedProductLinks.length === 0;\n const results = {\n xflow: collectResults(xflowProviderResult),\n provisionedProducts: collectResults(provisionedProductsProviderResult),\n joinableSites: collectResults(joinableSitesProviderResult),\n productRecommendations: collectResults(productRecommendationsProviderResult)\n };\n const providersLoaded = results.joinableSites.loaded && results.provisionedProducts.loaded && results.xflow.loaded && results.productRecommendations.loaded;\n\n if (!providersLoaded) {\n return null;\n }\n\n const didProviderFail = results.joinableSites.failed || results.provisionedProducts.failed || results.xflow.failed || results.productRecommendations.failed;\n /**\n * Stop tracking the SLO the moment one of the providers fail.\n */\n\n if (didProviderFail) {\n return renderTracker({\n subject: SWITCHER_DISCOVER_SECTION,\n providerFailed: true,\n emptyRenderExpected,\n linksRendered: suggestedProductLinks,\n data: { ...data,\n providerResults: {\n joinableSites: joinableSitesProviderResult.status,\n joinableSitesFailed: results.joinableSites.failed,\n provisionedProducts: provisionedProductsProviderResult.status,\n provisionedProductsFailed: results.provisionedProducts.failed,\n xflow: xflowProviderResult.status,\n xflowFailed: results.xflow.failed,\n productRecommendations: productRecommendationsProviderResult.status,\n productRecommendationsFailed: results.productRecommendations.failed\n }\n }\n });\n }\n\n return renderTracker({\n subject: SWITCHER_DISCOVER_SECTION,\n providerFailed: false,\n emptyRenderExpected,\n linksRendered: suggestedProductLinks,\n data\n });\n};\nexport const getRecentContainersRenderTracker = (isEnabled, cgRecentContainersProviderResult, userSiteDataProviderResult, recentLinks, data) => {\n if (!isEnabled) {\n return null;\n }\n\n const providerFailed = cgRecentContainersProviderResult.data === null || userSiteDataProviderResult.data === null;\n const emptyRenderExpected = Boolean(cgRecentContainersProviderResult.data && cgRecentContainersProviderResult.data.collaborationGraphEntities && cgRecentContainersProviderResult.data.collaborationGraphEntities.length === 0);\n return renderTracker({\n subject: SWITCHER_RECENT_CONTAINERS,\n providerFailed,\n emptyRenderExpected,\n linksRendered: recentLinks,\n data\n });\n};\nexport const getCustomLinksRenderTracker = (customLinksProviderResult, userSiteDataProviderResult, customLinks, data) => {\n // The render is only considered failed when one of the providers failed, and empty render is a valid case\n if (!customLinksProviderResult) {\n return;\n }\n\n const emptyRenderExpected = customLinks.length === 0;\n\n function getNotRenderedReason() {\n if ((customLinksProviderResult === null || customLinksProviderResult === void 0 ? void 0 : customLinksProviderResult.status) === Status.ERROR) {\n return 'custom_links_api_error';\n }\n\n const error = userSiteDataProviderResult.error;\n\n if (!error) {\n return null;\n }\n\n if (error instanceof UserSiteDataError) {\n return error.reason;\n } else {\n return 'usd_unknown';\n }\n }\n\n const notRenderedReason = getNotRenderedReason();\n return renderTrackerWithReason({\n subject: SWITCHER_CUSTOM_LINKS,\n notRenderedReason,\n emptyRenderExpected,\n data\n });\n};\n/**\n *\n * ***IMPORTANT*** DO NOT send PD / PII or any sensitive data.\n * This function defines analytic event attributes.\n *\n * @param groupIndex\n * @param id\n * @param type\n * @param productType\n * @param extraAttributes\n */\n\nexport const getItemAnalyticsContext = (groupIndex, id, type, productType, extraAttributes) => ({ ...analyticsAttributes({\n groupIndex,\n itemId: id,\n itemType: type,\n productType,\n ...extraAttributes\n })\n});\nexport { withAnalyticsEvents, NavigationAnalyticsContext, OPERATIONAL_EVENT_TYPE, UI_EVENT_TYPE };","export default (channel => payload => createAnalyticsEvent => {\n const consumerEvent = createAnalyticsEvent(payload);\n const clonedEvent = consumerEvent.clone();\n\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n\n return consumerEvent;\n});","export function errorToReason(error) {\n const {\n name = 'Unknown',\n status = undefined\n } = error || {};\n return {\n name,\n status\n };\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const FETCH_ERROR_NAME = 'FetchError';\nexport class FetchError extends Error {\n constructor(message, status) {\n super(message);\n\n _defineProperty(this, \"name\", FETCH_ERROR_NAME);\n\n this.status = status;\n }\n\n static isFetchError(value) {\n if (process.env.NODE_ENV === 'testing') {\n // jest messes up globals badly, see https://github.com/facebook/jest/issues/2549\n // once that issue is fixed, the usages of this function can be inlined to `error instanceof BadStatusError`\n return (value === null || value === void 0 ? void 0 : value.name) === FETCH_ERROR_NAME;\n }\n\n return value instanceof FetchError;\n }\n\n}","export let UserSiteDataErrorReason;\n\n(function (UserSiteDataErrorReason) {\n UserSiteDataErrorReason[\"APS_NO_SITE_MATCH\"] = \"aps_no_site_match\";\n UserSiteDataErrorReason[\"APS_EMPTY_RESULT\"] = \"aps_empty_result\";\n UserSiteDataErrorReason[\"APS_PARTIAL_EMPTY_RESULT\"] = \"aps_partial_response_empty_result\";\n})(UserSiteDataErrorReason || (UserSiteDataErrorReason = {}));\n\nexport class UserSiteDataError extends Error {\n constructor(reason, message) {\n super(message);\n this.name = 'UserSiteDataError';\n this.reason = reason;\n }\n\n}","import { FetchError } from './errors/fetch-error';\nimport { retryOnException } from './retry-operation';\n\nconst extraJsonFromResponse = response => {\n if (response.ok) {\n return response.json();\n }\n\n throw new FetchError(`Unable to fetch ${response.url} ${response.status} ${response.statusText}`, response.status);\n};\n\nexport const fetchJson = (url, init) => fetch(url, {\n credentials: 'include',\n ...init\n}).then(extraJsonFromResponse);\nexport const fetchJsonWithNetworkRetries = (url, retryConfig, init) => {\n return retryOnException(() => fetch(url, {\n credentials: 'include',\n ...init\n }), retryConfig).then(extraJsonFromResponse);\n};\nexport const postJson = (url, data) => fetchJson(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(data)\n});","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport { DN40A, DN50A, DN60A, N40A, N50A, N60A } from './colors';\nimport themed from './utils/themed';\n\n// Cards on a board\nexport const e100 = themed({\n light: `box-shadow: ${`var(--ds-shadow-raised, ${`0 1px 1px ${N50A}, 0 0 1px 1px ${N40A}`})`};`,\n dark: `box-shadow: ${`var(--ds-shadow-raised, ${`0 1px 1px ${DN50A}, 0 0 1px 1px ${DN40A}`})`};`\n});\n\n// Inline dialogs\nexport const e200 = themed({\n light: `box-shadow: ${`var(--ds-shadow-overlay, ${`0 4px 8px -2px ${N50A}, 0 0 1px ${N60A}`})`};`,\n dark: `box-shadow: ${`var(--ds-shadow-overlay, ${`0 4px 8px -2px ${DN50A}, 0 0 1px ${DN60A}`})`};`\n});\n\n// Modals\nexport const e300 = themed({\n light: `box-shadow: ${`var(--ds-shadow-overlay, ${`0 8px 16px -4px ${N50A}, 0 0 1px ${N60A}`})`};`,\n dark: `box-shadow: ${`var(--ds-shadow-overlay, ${`0 8px 16px -4px ${DN50A}, 0 0 1px ${DN60A}`})`};`\n});\n\n// Panels\nexport const e400 = themed({\n light: `box-shadow: ${`var(--ds-shadow-overlay, ${`0 12px 24px -6px ${N50A}, 0 0 1px ${N60A}`})`};`,\n dark: `box-shadow: ${`var(--ds-shadow-overlay, ${`0 12px 24px -6px ${DN50A}, 0 0 1px ${DN60A}`})`};`\n});\n\n// Flag messages (notifications)\nexport const e500 = themed({\n light: `box-shadow: ${`var(--ds-shadow-overlay, ${`0 20px 32px -8px ${N50A}, 0 0 1px ${N60A}`})`};`,\n dark: `box-shadow: ${`var(--ds-shadow-overlay, ${`0 20px 32px -8px ${DN50A}, 0 0 1px ${DN60A}`})`};`\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport styled from 'styled-components'; // AFP-2532 TODO: Fix automatic suppressions below\n// eslint-disable-next-line @atlassian/tangerine/import/entry-points\n\nimport { colors, elevation, gridSize } from '@atlaskit/theme';\nimport BaseAtlaskitIcon from '@atlaskit/icon';\nimport { ImageLoadedTracker } from './analytics';\nexport const IconBase = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${4 * gridSize()}px;\n height: ${4 * gridSize()}px;\n border-radius: ${gridSize()}px;\n ${({\n iconElevation\n}) => iconElevation ? iconElevation : ''};\n background-color: ${({\n bgColor\n}) => bgColor};\n overflow: hidden;\n`;\nconst ImageIconBase = styled(ImageLoadedTracker)`\n width: ${gridSize() * 3}px;\n height: ${gridSize() * 3}px;\n`;\nexport const themes = {\n default: {\n backgroundColor: '#fff',\n primaryColor: '#000',\n iconElevation: elevation.e100\n },\n product: {\n iconColor: colors.N0,\n backgroundColor: colors.B400,\n primaryColor: colors.N0,\n iconElevation: elevation.e100\n },\n admin: {\n backgroundColor: colors.DN70,\n primaryColor: colors.N0,\n iconElevation: elevation.e100\n },\n custom: {\n backgroundColor: colors.N0,\n primaryColor: colors.DN70,\n iconElevation: elevation.e100\n },\n subtle: {\n backgroundColor: 'transparent',\n primaryColor: colors.text\n },\n recommendedProduct: {\n backgroundColor: colors.N30,\n iconColor: colors.B200,\n iconGradientStart: colors.B400,\n iconGradientStop: colors.B200,\n iconElevation: elevation.e100\n },\n recentLinks: {\n backgroundColor: '#fff',\n primaryColor: '#000'\n },\n discover: {\n backgroundColor: colors.N30,\n primaryColor: colors.DN90,\n iconElevation: elevation.e100\n }\n};\nexport const createIcon = (InnerIcon, defaultProps) => props => {\n const {\n backgroundColor,\n iconElevation,\n ...iconProps\n } = themes[props.theme] || themes.default;\n return /*#__PURE__*/React.createElement(IconBase, {\n bgColor: backgroundColor,\n iconElevation: iconElevation\n }, /*#__PURE__*/React.createElement(InnerIcon, _extends({}, defaultProps, iconProps)));\n};\nexport const createImageIcon = url => props => {\n const {\n backgroundColor,\n iconElevation\n } = themes[props.theme] || themes.default;\n return /*#__PURE__*/React.createElement(IconBase, {\n bgColor: backgroundColor,\n iconElevation: iconElevation\n }, /*#__PURE__*/React.createElement(ImageIconBase, {\n src: url\n }));\n};\nexport const createThemedImageIcon = iconUrlsByTheme => props => {\n const iconUrl = iconUrlsByTheme[props.theme] || iconUrlsByTheme.default;\n const ImageIcon = React.useMemo(() => createImageIcon(iconUrl), [iconUrl]);\n return /*#__PURE__*/React.createElement(ImageIcon, props);\n};\n/**\n * Due to remote SVG's downloading through fetch, there is a delay between when the network request starts and when they are rendered.\n * This causes them to disappear each time Switcher is mounted.\n * Adding this cache means that we can store the SVG content between mounts and not need to worry about re-fetching the content.\n */\n\nconst svgCache = {};\n\nconst RemoteIcon = props => {\n const {\n url,\n ...svgProps\n } = props;\n const [svg, setSvg] = React.useState(svgCache[url]);\n React.useEffect(() => {\n if (!svgCache[url]) {\n fetch(url).then(res => res.text()).then(content => {\n setSvg(content);\n svgCache[url] = content;\n });\n }\n }, [url]);\n\n const BaseIcon = iconProps => /*#__PURE__*/React.createElement(BaseAtlaskitIcon, _extends({}, iconProps, {\n label: \"Settings\",\n dangerouslySetGlyph: svg\n }));\n\n const Icon = createIcon(BaseIcon);\n return /*#__PURE__*/React.createElement(Icon, svgProps);\n};\n\nexport const createRemoteIcon = (url, svgProps) => props => {\n return /*#__PURE__*/React.createElement(RemoteIcon, _extends({\n url: url\n }, svgProps, props));\n};","import React from 'react';\nimport { defineMessages } from 'react-intl';\nimport FormattedMessage from '../../ui/primitives/formatted-message';\nimport IntlProvider from '../../ui/components/intl-provider';\nconst messages = defineMessages({\n atlassianStart: {\n id: 'fabric.atlassianSwitcher.start',\n defaultMessage: 'Atlassian Start',\n description: 'The text of a link redirecting the user to the Start site'\n },\n switchTo: {\n id: 'fabric.atlassianSwitcher.switchTo',\n defaultMessage: 'Switch to',\n description: 'In a context in which users are able to switch between products, this text is the title of the category displaying the products the user is able to switch to.'\n },\n switchToTooltip: {\n id: 'fabric.atlassianSwitcher.switchToTooltip',\n defaultMessage: 'Switch to…',\n description: 'This text appears as a tooltip when a user hovers over the atlassian switcher icon before clicking on it.'\n },\n recent: {\n id: 'fabric.atlassianSwitcher.recent',\n defaultMessage: 'Recent',\n description: \"In a context in which users are able to view recent projects or spaces they've viewed, this text is the title of the section displaying all the recent projects or spaces.\"\n },\n more: {\n id: 'fabric.atlassianSwitcher.more',\n defaultMessage: 'More',\n description: 'In a context in which users are able to view predefined custom links, this text is the title of the section displaying all existing custom links.'\n },\n try: {\n id: 'fabric.atlassianSwitcher.try',\n defaultMessage: 'Try',\n description: 'This text appears as a way to encourage the user to try a new Atlassian product.'\n },\n manageList: {\n id: 'fabric.atlassianSwitcher.manageList',\n defaultMessage: 'Manage list',\n description: 'This text is for the action for a user to manage the values present in an editable list of links.'\n },\n jiraProject: {\n id: 'fabric.atlassianSwitcher.jiraProject',\n defaultMessage: 'Jira project',\n description: 'In a context in which several items are listed , this text describes that the specific type of a given item is a Jira project'\n },\n confluenceSpace: {\n id: 'fabric.atlassianSwitcher.confluenceSpace',\n defaultMessage: 'Confluence space',\n description: 'In a context in which several items are listed , this text describes that the specific type of a given item is a Confluence space'\n },\n administration: {\n id: 'fabric.atlassianSwitcher.administration',\n defaultMessage: 'Administration',\n description: 'The text of a link redirecting the user to the site administration'\n },\n moreAtlassianProductsLink: {\n id: 'fabric.atlassianSwitcher.moreAtlassianProducts',\n defaultMessage: 'More Atlassian products',\n description: 'The text of a link redirecting the user to Discover More Atlassian products'\n },\n slackIntegrationLink: {\n id: 'fabric.atlassianSwitcher.slackIntegrationLink',\n defaultMessage: 'Slack',\n description: 'The text of a link which opens the Slack Authentication popup'\n },\n slackIntegrationLinkDescription: {\n id: 'fabric.atlassianSwitcher.slackIntegrationLinkDescription',\n defaultMessage: 'Integrate Slack with your Atlassian products',\n description: 'The description of a link which opens the Slack Authentication popup'\n },\n browseApps: {\n id: 'fabric.atlassianSwitcher.browseApps',\n defaultMessage: 'Browse Marketplace apps',\n description: 'The text of a link redirecting the user to Discover Embedded Marketplace within in the product (Marketplace is a brand name. Please dont translate it)'\n },\n errorEmptyPartialResults: {\n id: 'fabric.atlassianSwitcher.errorEmptyPartialResults',\n defaultMessage: \"We can't display your products right now.\",\n description: 'Heading of the error message when available products returns a partial result and no sites'\n },\n errorHeading: {\n id: 'fabric.atlassianSwitcher.errorHeading',\n defaultMessage: 'Something’s gone wrong',\n description: 'Heading of the error screen which is shown when an unknown error happens in the Atlassian Switcher. Usually due to failed network requests.'\n },\n errorText: {\n id: 'fabric.atlassianSwitcher.errorText',\n defaultMessage: 'We keep track of these errors, but feel free to contact us if refreshing doesn’t fix things',\n description: 'Text that is displayed when an unknown error happens in the Atlassian Switcher.'\n },\n errorImageAltText: {\n id: 'fabric.atlassianSwitcher.errorImageAltText',\n defaultMessage: 'A broken robot and a number of people busy fixing it.',\n description: 'Text displayed as alt text when an error occurs in the Atlassian Switcher'\n },\n errorTextNetwork: {\n id: 'fabric.atlassianSwitcher.errorTextNetwork',\n defaultMessage: 'We couldn’t load this list. Please reload the page and try again.',\n description: 'Text that is displayed when we detect a network issue.'\n },\n errorHeadingLoggedOut: {\n id: 'fabric.atlassianSwitcher.errorHeadingLoggedOut',\n defaultMessage: 'Your Atlassian account is logged out',\n description: 'Heading of the error screen which is shown when an unknown error happens in the Atlassian Switcher. Usually due to failed network requests.'\n },\n errorTextLoggedOut: {\n id: 'fabric.atlassianSwitcher.errorTextLoggedOut',\n defaultMessage: 'Log in again to use the Atlassian\\u00A0switcher.',\n description: 'Text that is displayed when we detect user is logged out.'\n },\n errorHeadingUnverified: {\n id: 'fabric.atlassianSwitcher.errorHeadingUnverified',\n defaultMessage: 'Your account is unverified',\n description: 'Heading that is displayed when we detect user account is unverified.'\n },\n errorPartialResults: {\n id: 'fabric.atlassianSwitcher.errorPartialResults',\n defaultMessage: \"We can't display some of your products right now.\",\n description: 'Heading of the error message when available products returns a partial result and 1 or more sites'\n },\n errorPartialResultsRefresh: {\n id: 'fabric.atlassianSwitcher.errorPartialResultsRefresh',\n defaultMessage: 'Refresh the page, or try again later.',\n description: 'Subtitle of the error message when available products returns a partial result'\n },\n errorTextUnverified: {\n id: 'fabric.atlassianSwitcher.errorTextUnverified',\n defaultMessage: 'Please confirm your email address to view a list of available products.',\n description: 'Text that is displayed when we detect user account is unverified.'\n },\n login: {\n id: 'fabric.atlassianSwitcher.login',\n defaultMessage: 'Log in',\n description: 'Text in log in button.'\n },\n showMoreSites: {\n id: 'fabric.atlassianSwitcher.show.more.sites',\n defaultMessage: 'Show more sites',\n description: 'The text of a toggle showing more site options'\n },\n discover: {\n id: 'fabric.atlassianSwitcher.discover',\n defaultMessage: 'Discover',\n description: 'The header of \"Discover\" section'\n },\n productDescriptionConfluence: {\n id: 'fabric.atlassianSwitcher.product.description.confluence',\n defaultMessage: 'Document collaboration',\n description: 'Text displayed under the Confluence product recommendation.'\n },\n productDescriptionJiraServiceManagement: {\n id: 'fabric.atlassianSwitcher.product.description.jsm',\n defaultMessage: 'Collaborative IT service management',\n description: 'Text displayed under the Jira Service Management product recommendation.'\n },\n productDescriptionJiraSoftware: {\n id: 'fabric.atlassianSwitcher.product.description.jsw',\n defaultMessage: 'Project and issue tracking',\n description: 'Text displayed under the Jira Software product recommendation.'\n },\n productDescriptionOpsgenie: {\n id: 'fabric.atlassianSwitcher.product.description.opsgenie',\n defaultMessage: 'Modern incident management',\n description: 'Text displayed under the Opsgenie product recommendation.'\n },\n productDescriptionCompass: {\n id: 'fabric.atlassianSwitcher.product.description.compass',\n defaultMessage: 'Component manager',\n description: 'Text displayed under the Compass product recommendation.'\n },\n join: {\n id: 'fabric.atlassianSwitcher.join',\n defaultMessage: 'Join',\n description: 'Section Header in Atlassian Switcher. To set the expectation of what items would be shown in following section. Shown when an user has at least one joinable site via Domain Enabled Sign up with common collaborators.'\n },\n signUpToJoinHeader: {\n id: 'fabric.atlassianSwitcher.sign.up.to.join.header',\n defaultMessage: 'Join {productLabel}',\n description: 'Header of the Sign up to join banner.'\n },\n signUpToJoinBody: {\n id: 'fabric.atlassianSwitcher.sign.up.to.join.body',\n defaultMessage: 'To join {productLabel}, use your email address {email} to create an Atlassian account or log in if you already have one.',\n description: 'Text in the body of the Sign up to join banner. Gives the user context on what is going to happen when they try to join a site.'\n },\n signUpToJoinCTA: {\n id: 'fabric.atlassianSwitcher.sign.up.to.join.cta',\n defaultMessage: 'Join with your email',\n description: 'Text in the call to action button in the Sign up to join banner.'\n },\n signUpToJoinImageAltText: {\n id: 'fabric.atlassianSwitcher.sign.up.to.join.image',\n defaultMessage: 'A team looking at multiple holographic screens',\n description: 'An image of a team looking at multiple holographic screens.'\n },\n trelloHasNewFriendsHeading: {\n id: 'fabric.atlassianSwitcher.trello.has.new.freinds.heading',\n defaultMessage: 'Trello has some new friends',\n description: 'Heading of the Trello has new friends banner.'\n },\n trelloHasNewFriendsBody: {\n id: 'fabric.atlassianSwitcher.trello.has.new.freinds.body',\n defaultMessage: 'You can now quickly find other Atlassian products right here in Trello. If you decide to try one, we’ll help you get set up with your Atlassian account.',\n description: 'Body of the Trello has new friends banner.'\n },\n trelloHasNewFriendsDismiss: {\n id: 'fabric.atlassianSwitcher.trello.has.new.freinds.dismiss',\n defaultMessage: 'Got it!',\n description: 'Text in the button used to dismiss the Trello has new friends banner.'\n }\n});\nexport const SwitchToTooltipText = /*#__PURE__*/React.createElement(IntlProvider, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.switchToTooltip));\nexport default messages;","export const performanceNow = typeof window !== 'undefined' && window.performance && window.performance.now.bind(performance) || Date.now;","export const wait = ms => new Promise(resolve => {\n setTimeout(resolve, ms);\n});\nexport const retryOnException = async (invokeOperation, config) => {\n let nextMSInterval = 0;\n let error = new Error('No calls made');\n const retries = config.intervalsMS.length;\n\n while (nextMSInterval !== undefined) {\n try {\n if (nextMSInterval > 0) {\n await wait(nextMSInterval);\n\n if (config.onRetry) {\n config.onRetry(error, retries - config.intervalsMS.length);\n }\n }\n\n return await invokeOperation();\n } catch (e) {\n error = e;\n\n if (config.shouldRetryOnException && !config.shouldRetryOnException(error)) {\n throw error;\n }\n\n nextMSInterval = config.intervalsMS.shift();\n }\n }\n\n throw error;\n};","export const RELEASE_RESOLVED_PROMISE_DELAY = 5000;\n\nconst isPromise = p => {\n return typeof p.then === 'function' && typeof p.catch === 'function';\n};\n\n/**\n * withCached wraps a function and keeps track of in-flight promises:\n *\n * 1. First call will result to normal invocation. After promise is resolved\n * it will be removed from the promise-cache and store value into result-cache.\n *\n * 2. Second and subsequent calls will:\n * a) return unresolved promise if any\n * b) do a normal invocation otherwise\n *\n * 3. Provides methods to get `cached` value and `reset` caches\n */\nexport const withCached = fn => {\n const resultCache = new Map();\n const promiseCache = new Map();\n\n function getCacheKey(...args) {\n return JSON.stringify(args);\n }\n\n const cached = (...args) => {\n const cacheKey = getCacheKey(...args);\n return resultCache.get(cacheKey);\n };\n\n const reset = () => {\n resultCache.clear();\n promiseCache.clear();\n };\n\n const execute = (...args) => {\n const cacheKey = getCacheKey(...args);\n const cachedPromise = promiseCache.get(cacheKey);\n\n if (cachedPromise !== undefined) {\n return cachedPromise;\n }\n\n const maybePromise = fn(...args);\n promiseCache.set(cacheKey, maybePromise);\n\n if (isPromise(maybePromise)) {\n maybePromise.then(result => {\n resultCache.set(cacheKey, result);\n setTimeout(() => promiseCache.delete(cacheKey), RELEASE_RESOLVED_PROMISE_DELAY);\n }).catch(() => {\n promiseCache.delete(cacheKey);\n });\n }\n\n return maybePromise;\n };\n\n return Object.assign(execute, fn, {\n cached,\n reset\n });\n};","import { createProviderWithCustomFetchData } from '../../common/providers/create-data-provider';\nexport const fetchEmptyData = () => Promise.resolve({\n sites: undefined\n});\nexport const createJoinableSitesProvider = (fetchData = fetchEmptyData, retryConfig) => {\n return createProviderWithCustomFetchData('joinableSites', fetchData, retryConfig);\n};","import React from 'react';\nimport { IntlProvider, injectIntl } from 'react-intl';\nimport { Skeleton } from '../primitives';\n\nconst getCodesFromLocale = locale => {\n const match = /([a-z]*)[_-]?([A-Z]*)/i.exec(locale || '');\n\n if (!match) {\n throw Error('Unable to get language and country from invalid Locale');\n }\n\n const [, language, country] = match;\n return [language.toLowerCase(), country.toUpperCase()];\n};\n\nconst SwitcherIntlProvider = ({\n children,\n intl\n}) => {\n const [language, country] = getCodesFromLocale(intl.locale.toString());\n const [isLocaleLoaded, setIsLocaleLoaded] = React.useState(!language || !country && language === 'en' // this is the opposite of the effect below\n );\n const [messages, setMessages] = React.useState(undefined);\n React.useEffect(() => {\n if (language) {\n const loadLanguageWithoutCountry = () => {\n // 'en' is already preloaded\n if (language === 'en') {\n setIsLocaleLoaded(true);\n } else {\n import(\n /* webpackInclude: /\\.js$/ */\n\n /* webpackExclude: /index\\.js$/ */\n\n /* webpackChunkName: \"@ak-switcher-chunk-locale-[request]\" */\n `../../i18n/${language}`).then(m => {\n setMessages(m.default);\n }).finally(() => {\n setIsLocaleLoaded(true);\n });\n }\n };\n\n if (country) {\n import(\n /* webpackInclude: /\\.js$/ */\n\n /* webpackExclude: /index\\.js$/ */\n\n /* webpackChunkName: \"@ak-switcher-chunk-locale-[request]\" */\n `../../i18n/${language}_${country}`).then(m => {\n setMessages(m.default);\n setIsLocaleLoaded(true);\n }).catch(loadLanguageWithoutCountry);\n } else {\n loadLanguageWithoutCountry();\n }\n }\n }, [language, country]); // delay loading until we have attempted to load the locale data otherwise we can flick from English to the user's language\n\n if (!isLocaleLoaded) {\n return /*#__PURE__*/React.createElement(Skeleton, null);\n }\n\n return /*#__PURE__*/React.createElement(IntlProvider, {\n messages: messages\n }, children);\n};\n\nexport default injectIntl(SwitcherIntlProvider);","import Loadable from 'react-loadable';\nexport const loadAtlassianSwitcher = () => import(\n/* webpackChunkName: \"@ak-switcher-chunk-atlassian-switcher\" */\n'./atlassian-switcher');\nexport const loadJiraSwitcher = () => import(\n/* webpackChunkName: \"@ak-switcher-chunk-jira-switcher\" */\n'./jira-switcher');\nexport const loadConfluenceSwitcher = () => import(\n/* webpackChunkName: \"@ak-switcher-chunk-confluence-switcher\" */\n'./confluence-switcher');\nexport const loadGenericSwitcher = () => import(\n/* webpackChunkName: \"@ak-switcher-chunk-generic-switcher\" */\n'./generic-switcher');\nexport const loadTrelloSwitcher = () => import(\n/* webpackChunkName: \"@ak-switcher-chunk-trello-switcher\" */\n'./trello-switcher');\nexport const AtlassianSwitcherLoader = Loadable({\n loader: loadAtlassianSwitcher,\n loading: () => null\n});\nexport const JiraSwitcherLoader = Loadable({\n loader: loadJiraSwitcher,\n loading: () => null\n});\nexport const ConfluenceSwitcherLoader = Loadable({\n loader: loadConfluenceSwitcher,\n loading: () => null\n});\nexport const GenericSwitcherLoader = Loadable({\n loader: loadGenericSwitcher,\n loading: () => null\n});\nexport const TrelloSwitcherLoader = Loadable({\n loader: loadTrelloSwitcher,\n loading: () => null\n});","import styled, { keyframes } from 'styled-components';\nconst fadeIn = keyframes`\n to {\n opacity: 1;\n }\n`;\nexport const FadeIn = styled.div`\n animation: ${fadeIn} 500ms ease forwards;\n opacity: 0;\n`;","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nexport default (props => /*#__PURE__*/React.createElement(FormattedMessage, props, translatedString => translatedString));","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport AkItem from '@atlaskit/item';\nimport { FadeIn } from './fade-in';\nconst StyledItem = styled(AkItem)`\n align-items: flex-start !important;\n & > span > span {\n white-space: normal;\n }\n`;\nexport default class SwitcherItem extends React.Component {\n render() {\n const {\n icon,\n description,\n elemAfter,\n shouldAllowMultiline,\n ...rest\n } = this.props;\n const Item = shouldAllowMultiline ? StyledItem : AkItem;\n return /*#__PURE__*/React.createElement(FadeIn, null, /*#__PURE__*/React.createElement(Item, _extends({\n description: description,\n elemBefore: icon,\n elemAfter: elemAfter\n }, rest)));\n }\n\n}","import React from 'react'; // AFP-2532 TODO: Fix automatic suppressions below\n// eslint-disable-next-line @atlassian/tangerine/import/entry-points\n\nimport { gridSize, typography } from '@atlaskit/theme';\nimport styled from 'styled-components';\nimport { analyticsAttributes, withAnalyticsContextData } from '../../common/utils/analytics';\nimport { FadeIn } from './fade-in';\nconst SectionContainer = styled.section`\n padding: ${gridSize()}px 0;\n`;\nSectionContainer.displayName = 'SectionContainer';\nconst SectionTitle = styled.h1`\n ${typography.h100};\n text-transform: uppercase;\n margin-left: ${gridSize()}px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n ${({\n appearance\n}) => appearance === 'standalone' ? `margin-bottom: 4px;` : `margin-bottom: ${gridSize()}px;`};\n`;\nSectionTitle.displayName = 'SectionTitle';\n\nconst Section = props => {\n const {\n title,\n children,\n appearance,\n sectionId\n } = props;\n return React.Children.toArray(children).some(Boolean) ? /*#__PURE__*/React.createElement(SectionContainer, {\n \"data-testid\": `${sectionId}__section`\n }, title && /*#__PURE__*/React.createElement(FadeIn, null, /*#__PURE__*/React.createElement(SectionTitle, {\n appearance: appearance\n }, title)), children) : null;\n};\n\nexport default withAnalyticsContextData(props => analyticsAttributes({\n group: props.sectionId,\n groupItemsCount: React.Children.count(props.children)\n}))(Section);","import React from 'react';\nimport styled from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport Section from './section';\nimport SwitcherItem from './item';\nconst IconSkeleton = styled.div`\n background-color: ${colors.N20};\n display: inline-block;\n width: 32px;\n height: 32px;\n border-radius: 8px;\n`;\nconst LineSkeleton = styled.div`\n background-color: ${colors.N20};\n display: inline-block;\n width: 98px;\n height: 10px;\n border-radius: 3px;\n`;\nexport default (() => /*#__PURE__*/React.createElement(Section, {\n sectionId: \"skeleton\",\n title: /*#__PURE__*/React.createElement(LineSkeleton, null)\n}, /*#__PURE__*/React.createElement(SwitcherItem, {\n icon: /*#__PURE__*/React.createElement(IconSkeleton, null),\n isDisabled: true\n}, /*#__PURE__*/React.createElement(LineSkeleton, null)), /*#__PURE__*/React.createElement(SwitcherItem, {\n icon: /*#__PURE__*/React.createElement(IconSkeleton, null),\n isDisabled: true\n}, /*#__PURE__*/React.createElement(LineSkeleton, null)), /*#__PURE__*/React.createElement(SwitcherItem, {\n icon: /*#__PURE__*/React.createElement(IconSkeleton, null),\n isDisabled: true\n}, /*#__PURE__*/React.createElement(LineSkeleton, null))));","export type UnsucessfulFetchErrorOptions = {\n readonly message?: string;\n readonly response: Response;\n};\n\nexport class UnsucessfulFetchError extends Error {\n public readonly response: Response;\n\n public constructor({ message, response }: UnsucessfulFetchErrorOptions) {\n super(message ?? response.statusText);\n this.name = UnsucessfulFetchError.name;\n this.response = response;\n }\n\n public get url(): string {\n return this.response.url;\n }\n\n public get status(): number {\n return this.response.status;\n }\n}\n\nexport function isUnsucessfulFetchError(\n value: unknown\n): value is UnsucessfulFetchError {\n return (value as UnsucessfulFetchError).name === UnsucessfulFetchError.name;\n}\n","import { serialize } from 'cookie';\n\nimport { Cookie } from '../models';\n\nexport function serializeCookie({ name, value }: Cookie): string {\n return serialize(name, value);\n}\n\nexport function mapCookieToHeaders(cookie?: Cookie): HeadersInit {\n if (cookie) {\n return { cookie: serializeCookie(cookie) };\n } else {\n return {};\n }\n}\n","export function isUndefined(value: T | undefined): value is undefined {\n return value === undefined;\n}\n\nexport function assertIsUndefined(\n value: T | undefined\n): asserts value is undefined {\n if (!isUndefined(value)) {\n throw new TypeError(`Value is not undefined.`);\n }\n}\n\nexport function isNotUndefined(value: T | undefined): value is T {\n return value !== undefined;\n}\n\nexport function assertIsNotUndefined(\n value: T | undefined\n): asserts value is T {\n if (!isNotUndefined(value)) {\n throw new TypeError(`Value is undefined.`);\n }\n}\n","import { isUndefined } from '@atlassiansox/bxp-shared-utils';\n\nexport type Headers = {\n readonly [name: string]: string;\n};\n\nexport function createHeaders(headers: {\n readonly [name: string]: string | number | boolean | undefined;\n}): Headers {\n return Object.keys(headers).reduce((result, name) => {\n const value = headers[name];\n if (!isUndefined(value)) {\n return {\n ...result,\n [name]: value.toString()\n };\n } else {\n return result;\n }\n }, {});\n}\n","import { UnsucessfulFetchError } from '../errors';\n\nexport async function mapResponseToText(response: Response): Promise {\n if (response.ok) {\n return await response.text();\n } else {\n throw new UnsucessfulFetchError({\n message: await mapResponseToMessage(response),\n response\n });\n }\n}\n\nexport async function mapResponseToJson(\n response: Response\n): Promise {\n if (response.ok) {\n return await response.json();\n } else {\n throw new UnsucessfulFetchError({\n message: await mapResponseToMessage(response),\n response\n });\n }\n}\n\nasync function mapResponseToMessage(response: Response): Promise {\n const { statusText } = response;\n const message = await response.text();\n if (message.length > 0) {\n return `${statusText} ${message}`;\n } else {\n return statusText;\n }\n}\n","import { isUndefined } from '@atlassiansox/bxp-shared-utils';\n\nexport type CreateUrlOptions = {\n readonly baseUrl?: string;\n readonly path?: string;\n readonly query?: Query;\n};\n\nexport type Query = Readonly<\n Record\n>;\n\nexport function createUrl({\n baseUrl = '',\n path = '',\n query\n}: CreateUrlOptions = {}): string {\n const queryString = mapQueryToQueryString(query);\n if (queryString) {\n return `${baseUrl}${path}?${queryString}`;\n } else {\n return `${baseUrl}${path}`;\n }\n}\n\nfunction mapQueryToQueryString(query: Query = {}): string | null {\n const queryString = Object.keys(query)\n .reduce((pairs, name) => {\n const value = query[name];\n if (isUndefined(value)) {\n return pairs;\n } else if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return [\n ...pairs,\n `${encodeURIComponent(name)}=${encodeURIComponent(value)}`\n ];\n } else {\n return [\n ...pairs,\n value.map((item) => mapQueryToQueryString({ [name]: item })).join('&')\n ];\n }\n }, [])\n .join('&');\n\n if (queryString.length > 0) {\n return queryString;\n } else {\n return null;\n }\n}\n","import { Cookie } from '@atlassiansox/asc-core';\nimport { Asap, UserProfile } from './models';\nimport { PRODUCT_KEY_MAP } from './constants';\nimport { XOR } from './utils';\n\nexport type GetUserPermissionsIsPermittedRequest = {\n readonly permissionId: GetUserPermissionsIsPermittedRequestPermissionId;\n readonly resourceId: string;\n readonly dontRequirePrincipalInSite?: boolean;\n};\n\nexport type GetUserPermissionsIsPermittedResponse = {\n readonly permitted: boolean;\n};\n\nexport enum AuthenticationMethodsType {\n PASSWORD = 'password',\n GOOGLE = 'google',\n SAML = 'saml',\n MICROSOFT = 'microsoft',\n APPLE = 'apple',\n SLACK = 'slack'\n}\n\ntype Method = {\n readonly type: AuthenticationMethodsType;\n readonly redirect_to?: string;\n};\n\nexport type CheckAuthenticationMethodsAvailableResponse = {\n readonly methods: Method[];\n readonly userExists: boolean;\n readonly passwordEnabled: boolean;\n readonly samlRequired: boolean;\n};\n\nexport type PostCloudSignUpRequest = {\n payload: FormPayloadType | FormPayloadActivateProducts;\n};\n\ntype ProductPayloadObject = {\n readonly accountName?: string | null;\n readonly edition?: string | null;\n readonly product?: string | null;\n readonly productKey?: string | null;\n};\n\ntype FormPayloadActivateProducts = {\n activateProducts?: boolean;\n products: ProductPayloadObject[];\n cloudId?: string;\n cloudName: string | null;\n advancedSettings?: {\n [key: string]: number | boolean | string | Record;\n };\n signupContext?: string;\n};\n\ntype ConsentsObject = {\n key: string;\n displayedText: unknown;\n granted: boolean;\n};\n\nexport type Consent = {\n readonly site: string | null;\n readonly locale: string | null;\n readonly formUrl: string | null;\n readonly consents: ConsentsObject[];\n};\n\ntype FormPayloadType = {\n adminUsername: string;\n gRecaptchaResponse?: string;\n cloudName: string | null;\n email: string | null;\n timezone: string | null;\n firstName: string | null;\n lastName: string | null;\n adminPassword?: string | null;\n signupContext?: string;\n dataRegion?: string;\n consent: Consent;\n} & FormPayloadActivateProducts;\n\nexport type CheckAuthenticationMethodsAvailableRequest = {\n readonly email: string;\n readonly application?: string;\n readonly successRedirect: string;\n};\n\nexport enum GetUserPermissionsIsPermittedRequestPermissionId {\n ADD_PRODUCTS = 'add-products',\n INVITE_USERS = 'invite-users',\n MANAGE = 'manage',\n WRITE = 'write',\n /**\n * @deprecated ADD_PRODUCT is a legacy permissionId, use ADD_PRODUCTS instead.\n */\n ADD_PRODUCT = 'addProduct'\n}\n\nexport type RenameCloudRequest = {\n readonly cloudId: string;\n readonly cloudName: string;\n};\n\nexport type RenameCloudResponse = {\n readonly progressUri: string;\n};\n\nexport type CheckCloudNameAvailabilityRequest = {\n readonly cloudName: string;\n};\n\nexport type CheckCloudNameAvailabilityResponse = {\n readonly availability: CloudNameAvailability;\n};\n\nexport type GetUserCloudSitesRequest = {\n readonly product: string;\n readonly editions: string[];\n readonly adminAccess: boolean;\n readonly billingFrequency: string[];\n readonly licenseLevels: string[];\n};\n\nexport type GetUserCloudSitesResponse = {\n readonly name: string;\n readonly sites: ReadonlyArray;\n};\n\ntype CloudSitesInfo = {\n readonly siteName: string;\n readonly edition: string;\n readonly license: string;\n readonly product: string;\n readonly siteId: string;\n readonly adminAccess: boolean;\n};\n\nexport type CloudNameAvailability =\n | 'AVAILABLE'\n | 'TAKEN'\n | 'ERROR'\n | 'INVALID'\n | 'NOT_AVAILABLE_FOR_TRANSFER';\n\nexport type SitesType = {\n readonly adminAccess: boolean;\n readonly cloudId: string;\n readonly products: string[];\n readonly url: string;\n readonly displayName: string;\n readonly edition?: string | null;\n readonly orgId?: string | null;\n};\n\nexport type CloudSessionTokenCookieType = {\n readonly cloudSessionTokenCookie?: Cookie;\n};\n\nexport type AvailableProductsResponse = SitesType[];\n\nexport type AvailableProductsOptions = {\n readonly includeInvalidSites?: boolean;\n readonly includeInvalidBitbucketSite?: boolean;\n readonly removeNonAdminSites?: boolean;\n} & CloudSessionTokenCookieType;\n\nexport type UserSignupRequest = {\n email: string;\n locale: string;\n redirectTo: string;\n displayName: string;\n gRecaptchaResponse?: string;\n};\n\nexport type UserSignupResponse = {\n id: string;\n};\n\ntype ActivateProductResponseItems = {\n itemId: string;\n orderItemId: string;\n};\n\nexport type Platform = 'ccp' | 'hams' | 'routing';\n\nexport type CcpProduct = {\n readonly offeringId: string;\n readonly pricingPlanId: string;\n readonly productKey: string;\n readonly edition: string;\n readonly chargeElement: string;\n readonly pricingType?: string;\n};\n\nexport type ActivateProductRequest = {\n email: string;\n ccpProducts: CcpProduct[];\n siteName: string;\n timezone: string;\n useCcpPlatform: boolean;\n platform: Platform;\n displayName?: string;\n consent?: Consent;\n signupContext?: string;\n advancedSettings?: {\n [key: string]: number | boolean | string | Record;\n };\n testingPurposes?: boolean;\n};\n\nexport type ActivateProductUpstreamResponse = XOR<\n ActivateProductCcpUpstreamResponse,\n ActivateProductCofsResponse\n>;\n\nexport type ActivateProductCcpUpstreamResponse = {\n statusUrl: string;\n orderId: string;\n slug: string;\n items: ActivateProductResponseItems[];\n transactionAccountId: string;\n invoiceGroupId: string;\n metadata: {\n provisionRequestId: string;\n };\n cloudId: string;\n service: string;\n};\n\nexport type ActivateProductResponse = XOR<\n ActivateProductCcpResponse,\n ActivateProductCofsResponse\n>;\n\nexport type ActivateProductCcpResponse = {\n orderId: string;\n slug: string;\n transactionAccountId: string;\n invoiceGroupId: string;\n metadata: {\n provisionRequestId: string;\n };\n items: ActivateProductResponseItems[];\n cloudId: string;\n service: string;\n};\n\nexport type ActivateProductCofsResponse = {\n cloudId: string;\n progressUri: string;\n service: string;\n};\n\nexport interface ProductActivationStatusRequest {\n provisioningRequestId: string;\n}\n\nexport interface ProductActivationStatusResponse {\n provisionRequestId: string;\n resourcePackages: ResourcePackage[];\n}\n\nexport interface GetLicenceInformationRequest {\n cloudId: string;\n}\nexport type GetLicenseInformationResponse = {\n readonly firstActivationDate: number;\n readonly hostname: string;\n readonly products: {\n [key: string]: GetLicenseInformationProduct;\n };\n};\n\nexport type GetLicenseInformationProduct = {\n readonly ccpEntitlementId?: string;\n readonly ccpTransactionAccountId: string;\n readonly edition: string;\n readonly isSuspended?: boolean;\n readonly state: string;\n readonly relatesFromEntitlements?: GetLicenseInformationRelatedEntitlement[];\n};\n\nexport type GetLicenseInformationRelatedEntitlement = {\n readonly relationshipType: string;\n readonly entitlementId: string;\n readonly relationshipId: string;\n};\n\nexport interface ProductActivateRequest {\n readonly transactionAccountId: string;\n readonly entitlementId: string;\n readonly offerings: OfferingsType[];\n readonly cloudId: string;\n}\nexport interface COFSProductActivateRequest {\n readonly edition: string;\n readonly productKey: string;\n readonly cloudId: string;\n}\n\nexport type OfferingsType = {\n readonly offeringId: string;\n readonly pricingPlanId: string;\n readonly chargeElement: string;\n};\n\nexport type ProductActivateResponse = {\n readonly orderId: string;\n readonly progressUri: string;\n readonly cloudId: string;\n};\nexport type COFSProductActivateResponse = {\n readonly progressUri: string;\n readonly cloudId: string;\n};\n\nexport interface ResourcePackage {\n entitlementId: string;\n action: {\n type: RecourcePackageActionTypes;\n status: ProductActivationStatus;\n errorDetails?: ResourceActivationError[];\n };\n resourceAris: string[];\n}\n\nexport type RecourcePackageActionTypes = 'ACTIVATE';\n\nexport type ProductActivationStatus =\n | 'IN_PROGRESS'\n | 'SUCCESS'\n | 'PROVISIONING_FAILURE';\n\nexport interface ResourceActivationError {\n source: string;\n message: string;\n}\n\n/**\n * Identity Client section\n */\nexport type AsapAuth = {\n readonly asap: Asap;\n};\n\nexport function isAsapAuth(auth: AsapAuth) {\n return !!auth.asap;\n}\n\nexport type MeResponse = {\n readonly account_id: string;\n readonly name: string;\n readonly email: string;\n readonly picture: string;\n readonly locale: string;\n readonly zoneinfo: string;\n};\n\nexport type MeOptions = CloudSessionTokenCookieType;\n\nexport function mapMeResponseToUserProfile({\n account_id,\n ...others\n}: MeResponse): UserProfile {\n return {\n accountId: account_id,\n ...others\n };\n}\n\nexport type BitbucketWorkspaceOptions = {\n readonly nextUrl?: string;\n readonly urlQuery?: string;\n} & CloudSessionTokenCookieType;\n\nexport type BitbucketWorkspacesResponse = {\n readonly page: number;\n readonly pagelen: number;\n readonly size: number;\n readonly next?: string;\n readonly previous?: string;\n readonly values: [\n {\n // owner: has admin access, collaborator: has write access\n readonly permission: 'owner' | 'member' | 'collaborator';\n readonly user?: WorkspaceUserType;\n readonly workspace?: WorkspaceType;\n readonly last_accessed?: string | null;\n readonly type?: string;\n readonly links?: Record;\n readonly added_on?: string | null;\n }\n ];\n};\n\nexport type WorkspaceUserType = {\n readonly display_name: string;\n readonly account_id: string;\n readonly links: Record;\n readonly nickname: string;\n readonly type: string;\n readonly uuid: string;\n};\n\nexport type WorkspaceType = {\n readonly name: string;\n readonly type: string;\n readonly uuid: string;\n readonly links: Record;\n readonly slug: string;\n};\n\nexport type AvailableProductsType = {\n readonly adminAccess: boolean;\n readonly cloudId: string;\n readonly displayName: string;\n readonly url: string;\n readonly availableProducts: [\n {\n readonly activityCount: number;\n readonly productType: keyof typeof PRODUCT_KEY_MAP;\n readonly url?: string;\n }\n ];\n readonly avatar?: string;\n};\n\n/**\n * /user/:id/manage/profile\n */\n\nexport type PatchUserProfileRequestBody = {\n readonly name?: string;\n readonly nickname: string;\n};\n\nexport type PatchUserProfileRequest = {\n readonly cloudSessionTokenCookie: Cookie;\n readonly body: PatchUserProfileRequestBody;\n readonly userId: string;\n};\n\nexport type PermissionsPermittedRequestAsap = {\n readonly auth: AsapAuth;\n};\nexport type PermissionsPermittedRequestParams = {\n readonly dontRequirePrincipalInSite: boolean;\n readonly permissionId: string;\n readonly principalId: string;\n readonly resourceId: string;\n};\nexport type GetCcpHamsStatus = {\n readonly cloudId: string;\n readonly offeringKeys: string;\n};\nexport type GetCcpHamsResponse = {\n readonly service: string;\n};\n\nexport type GetAvailableSitesRequest = {\n readonly orderId: string;\n readonly transactionAccount: string;\n};\n\nexport type Sites = {\n readonly siteName: string;\n};\n\nexport type GetAvailableSitesResponse = {\n readonly sites: Sites[];\n};\n\nexport type PermissionsPermittedRequest = PermissionsPermittedRequestAsap &\n PermissionsPermittedRequestParams;\n\nexport type PermissionsPermittedResponse = string;\n\n/**\n * getProductHubInfo section\n * TODO: find a single source for these models (these were just copied over from bxp-express)\n */\n\nexport enum Editions {\n FREE = 'free',\n STANDARD = 'standard',\n PREMIUM = 'premium'\n}\n\nexport enum ProductKeys {\n CONFLUENCE = 'confluence.ondemand',\n JIRA_CORE = 'jira-core.ondemand',\n JIRA_SERVICE_DESK = 'jira-servicedesk.ondemand',\n JIRA_SOFTWARE = 'jira-software.ondemand',\n JIRA_PRODUCT_DISCOVERY = 'jira-product-discovery',\n TRELLO = 'trello',\n OPSGENIE = 'opsgenie',\n BITBUCKET = 'bitbucket.ondemand',\n BITBUCKET_COFS = 'com.atlassian.bitbucket',\n STATUSPAGE = 'statuspage',\n TEAM_CENTRAL = 'townsquare',\n AVOCADO = 'avocado',\n COMPASS = 'compass',\n ANALYTICS = 'atlassian-analytics-free',\n WHITEBOARD = 'atlassian-whiteboard'\n}\n\nexport interface RelatesFromEntitlements {\n entitlementId: string;\n relationshipId: string;\n relationshipType: string;\n}\n\nexport interface Product {\n applicationUrl: string;\n edition: Editions;\n isSuspended: boolean;\n state: 'ACTIVE' | 'DEACTIVATED' | string;\n adminAccess?: boolean;\n billingPeriod?: 'MONTHLY' | 'ANNUAL';\n ccpTransactionAccountId?: string;\n ccpEntitlementId?: string;\n relatesFromEntitlements?: RelatesFromEntitlements[];\n trialEndDate?: string;\n lastActiveTimestamp: string | null;\n}\n\nexport interface ProductHub {\n cloudId: string;\n hostname: string;\n firstActivationDate: number;\n products?: Partial<\n {\n [key in ProductKeys]: Product;\n }\n >;\n adminAccess: boolean;\n}\n\nexport type GetProductHubInfoResponse = {\n readonly sites: ProductHub[];\n};\n","export const ASAP_AUDIENCE = 'identity-platform';\n\nexport const PRODUCT_KEY_MAP = {\n CONFLUENCE: 'confluence.ondemand',\n JIRA_CORE: 'jira-core.ondemand',\n JIRA_BUSINESS: 'jira-core.ondemand',\n JIRA_SOFTWARE: 'jira-software.ondemand',\n JIRA_SERVICE_DESK: 'jira-servicedesk.ondemand',\n BITBUCKET: 'com.atlassian.bitbucket',\n OPSGENIE: 'opsgenie',\n STATUSPAGE: 'statuspage',\n TRELLO: 'trello'\n};\n","import { SitesType } from '../stargate-client.types';\n\n/**\n * Filter out internal/invalid sites\n */\n\ntype IsValidSiteType = {\n readonly site: SitesType;\n readonly includeInvalidBitbucketSite?: boolean;\n};\n\nexport const isValidSite = ({\n site,\n includeInvalidBitbucketSite\n}: IsValidSiteType): boolean => {\n const ignoreSiteNames = [\n 'servicedog',\n 'ecosystem',\n 'atlassiantraining',\n 'Atlassian Stride',\n 'volunteerhub',\n 'atlassiantraining',\n 'hello-staging',\n 'ecosystem',\n 'riskmanagement',\n 'hello-staging3',\n 'hello-staging6',\n 'hello-staging9',\n 'jdog',\n 'sre-ehlo',\n 'trello',\n 'Trello'\n ];\n\n if (!includeInvalidBitbucketSite) {\n ignoreSiteNames.push('bitbucket', 'Bitbucket');\n }\n\n if (ignoreSiteNames.includes(site.displayName)) {\n return false;\n }\n\n if (site.cloudId.startsWith('DUMMY')) {\n return false;\n }\n\n return true;\n};\n","import axios from 'axios';\nimport _ from 'lodash';\nimport {\n mapCookieToHeaders,\n mapResponseToJson,\n mapResponseToText,\n serializeCookie,\n UnsucessfulFetchError\n} from '@atlassiansox/asc-core';\nimport { fetch } from 'cross-fetch';\nimport Cookies from 'js-cookie';\n\nimport {\n ActivateProductUpstreamResponse,\n ActivateProductResponse,\n ActivateProductRequest,\n AvailableProductsOptions,\n AvailableProductsResponse,\n AvailableProductsType,\n BitbucketWorkspaceOptions,\n BitbucketWorkspacesResponse,\n CheckAuthenticationMethodsAvailableResponse,\n CheckAuthenticationMethodsAvailableRequest,\n CheckCloudNameAvailabilityRequest,\n CheckCloudNameAvailabilityResponse,\n GetUserCloudSitesRequest,\n GetUserCloudSitesResponse,\n GetLicenseInformationResponse,\n GetLicenceInformationRequest,\n GetUserPermissionsIsPermittedRequest,\n GetUserPermissionsIsPermittedResponse,\n MeOptions,\n mapMeResponseToUserProfile,\n PostCloudSignUpRequest,\n ProductActivationStatusRequest,\n ProductActivationStatusResponse,\n PatchUserProfileRequest,\n RenameCloudRequest,\n RenameCloudResponse,\n SitesType,\n UserSignupRequest,\n UserSignupResponse,\n ProductActivateRequest,\n ProductActivateResponse,\n COFSProductActivateRequest,\n COFSProductActivateResponse,\n GetProductHubInfoResponse,\n GetCcpHamsStatus,\n GetCcpHamsResponse,\n GetAvailableSitesRequest,\n GetAvailableSitesResponse\n} from './stargate-client.types';\nimport { PRODUCT_KEY_MAP } from './constants';\nimport { UserProfile } from './models';\nimport { isValidSite } from './utils';\n\nexport interface IStargateClient {\n activateProduct(\n request: ActivateProductRequest\n ): Promise;\n availableProducts(\n options: AvailableProductsOptions\n ): Promise;\n availableProductsLegacy(\n options: AvailableProductsOptions\n ): Promise;\n bitbucketWorkspaces(\n options: BitbucketWorkspaceOptions\n ): Promise;\n checkCloudNameAvailability(\n request: CheckCloudNameAvailabilityRequest\n ): Promise;\n checkAuthenticationMethodsAvailable(\n request: CheckAuthenticationMethodsAvailableRequest\n ): Promise;\n getLicenceInformationStatus(\n request: GetLicenceInformationRequest\n ): Promise;\n getSignupServerXsrfToken(): Promise;\n getProductActivationStatus(\n requires: ProductActivationStatusRequest\n ): Promise;\n getUserCloudSites(\n request: GetUserCloudSitesRequest\n ): Promise;\n getUserPermissionsIsPermitted(\n request: GetUserPermissionsIsPermittedRequest\n ): Promise;\n getCurrentAuthenticatedUser(): Promise;\n getProductHubInfo(): Promise;\n me(options: MeOptions): Promise;\n patchUserProfile(request: PatchUserProfileRequest): Promise;\n postCloudSignUp(payload: PostCloudSignUpRequest): Promise;\n postProductActivate(\n request: ProductActivateRequest\n ): Promise;\n postCOFSProductActivate(\n request: COFSProductActivateRequest\n ): Promise;\n renameCloud(request: RenameCloudRequest): Promise;\n userSignup(request: UserSignupRequest): Promise;\n getCcpHamsStatus(request: GetCcpHamsStatus): Promise;\n getAvailableSites(\n request: GetAvailableSitesRequest\n ): Promise;\n}\n\nexport const DEFAULT_STARGATE_BASE_URL =\n 'https://wac.stg.internal.atlassian.com/gateway/api';\nexport const DEFAULT_IDENTITY_BASE_URL = 'https://id.staging.atl-paas.net';\n\nexport type StargateClientOptions = {\n readonly baseUrl: string;\n};\n\n/**\n * @see https://bitbucket.org/atlassian/stargate/src/master/src/main/resources/application.yml\n */\nexport class StargateClient implements IStargateClient {\n public readonly baseUrl: string;\n\n public constructor({ baseUrl }: StargateClientOptions) {\n this.baseUrl = baseUrl;\n }\n\n /**\n * Get the xsrf token required to make calls to the signup server\n *\n * @see https://bxp-signup-server.staging.atl-paas.net/swagger/#/Authentication/get_auth_xsrf\n */\n public async getSignupServerXsrfToken(): Promise {\n return mapResponseToText(\n await fetch(`${this.baseUrl}/bxp/signup/auth/xsrf`, {\n method: 'GET',\n credentials: 'include',\n headers: {\n accept: 'text/plain'\n }\n })\n );\n }\n\n /**\n * Get the authentication methods available to a given user.\n *\n * @see https://bxp-signup-server.us-west-2.prod.atl-paas.net/swagger/#/Identity/post_authentication_methods_available\n */\n public async checkAuthenticationMethodsAvailable({\n email,\n application = 'wac',\n successRedirect\n }: CheckAuthenticationMethodsAvailableRequest): Promise {\n const xsrfToken = await this.getSignupServerXsrfToken();\n\n return mapResponseToJson(\n await fetch(\n `${this.baseUrl}/bxp/signup/authentication/methods-available`,\n {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'xsrf-token': xsrfToken\n },\n credentials: 'include',\n body: JSON.stringify({\n email,\n application,\n continue: successRedirect\n })\n }\n )\n );\n }\n\n /**\n * Get whether a user has a permission for a particular resource.\n *\n * @see https://id-public-api-facade.prod.atl-paas.net/swagger.json\n */\n public async getUserPermissionsIsPermitted({\n permissionId,\n resourceId,\n dontRequirePrincipalInSite\n }: GetUserPermissionsIsPermittedRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/permissions/permitted`, {\n credentials: 'include',\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n permissionId,\n resourceId,\n dontRequirePrincipalInSite\n })\n })\n );\n }\n\n /**\n * Returns details about the current authenticated user.\n * This is expected to be consistent with Atlassian account.\n *\n * @see https://id-public-api-facade.prod.atl-paas.net/swagger.json\n */\n public async getCurrentAuthenticatedUser(): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/me`, {\n credentials: 'include'\n })\n );\n }\n\n /**\n * Gets trial information for Atlassian products. Currently only supports\n * JSW.\n *\n * @returns\n */\n public async getProductHubInfo(): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/producthub/info`, {\n credentials: 'include'\n })\n );\n }\n\n public async postCloudSignUp({\n payload\n }: PostCloudSignUpRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/signup`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'atl-cookies': JSON.stringify({\n _ga: Cookies.get('_ga') || '',\n seg_xid: localStorage.getItem('seg_xid') || '',\n __atl_path: Cookies.get('__atl_path') || '',\n ajs_anonymous_id: Cookies.get('ajs_anonymous_id') || '',\n optimizelyBuckets: Cookies.get('optimizelyBuckets') || '',\n optimizelySegments: Cookies.get('optimizelySegments') || '',\n optimizelyEndUserId: Cookies.get('optimizelyEndUserId') || ''\n })\n },\n body: JSON.stringify(payload),\n credentials: 'include'\n })\n );\n }\n\n /**\n * Rename a Cloud\n * @see https://cofs.dev.public.atl-paas.net/api.html#external__cloudId__rename_put\n */\n public async renameCloud({\n cloudId,\n cloudName\n }: RenameCloudRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cofs/${cloudId}/rename`, {\n method: 'put',\n body: JSON.stringify({\n cloudName\n }),\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n })\n );\n }\n\n /**\n * @see https://cloud-name-availability.prod.atl-paas.net/swagger-ui/index.html#/name-availability-stargate-controller/checkAvailabilityUsingPOST\n */\n public async checkCloudNameAvailability({\n cloudName\n }: CheckCloudNameAvailabilityRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/hostname/cloud/availability/check`, {\n method: 'post',\n body: JSON.stringify({\n cloudName\n }),\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n })\n );\n }\n\n public async getUserCloudSites({\n product,\n editions,\n adminAccess,\n licenseLevels,\n billingFrequency\n }: GetUserCloudSitesRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/users/cloudsites`, {\n method: 'post',\n body: JSON.stringify({\n product,\n editions,\n adminAccess,\n licenseLevels,\n billingFrequency\n }),\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n })\n );\n }\n\n /**\n * Get the new ais/available-products\n */\n public async availableProducts({\n includeInvalidSites,\n includeInvalidBitbucketSite,\n removeNonAdminSites\n }: AvailableProductsOptions): Promise {\n const reqUrl = `${this.baseUrl}/ais/available-products`;\n const response = await fetch(reqUrl, {\n method: 'GET',\n credentials: 'include'\n });\n if (response.ok) {\n const result = await response.json();\n let sites = (result && result.sites) || [];\n\n if (removeNonAdminSites) {\n sites = sites.filter((site: SitesType) => site.adminAccess);\n }\n\n if (!includeInvalidSites) {\n sites = sites.filter((site: SitesType) =>\n isValidSite({\n site,\n includeInvalidBitbucketSite\n })\n );\n }\n\n return Promise.resolve(sites);\n } else {\n throw new UnsucessfulFetchError({\n response\n });\n }\n }\n\n public async userSignup(\n request: UserSignupRequest\n ): Promise {\n const xsrfToken = await this.getSignupServerXsrfToken();\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/bxp/signup/identity/user-signup`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'xsrf-token': xsrfToken\n },\n credentials: 'include',\n body: JSON.stringify({ ...request })\n })\n );\n }\n\n public async activateProduct(\n request: ActivateProductRequest\n ): Promise {\n const xsrfToken = await this.getSignupServerXsrfToken();\n\n const upstreamResponse = await mapResponseToJson(\n await fetch(`${this.baseUrl}/bxp/signup/activate-product`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'xsrf-token': xsrfToken\n },\n credentials: 'include',\n body: JSON.stringify(request)\n })\n );\n\n return upstreamResponse;\n }\n\n public async getProductActivationStatus(\n request: ProductActivationStatusRequest\n ): Promise {\n const xsrfToken = await this.getSignupServerXsrfToken();\n\n return mapResponseToJson(\n await fetch(\n `${this.baseUrl}/bxp/signup/activate/status/${request.provisioningRequestId}`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'xsrf-token': xsrfToken\n },\n credentials: 'include'\n }\n )\n );\n }\n\n public async getLicenceInformationStatus(\n request: GetLicenceInformationRequest\n ): Promise {\n const xsrfToken = await this.getSignupServerXsrfToken();\n\n return mapResponseToJson(\n await fetch(\n `${this.baseUrl}/bxp/signup/cloud/${request.cloudId}/license-information`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'xsrf-token': xsrfToken\n },\n credentials: 'include'\n }\n )\n );\n }\n // for attaching a product to an existing site, xflow worked on the endpoint\n public async postProductActivate(\n request: ProductActivateRequest\n ): Promise {\n const xsrfToken = await this.getSignupServerXsrfToken();\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/bxp/signup/product/activate`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'xsrf-token': xsrfToken\n },\n credentials: 'include',\n body: JSON.stringify(request)\n })\n );\n }\n // for attaching a product to an existing site using COFS, xflow worked on the endpoint\n public async postCOFSProductActivate(\n request: COFSProductActivateRequest\n ): Promise {\n const xsrfToken = await this.getSignupServerXsrfToken();\n const { cloudId } = request;\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/xflow/${cloudId}/activate`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'xsrf-token': xsrfToken\n },\n credentials: 'include',\n body: JSON.stringify(request)\n })\n );\n }\n /**\n * Indentity calls\n */\n public async me({\n cloudSessionTokenCookie\n }: MeOptions): Promise {\n const url = `${this.baseUrl}/me`;\n const response = await fetch(url, {\n headers: mapCookieToHeaders(cloudSessionTokenCookie),\n credentials: 'include'\n });\n if (response.ok) {\n return mapMeResponseToUserProfile(await response.json());\n } else {\n throw new UnsucessfulFetchError({\n response\n });\n }\n }\n\n /**\n * Get a list of Bitbucket workspaces\n * @param nextUrl - override the request URL for pagination\n * bitbucket/user/permissions/workspaces?sort=workspace.slug\n */\n public async bitbucketWorkspaces({\n nextUrl,\n cloudSessionTokenCookie,\n urlQuery\n }: BitbucketWorkspaceOptions): Promise {\n let reqUrl = `${this.baseUrl}/bitbucket/user/permissions/workspaces`;\n if (nextUrl) {\n reqUrl = nextUrl;\n }\n if (urlQuery) {\n reqUrl = `${reqUrl}?${urlQuery}`;\n }\n\n const response = await fetch(reqUrl, {\n headers: mapCookieToHeaders(cloudSessionTokenCookie),\n credentials: 'include'\n });\n\n if (response.ok) {\n return Promise.resolve(await response.json());\n } else {\n throw new UnsucessfulFetchError({\n response\n });\n }\n }\n\n /**\n * The legacy get availableProducts call from IdentityClient\n */\n public async availableProductsLegacy({\n cloudSessionTokenCookie,\n includeInvalidSites,\n includeInvalidBitbucketSite\n }: AvailableProductsOptions): Promise {\n const reqUrl = `${this.baseUrl}/available-products/api/available-products`;\n const response = await fetch(reqUrl, {\n headers: mapCookieToHeaders(cloudSessionTokenCookie),\n credentials: 'include'\n });\n\n if (response.ok) {\n const result = await response.json();\n let sites = (result && result.sites) || [];\n\n sites = _.remove(\n _.map(sites, (site: AvailableProductsType) => {\n const products = _.map(site.availableProducts, (product) => {\n return PRODUCT_KEY_MAP[product.productType];\n }).filter((product) => product !== undefined);\n\n if (!_.isEmpty(products)) {\n return {\n adminAccess: site.adminAccess,\n cloudId: site.cloudId,\n displayName: site.displayName,\n url: site.url,\n products\n };\n } else {\n return null;\n }\n }),\n (site) => site !== undefined && site !== null\n );\n\n if (!includeInvalidSites) {\n sites = sites.filter((site: SitesType) =>\n isValidSite({\n site,\n includeInvalidBitbucketSite\n })\n );\n }\n\n return Promise.resolve(sites);\n } else {\n throw new UnsucessfulFetchError({\n response\n });\n }\n }\n\n public async patchUserProfile(\n request: PatchUserProfileRequest\n ): Promise {\n const { body, userId, cloudSessionTokenCookie } = request;\n\n const options = {\n headers: {\n 'content-type': 'application/json',\n 'Cookie': serializeCookie(cloudSessionTokenCookie)\n }\n };\n return new Promise((resolve, reject) => {\n axios\n .patch(`${this.baseUrl}/users/${userId}/manage/profile`, body, options)\n .then((response) => {\n resolve(response.data);\n })\n .catch((err) => {\n reject(err.toString());\n });\n });\n }\n\n public async getCcpHamsStatus(\n request: GetCcpHamsStatus\n ): Promise {\n const { cloudId, offeringKeys } = request;\n\n return mapResponseToJson(\n await fetch(\n `${this.baseUrl}/bag/rollout/service?cloudId=${cloudId}&offeringKeys=${offeringKeys}`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n }\n )\n );\n }\n\n public async getAvailableSites(\n request: GetAvailableSitesRequest\n ): Promise {\n const { orderId, transactionAccount } = request;\n\n return mapResponseToJson(\n await fetch(\n `${this.baseUrl}/bxp/signup/v1/order/${orderId}/available-sites`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'X-Transaction-Account': transactionAccount\n },\n credentials: 'include'\n }\n )\n );\n }\n}\n","import React, { createContext, PropsWithChildren, useContext } from 'react';\n\nexport type FeatureFlags = {\n readonly [key: string]: string;\n};\n\nexport function useFeatureFlags(): FeatureFlags {\n return useContext(FeatureFlagsContext);\n}\n\nexport type FeatureFlagsProviderProps = {\n readonly featureFlags: FeatureFlags;\n};\n\nexport function FeatureFlagsProvider({\n featureFlags,\n children\n}: PropsWithChildren) {\n return (\n \n {children}\n \n );\n}\n\nconst FeatureFlagsContext = createContext({});\n","import {\n createUrl,\n mapResponseToJson,\n mapResponseToText,\n serializeCookie\n} from '@atlassiansox/asc-core';\nimport { generateAsapHeader } from '@atlassiansox/asc-asap';\nimport { fetch, Headers } from 'cross-fetch';\n\nimport {\n GetCartRequest,\n GetEmailExistsRequest,\n GetEmailExistsResponse,\n GetProductPricingRequest,\n GetProductPricingResponse,\n GetXsrfTokenRequest,\n PatchUserRequest,\n GetCloudSiteRequest,\n GetCloudSiteResponse\n} from './hamlet-client.types';\nimport { Cart, Contact } from './models';\n\nexport const DEFAULT_BASE_URL = 'https://hamlet.atlassian.com';\n\nconst ASAP_AUDIENCE = 'micros/hams';\n\nexport type HamletClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport interface IHamletClient {\n getXsrfToken(request: GetXsrfTokenRequest): Promise;\n getEmailExists(\n request: GetEmailExistsRequest\n ): Promise;\n getCart(request: GetCartRequest): Promise;\n patchUser(request: PatchUserRequest): Promise;\n getProductPricing(\n request: GetProductPricingRequest\n ): Promise;\n getCloudSite(request: GetCloudSiteRequest): Promise;\n}\n\n/**\n * @see: https://hello.atlassian.net/wiki/spaces/HAMS/pages/127995591/Hamlet+API\n */\nexport class HamletClient implements IHamletClient {\n private readonly baseUrl: string;\n\n public constructor({ baseUrl = DEFAULT_BASE_URL }: HamletClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async getXsrfToken({\n cloudSessionTokenCookie\n }: GetXsrfTokenRequest): Promise {\n return mapResponseToText(\n await fetch(`${this.baseUrl}/1.0/auth/xsrf/plain`, {\n headers: {\n cookie: serializeCookie(cloudSessionTokenCookie)\n }\n })\n );\n }\n\n public async getEmailExists({\n email\n }: GetEmailExistsRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/1.0/public/aid/exists/${email}`, {\n method: 'POST'\n })\n );\n }\n\n public async getCart({ cartId }: GetCartRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/1.0/public/order/cart/${cartId}`)\n );\n }\n\n public async patchUser({\n cloudSessionTokenCookie,\n firstName,\n lastName\n }: PatchUserRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/1.0/public/contact/currentUser/patch`, {\n method: 'PATCH',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'ATL-XSRF-Token': await this.getXsrfToken({\n cloudSessionTokenCookie\n }),\n 'Cookie': serializeCookie(cloudSessionTokenCookie)\n },\n body: JSON.stringify([\n {\n op: 'replace',\n path: '/contactDetails/firstName',\n value: firstName\n },\n {\n op: 'replace',\n path: '/contactDetails/lastName',\n value: lastName\n }\n ])\n })\n );\n }\n\n public async getProductPricing({\n productKeys,\n licenseType = 'evaluation',\n requestingApplication = 'WAC',\n monthsValid = '1'\n }: GetProductPricingRequest): Promise {\n return mapResponseToJson(\n await fetch(\n createUrl({\n baseUrl: this.baseUrl,\n path: `/1.0/public/pricing/query`,\n query: {\n licenseType,\n productKey: productKeys,\n requestingApplication,\n monthsValid,\n cacheBuster: Date.now()\n }\n })\n )\n );\n }\n\n public async getCloudSite({\n cloudId,\n auth\n }: GetCloudSiteRequest): Promise {\n const headers = new Headers();\n\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: ASAP_AUDIENCE\n })\n );\n\n return mapResponseToJson(\n await fetch(\n createUrl({\n baseUrl: this.baseUrl,\n path: `/1.0/private/cloud/${cloudId}`\n }),\n { headers }\n )\n );\n }\n}\n","import { HamletClient, IHamletClient } from '@atlassiansox/asc-hamlet';\nimport { createContext } from 'react';\n\nexport const HamletClientContext = createContext(\n new HamletClient()\n);\n","import { PricingCalculator } from '@atlassian/bxp-product-pricing';\nimport { useMemo } from 'react';\n\nimport { useProductPricingStore } from '@atlassiansox/bxpkit-product-pricing-store';\n\nexport function usePricingCalculator() {\n const productPricingStore = useProductPricingStore();\n return useMemo(\n () => new PricingCalculator({ productPricingStore }),\n [productPricingStore]\n );\n}\n","import { hash } from 'bcryptjs';\nimport { createContext } from 'react';\nimport type { AnalyticsTrackType, ProductKeysType } from '../model';\n\nexport const hashEmail = async (email: string) => {\n const salt = '$2b$11$wgr1TJNVKwiK/dQBd3HKm.';\n if (!email || typeof email === 'number') {\n return Promise.resolve('');\n }\n\n // set email to lowercase, split username & domain\n // tslint:disable-next-line: prefer-const\n const [username, domain] = email.toLowerCase().split('@');\n // strip fullstops\n let sanitizedUsername = username.replace(/\\./g, '');\n // ignore anything after '+' char\n if (sanitizedUsername.includes('+')) {\n sanitizedUsername = sanitizedUsername.split('+')[0];\n }\n // rejoin the email\n const cleanEmail = sanitizedUsername + '@' + domain;\n const hashResult = await hash(cleanEmail, salt).catch(() => '');\n\n return Promise.resolve(hashResult);\n};\n\nconst MarieSchema = {\n eventContainer: '',\n productKey: [],\n\n productEdition: '',\n productPlatform: '',\n schemaVersion: 1,\n\n loginUserDetected: 0,\n suiteName: '',\n // tslint:disable-next-line:no-empty\n setSuiteName: () => undefined,\n userEmail: '',\n // tslint:disable-next-line:no-empty\n setUserEmail: () => undefined,\n\n productsOffered: []\n};\nexport type MarieSchemaAnalyticsType = {\n readonly eventContainer: string;\n readonly setEventContainer?: (value: string) => void;\n\n readonly productKey: ProductKeysType[];\n readonly productEdition: string;\n readonly productPlatform: string;\n readonly schemaVersion: number;\n\n readonly loginUserDetected: number;\n readonly suiteName: string;\n readonly setSuiteName: (value: string) => void;\n readonly userEmail: string;\n readonly setUserEmail: (value: string) => void;\n readonly productsOffered: string[];\n readonly analyticsTrack?: AnalyticsTrackType;\n};\n\nexport const MarieSchemaAnalytics =\n createContext(MarieSchema);\n","import { DependencyList, useEffect, useState } from 'react';\n\nexport function useAsync(\n task: () => Promise,\n dependencies?: DependencyList\n): AsyncResult {\n const [result, setResult] = useState(AsyncResult.pending());\n\n useEffect(() => {\n let inEffect = true;\n\n task()\n .then((value) => {\n if (inEffect) {\n setResult(AsyncResult.complete(value));\n }\n })\n .catch((error) => {\n if (inEffect) {\n setResult(AsyncResult.error(error));\n }\n });\n\n return () => {\n inEffect = false;\n };\n }, dependencies);\n\n return result;\n}\n\nexport abstract class AsyncResult {\n public static pending(): AsyncResult {\n return new PendingAsyncResult();\n }\n\n public static complete(\n value: T\n ): AsyncResult {\n return new CompleteAsyncResult(value);\n }\n\n public static error(error: E): AsyncResult {\n return new ErrorAsyncResult(error);\n }\n\n public static isPending(\n result: AsyncResult\n ): result is PendingAsyncResult {\n return result.isPending === true;\n }\n\n public static isComplete(\n result: AsyncResult\n ): result is CompleteAsyncResult {\n return (\n result.isPending === false &&\n (result as ErrorAsyncResult).error === undefined\n );\n }\n\n public static isError(\n result: AsyncResult\n ): result is ErrorAsyncResult {\n return (\n result.isPending === false &&\n (result as ErrorAsyncResult).error !== undefined\n );\n }\n\n protected constructor(public readonly isPending: boolean) {}\n\n abstract map(mapper: (value: T) => U): AsyncResult;\n\n abstract catch(catcher: (error: E) => T): AsyncResult;\n\n abstract get value(): T;\n}\n\nclass PendingAsyncResult extends AsyncResult {\n public constructor() {\n super(true);\n }\n\n public map(): AsyncResult {\n return new PendingAsyncResult();\n }\n\n public catch(): AsyncResult {\n return this;\n }\n\n public get value(): T {\n throw new Error('AsyncResult is pending...');\n }\n}\n\nclass CompleteAsyncResult extends AsyncResult {\n public constructor(public readonly value: T) {\n super(false);\n }\n\n public map(mapper: (value: T) => U): AsyncResult {\n return new CompleteAsyncResult(mapper(this.value));\n }\n\n public catch(): AsyncResult {\n return this;\n }\n}\n\nclass ErrorAsyncResult extends AsyncResult {\n public constructor(public readonly error: E) {\n super(false);\n }\n\n public map(): AsyncResult {\n return new ErrorAsyncResult(this.error);\n }\n\n public catch(catcher: (error: E) => T): AsyncResult {\n return new CompleteAsyncResult(catcher(this.error));\n }\n\n public get value(): T {\n throw new AsyncResultError(this.error);\n }\n}\n\nexport class AsyncResultError extends Error {\n public constructor(public readonly cause: Error) {\n super(cause.message);\n this.name = AsyncResultError.name;\n }\n}\n","import { IStargateClient, StargateClient } from '@atlassiansox/asc-stargate';\nimport React, { createContext, PropsWithChildren, useContext } from 'react';\n\nconst DEFAULT_BASE_URL = 'https://wac.stg.internal.atlassian.com/gateway/api';\n\nconst StargateClientContext = createContext(\n new StargateClient({\n baseUrl: DEFAULT_BASE_URL\n })\n);\n\nexport function useStargateClient(): IStargateClient {\n return useContext(StargateClientContext);\n}\n\nexport type StargateClientProviderProps =\n | InterfaceStargateClientProviderProps\n | BaseUrlStargateClientProviderProps;\n\nexport type InterfaceStargateClientProviderProps = {\n readonly client: IStargateClient;\n};\n\nexport type BaseUrlStargateClientProviderProps = {\n readonly baseUrl: string;\n};\n\nexport function StargateClientProvider(\n props: PropsWithChildren\n) {\n const { children } = props;\n if (isBaseUrlStargateClientProviderProps(props)) {\n return (\n \n {children}\n \n );\n } else {\n return (\n \n {children}\n \n );\n }\n}\n\nfunction isBaseUrlStargateClientProviderProps(\n props: StargateClientProviderProps\n): props is BaseUrlStargateClientProviderProps {\n return !!(props as BaseUrlStargateClientProviderProps)?.baseUrl;\n}\n","import {\n AvailableProductsOptions,\n AvailableProductsOptions as AISAvailableProductsOptions,\n AvailableProductsResponse,\n AvailableProductsResponse as AISAvailableProductsResponse\n} from '@atlassiansox/asc-stargate';\nimport { AsyncResult, useAsync } from './use-async';\nimport { useStargateClient } from './use-stargate-client';\n\nexport function useAvailableProducts({\n includeInvalidSites,\n includeInvalidBitbucketSite\n}: AvailableProductsOptions): AsyncResult {\n const stargateClient = useStargateClient();\n\n return useAsync(\n () =>\n stargateClient.availableProductsLegacy({\n includeInvalidSites,\n includeInvalidBitbucketSite\n }),\n []\n );\n}\n\nexport function useAISAvailableProducts({\n includeInvalidSites,\n includeInvalidBitbucketSite,\n removeNonAdminSites\n}: AISAvailableProductsOptions): AsyncResult {\n const stargateClient = useStargateClient();\n\n return useAsync(\n () =>\n stargateClient.availableProducts({\n includeInvalidSites,\n includeInvalidBitbucketSite,\n removeNonAdminSites\n }),\n []\n );\n}\n","import {\n BitbucketWorkspacesResponse,\n BitbucketWorkspaceOptions\n} from '@atlassiansox/asc-stargate';\n\nimport { useStargateClient } from './use-stargate-client';\nimport { AsyncResult, useAsync } from './use-async';\n\ntype UseBitbucketWorkspacesTypeOptions = {\n readonly makeRequest?: boolean;\n} & BitbucketWorkspaceOptions;\n\nexport function useBitbucketWorkspaces({\n nextUrl,\n urlQuery,\n makeRequest\n}: UseBitbucketWorkspacesTypeOptions): AsyncResult {\n const stargateClient = useStargateClient();\n\n return useAsync(\n () =>\n makeRequest\n ? stargateClient.bitbucketWorkspaces({ nextUrl, urlQuery })\n : Promise.resolve(null),\n [makeRequest]\n );\n}\n","import { mapResponseToJson, mapResponseToText } from '@atlassiansox/asc-core';\nimport { fetch } from 'cross-fetch';\n\nimport {\n CloudExpandFreeValidationRequest,\n CloudExpandFreeValidationResponse,\n CloudSignUpRequest,\n CloudSignUpResponse,\n FreeBreachRequest,\n FreeBreachResponse,\n ProductEditionByCloudIdRequest,\n ProductEditionByCloudIdResponse,\n MarketplaceAppInstallRequest,\n MarketplaceAppInstallResponse\n} from './bxp-express-client.types';\n\nexport type BXPExpressClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport interface IBXPExpressClient {\n getXsrfToken(): Promise;\n cloudSignupAnonymous(\n request: CloudSignUpRequest\n ): Promise;\n cloudExpandFreeValidation(\n request: CloudExpandFreeValidationRequest\n ): Promise;\n postBreachStatus(request: FreeBreachRequest): Promise;\n productEditionByCloudId(\n request: ProductEditionByCloudIdRequest\n ): Promise;\n marketplaceAppInstall(\n request: MarketplaceAppInstallRequest\n ): Promise;\n}\n\nexport class BXPExpressClient implements IBXPExpressClient {\n public static DEFAULT_BASE_URL =\n 'https://wac.stg.internal.atlassian.com/endpoint';\n\n private readonly baseUrl: string;\n\n public constructor({\n baseUrl = BXPExpressClient.DEFAULT_BASE_URL\n }: BXPExpressClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async getXsrfToken(): Promise {\n return mapResponseToText(\n await fetch(`${this.baseUrl}/auth/xsrf`, {\n method: 'GET',\n credentials: 'include',\n headers: {\n accept: 'text/plain'\n }\n })\n );\n }\n\n public async cloudSignupAnonymous({\n payload,\n cookies\n }: CloudSignUpRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/signupAnon`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'ATL-Cookies': JSON.stringify(cookies)\n },\n body: JSON.stringify(payload),\n credentials: 'include'\n })\n );\n }\n\n public async marketplaceAppInstall({\n siteName,\n appKey,\n xsrfToken\n }: MarketplaceAppInstallRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/marketplace/app/install`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'xsrf-token': xsrfToken\n },\n body: JSON.stringify({ siteName, appKey }),\n credentials: 'include'\n })\n );\n }\n\n public async cloudExpandFreeValidation({\n cloudId,\n productKeys,\n edition\n }: CloudExpandFreeValidationRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/expand-free-validation`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n cloudId,\n productKeys,\n edition\n })\n })\n );\n }\n\n public async postBreachStatus({\n payload\n }: FreeBreachRequest): Promise {\n const options = {\n headers: {\n 'content-type': 'application/json'\n },\n method: 'POST',\n body: JSON.stringify(payload)\n };\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/expand-free-validation`, options)\n );\n }\n\n public async productEditionByCloudId({\n cloudId,\n productKey\n }: ProductEditionByCloudIdRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/edition/${cloudId}/${productKey}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n })\n );\n }\n}\n","import { createHeaders, mapResponseToJson } from '@atlassiansox/asc-core';\nimport { fetch } from 'cross-fetch';\n\nimport {\n CloudSignUpRequest,\n CloudSignUpResponse\n} from './bxp-express-client.types';\n\nexport type BXPExpressStargateClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport class BXPExpressStargateClient {\n public static DEFAULT_BASE_URL =\n 'https://wac.stg.internal.atlassian.com/gateway/api';\n\n private readonly baseUrl: string;\n\n public constructor({\n baseUrl = BXPExpressStargateClient.DEFAULT_BASE_URL\n }: BXPExpressStargateClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async cloudSignup({\n payload,\n cookies\n }: CloudSignUpRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/signup`, {\n method: 'POST',\n headers: createHeaders({\n 'Content-Type': 'application/json',\n 'ATL-Cookies': JSON.stringify(cookies)\n }),\n body: JSON.stringify(payload),\n credentials: 'include'\n })\n );\n }\n}\n","import {\n IBXPExpressClient,\n BXPExpressClient\n} from '@atlassiansox/bxp-express-client';\nimport React, { createContext, PropsWithChildren, useContext } from 'react';\n\nconst BXPExpressClientContext = createContext(\n new BXPExpressClient()\n);\n\nexport function useBXPExpressClient(): IBXPExpressClient {\n return useContext(BXPExpressClientContext);\n}\n\nexport type BXPExpressClientProviderProps = PropsWithChildren<{\n readonly client: IBXPExpressClient;\n}>;\n\nexport function BXPExpressClientProvider({\n client,\n children\n}: BXPExpressClientProviderProps) {\n return (\n \n {children}\n \n );\n}\n","import { HamletClient, IHamletClient } from '@atlassiansox/asc-hamlet';\nimport React, { createContext, PropsWithChildren, useContext } from 'react';\n\nconst HamletClientContext = createContext(new HamletClient());\n\nexport function useHamletClient(): IHamletClient {\n return useContext(HamletClientContext);\n}\n\nexport type HamletClientProviderProps = PropsWithChildren<{\n readonly client: IHamletClient;\n}>;\n\nexport function HamletClientProvider({\n client,\n children\n}: HamletClientProviderProps) {\n return (\n \n {children}\n \n );\n}\n","import { PricingCalculation } from '@atlassian/bxp-product-pricing';\nimport { PricingPlan } from '@atlassian/bxp-product-pricing/dist/types/src/utils';\nimport { usePricingCalculator } from '../contexts';\nimport { AsyncResult, useAsync } from './use-async';\n\nexport function useCalculation(\n units: number,\n pricingPlan: PricingPlan,\n currencyIsoCode: string\n): AsyncResult {\n const calculator = usePricingCalculator();\n return useAsync(\n () =>\n calculator.calculatePriceWithPricingPlan({\n units,\n currencyIsoCode,\n pricingPlan\n }),\n [units, pricingPlan, currencyIsoCode]\n );\n}\n","import { ICnasClient, CnasClient } from '@atlassiansox/asc-cnas';\nimport React, { createContext, PropsWithChildren, useContext } from 'react';\n\nconst CnasClientContext = createContext(new CnasClient());\n\nexport function useCnasClient(): ICnasClient {\n return useContext(CnasClientContext);\n}\n\nexport type CnasClientProviderProps = PropsWithChildren<{\n readonly client: ICnasClient;\n}>;\n\nexport function CnasClientProvider({\n client,\n children\n}: CnasClientProviderProps) {\n return (\n \n {children}\n \n );\n}\n","import { generateAsapHeader } from '@atlassiansox/asc-asap';\nimport { mapResponseToJson, mapResponseToText } from '@atlassiansox/asc-core';\nimport { fetch, Headers } from 'cross-fetch';\nimport {\n CloudNameAvailabilityRequest,\n CloudNameAvailabilityResponse,\n GetNameAvailabilityRequest,\n GetNameAvailabilityResponse\n} from './cnas-client.types';\n\nexport const STAGING_BASE_URL =\n 'https://wac.stg.internal.atlassian.com/apis/stg/cnas';\nexport const PRODUCTION_BASE_URL = 'https://www.atlassian.com/apis/prod/cnas';\nexport const ASAP_AUDIENCE = 'cloud-name-availability';\n\nexport type CnasClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport interface ICnasClient {\n getNameAvailability: ({\n cloudName\n }: GetNameAvailabilityRequest) => Promise;\n cloudNameAvailabilityCheck: ({\n cloudName,\n auth\n }: CloudNameAvailabilityRequest) => Promise;\n getHealthCheck: () => Promise;\n}\n\nexport class CnasClient implements ICnasClient {\n private readonly baseUrl: string;\n\n public constructor({ baseUrl = STAGING_BASE_URL }: CnasClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async getNameAvailability({\n cloudName\n }: GetNameAvailabilityRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/shopping-cart/name-availability/queries`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n cloudName\n })\n })\n );\n }\n\n public async getHealthCheck(): Promise {\n return mapResponseToText(\n await fetch(`${this.baseUrl}/healthcheck`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n );\n }\n\n public async cloudNameAvailabilityCheck({\n cloudName,\n auth\n }: CloudNameAvailabilityRequest): Promise {\n const headers = new Headers();\n\n headers.append('Content-Type', 'application/json');\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: ASAP_AUDIENCE\n })\n );\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/name-availability/check`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n cloudName\n })\n })\n );\n }\n}\n","import { Cookie } from '@atlassiansox/asc-core';\n\nexport type XsrfToken = string;\n\nexport type AtlassianIdAuth = {\n readonly xsrfToken: XsrfToken;\n readonly cloudSessionTokenCookie: Cookie;\n};\n\nexport function isAtlassianIdAuth(value: unknown): value is AtlassianIdAuth {\n const auth = value as AtlassianIdAuth | undefined;\n return !!auth?.xsrfToken && !!auth.cloudSessionTokenCookie;\n}\n","import { generateAsapHeader } from '@atlassiansox/asc-asap';\nimport {\n Cookie,\n mapResponseToJson,\n mapResponseToText,\n serializeCookie\n} from '@atlassiansox/asc-core';\nimport { fetch, Headers } from 'cross-fetch';\n\nimport { isAtlassianIdAuth } from './auth';\nimport {\n ActivateProductsRequest,\n ActivateProductsResponse,\n CloudStatusResponse,\n CreateCloudRequest,\n CreateCloudResponse,\n GetCloudStatusOptions,\n GetNameAvailabilityOptions,\n GetNameAvailabilityResponseBody,\n ReserveNameOptions,\n ReserveNameResponseBody,\n RenameSiteOptions,\n RenameSiteResponseBody,\n PollProgressOptions,\n PollProgressResponseBody\n} from './cofs-client.types';\n\nexport const PUBLIC_PROD_BASE_URL = 'https://www.atlassian.com/apis/prod/cofs';\nexport const PROD_BASE_URL = 'https://cofs.prod.public.atl-paas.net';\nexport const STAGING_BASE_URL = 'https://cofs.staging.public.atl-paas.net';\n\nconst AUDIENCE = 'cofs';\n\nexport type CofsClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport interface ICofsClient {\n activateProducts(\n request: ActivateProductsRequest\n ): Promise;\n createCloud(\n originalRequest: CreateCloudRequest\n ): Promise;\n getNameAvailability(options: GetNameAvailabilityOptions): Promise;\n reserveName(options: ReserveNameOptions): Promise;\n renameSite({ cloudId, newSiteName }: RenameSiteOptions): Promise;\n pollProgress({\n progressUri\n }: PollProgressOptions): Promise;\n getCloudStatus(request: GetCloudStatusOptions): Promise;\n getHealthCheck(): Promise;\n}\n\n/**\n * @see: https://cofs.prod.public.atl-paas.net/api.html\n */\nexport class CofsClient implements ICofsClient {\n private readonly baseUrl: string;\n\n public constructor({ baseUrl = STAGING_BASE_URL }: CofsClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async activateProducts(\n request: ActivateProductsRequest\n ): Promise {\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n });\n const { cloudId, body, auth, analyticsData, userContextToken } = request;\n\n let cookiesList: Cookie[] = [];\n if (analyticsData) {\n cookiesList = analyticsData;\n }\n\n if (isAtlassianIdAuth(auth)) {\n headers.append('ATL-XSRF-Token', auth.xsrfToken);\n cookiesList.push(auth.cloudSessionTokenCookie);\n } else {\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: AUDIENCE\n })\n );\n\n if (userContextToken) {\n headers.append('User-Context', userContextToken);\n }\n }\n\n if (cookiesList.length) {\n headers.append(\n 'Cookie',\n cookiesList.map((cookieItem) => serializeCookie(cookieItem)).join('; ')\n );\n }\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/${cloudId}/activateProducts`, {\n method: 'POST',\n headers,\n body: JSON.stringify(body)\n })\n );\n }\n\n public async createCloud(\n originalRequest: CreateCloudRequest\n ): Promise {\n const request = originalRequest;\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n });\n const {\n body,\n auth,\n userContextToken,\n source,\n clientIp,\n analyticsData\n } = request;\n\n if (source) {\n headers.append('X-ATL-Source', source);\n }\n\n let cookiesList: Cookie[] = [];\n if (analyticsData) {\n cookiesList = analyticsData;\n }\n\n if (isAtlassianIdAuth(auth)) {\n headers.append('ATL-XSRF-Token', auth.xsrfToken);\n cookiesList.push(auth.cloudSessionTokenCookie);\n } else {\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: AUDIENCE\n })\n );\n\n if (userContextToken) {\n headers.append('User-Context', userContextToken);\n }\n }\n\n if (cookiesList.length) {\n headers.append(\n 'Cookie',\n cookiesList.map((cookieItem) => serializeCookie(cookieItem)).join('; ')\n );\n }\n\n if (clientIp) {\n headers.append('X-Forwarded-For', clientIp);\n }\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud`, {\n method: 'POST',\n headers,\n body: JSON.stringify(body)\n })\n );\n }\n\n public async getNameAvailability({\n name\n }: GetNameAvailabilityOptions): Promise {\n const {\n success\n } = await mapResponseToJson(\n await fetch(`${this.baseUrl}/nameAvailability`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n name\n })\n })\n );\n\n return success;\n }\n\n public async reserveName({\n cloudName,\n auth\n }: ReserveNameOptions): Promise {\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n });\n\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: AUDIENCE\n })\n );\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloudname/availability/reserve`, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n cloudName\n }),\n credentials: 'include'\n })\n );\n }\n\n public async renameSite({\n cloudId,\n newSiteName\n }: RenameSiteOptions): Promise {\n const { progressUri } = await mapResponseToJson(\n await fetch(`${this.baseUrl}/${cloudId}/rename`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include',\n body: JSON.stringify({ cloudName: newSiteName })\n })\n );\n return progressUri;\n }\n\n public async getCloudStatus({\n cloudId,\n requestId\n }: GetCloudStatusOptions): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/${cloudId}/status/${requestId}`, {\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n })\n );\n }\n\n public async pollProgress({\n progressUri\n }: PollProgressOptions): Promise {\n return mapResponseToJson(\n await fetch(progressUri, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n })\n );\n }\n\n public async getHealthCheck(): Promise {\n return mapResponseToText(\n await fetch(`${this.baseUrl}/healthcheck`, {\n method: 'GET',\n\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n );\n }\n}\n","import { ICofsClient, CofsClient } from '@atlassiansox/asc-cofs';\nimport React, { createContext, PropsWithChildren, useContext } from 'react';\n\nconst CofsClientContext = createContext(new CofsClient());\n\nexport function useCofsClient(): ICofsClient {\n return useContext(CofsClientContext);\n}\n\nexport type CofsClientProviderProps = PropsWithChildren<{\n readonly client: ICofsClient;\n}>;\n\nexport function CofsClientProvider({\n client,\n children\n}: CofsClientProviderProps) {\n return (\n \n {children}\n \n );\n}\n","import React, { createContext, PropsWithChildren, useContext } from 'react';\n\nconst LocaleContext = createContext('en');\n\n/**\n * this should be replaced with new version of react-intl\n */\nexport function useLocale(): string {\n return useContext(LocaleContext);\n}\n\nexport type LocaleProviderProps = {\n readonly locale: string;\n};\n\nexport function LocaleProvider({\n locale,\n children\n}: PropsWithChildren) {\n return (\n {children}\n );\n}\n","import { UserProfile } from '@atlassiansox/asc-stargate';\n\nimport { useStargateClient } from './use-stargate-client';\nimport { AsyncResult, useAsync } from './use-async';\n\nexport function useMe(): AsyncResult {\n const stargateClient = useStargateClient();\n\n return useAsync(() => stargateClient.me({}), []);\n}\n","import { ProductKey } from '@atlassiansox/asc-product-catalog';\nimport {\n PricingCalculation,\n PricingPeriod\n} from '@atlassian/bxp-product-pricing';\n\nimport { usePricingCalculator } from '../contexts';\nimport { AsyncResult, useAsync } from './use-async';\n\nexport type PricingResult = PricingCalculation & {\n readonly units: number;\n readonly period: PricingPeriod;\n};\n\nexport function usePricing(\n productKey: ProductKey,\n units: number,\n period: PricingPeriod,\n currencyIsoCode: string\n): AsyncResult {\n const calculator = usePricingCalculator();\n return useAsync(async () => {\n const pricing = await calculator.calculatePrice({\n productKey,\n units,\n period,\n currencyIsoCode\n });\n return {\n ...pricing,\n units,\n period\n };\n }, [productKey, units, period, currencyIsoCode]);\n}\n","import {\n PricingCalculation,\n PricingPeriod,\n PricingPlan\n} from '@atlassian/bxp-product-pricing';\nimport { usePricingCalculator } from '../contexts';\nimport { AsyncResult, useAsync } from './use-async';\n\ntype MinimalProductState = { key: string; units: number };\n\nconst reduceCalcs = (calcs: PricingCalculation[]) =>\n calcs.reduce((total, calc) => calc.total + total, 0);\n\nexport function useTotal(\n products: MinimalProductState[],\n addons: Array<{ pricingPlan: PricingPlan; units: number }>,\n currencyIsoCode: string,\n period: PricingPeriod\n): AsyncResult {\n const calculator = usePricingCalculator();\n return useAsync(async () => {\n const productsTotal = await Promise.all(\n products.map((product) =>\n calculator.calculatePrice({\n productKey: product.key,\n units: product.units,\n period,\n currencyIsoCode\n })\n )\n ).then(reduceCalcs);\n\n const addonsTotal = await Promise.all(\n addons.map(async (addon) => {\n try {\n return await calculator.calculatePriceWithPricingPlan({\n units: addon.units,\n currencyIsoCode,\n pricingPlan: addon.pricingPlan\n });\n } catch (e) {\n // https://hello.atlassian.net/browse/WCF-1173\n // temp fix for apps with tier limits below 5000\n return {\n currencyIsoCode,\n total: 0,\n breakdown: [],\n pricingPlan: []\n };\n }\n })\n ).then(reduceCalcs);\n\n return productsTotal + (addonsTotal || 0);\n }, [products, addons, currencyIsoCode, period]);\n}\n","import { Cookie } from '@atlassiansox/asc-core';\nimport { Asap } from './models';\n\n/**\n * Auth\n */\n\nexport type AsapAuth = {\n readonly asap: Asap;\n};\n\nexport function isAsapAuth(auth: AsapAuth) {\n return !!auth.asap.issuer && !!auth.asap.keyId && !!auth.asap.privateKey;\n}\n\nexport type CloudSessionTokenCookieType = {\n readonly cloudSessionTokenCookie?: Cookie;\n};\n\n/**\n * /me\n */\n\nexport type MeResponse = {\n readonly account_id: string;\n readonly name: string;\n readonly email: string;\n readonly picture: string;\n readonly locale: string;\n readonly zoneinfo: string;\n};\n\nexport type WorkspaceUserType = {\n readonly display_name: string;\n readonly account_id: string;\n readonly links: Record;\n readonly nickname: string;\n readonly type: string;\n readonly uuid: string;\n};\n\nexport type WorkspaceType = {\n readonly name: string;\n readonly type: string;\n readonly uuid: string;\n readonly links: Record;\n readonly slug: string;\n};\n\nexport const CHECK_ADD_PROJECT_ACTION = 'addProduct';\nexport const CHECK_ADD_PROJECT_ARI_PREFIX = 'ari:cloud:platform::site/';\n\nexport type CheckAddProductCapabilitiesRequestAsap = {\n readonly auth: AsapAuth;\n};\n\nexport type CheckAddProductCapabilitiesRequest = {\n readonly cloudId: string;\n readonly product: string;\n readonly licenceLimit: number;\n} & CheckAddProductCapabilitiesRequestAsap;\n\nexport type CheckAddProductCapabilitiesRequestItem = {\n readonly action: string;\n readonly owner: string;\n readonly product: string;\n readonly licenceLimit: number;\n};\n\nexport type CheckAddProductCapabilitiesResponse = {\n readonly capable: boolean;\n readonly resources: [\n {\n readonly resource: string;\n readonly availableLicences: number;\n readonly requiredLicences: number;\n }\n ];\n};\n\nexport type CheckAuthenticationMethodsAvailableRequest = {\n readonly email: string;\n readonly application: string;\n readonly redirect_to: string;\n readonly auth: AsapAuth;\n};\n\nexport type CheckAuthenticationMethodsAvailableResponse = {\n readonly account_id: string;\n readonly methods: [\n {\n readonly type: string;\n readonly redirect_to: string;\n }\n ];\n};\n\nexport type UserSignupResponse = {\n readonly id: string;\n};\n\nexport type PermissionsPermittedRequestAsap = {\n readonly auth: AsapAuth;\n};\n\nexport type PermissionsPermittedRequestParams = {\n readonly dontRequirePrincipalInSite: boolean;\n readonly permissionId: string;\n readonly principalId: string;\n readonly resourceId: string;\n};\n\nexport type PermissionsPermittedRequest = PermissionsPermittedRequestAsap &\n PermissionsPermittedRequestParams;\n\nexport type PermissionsPermittedResponse = string;\n\nexport type SignupRequest = {\n readonly email: string;\n readonly displayName?: string;\n readonly application: string;\n readonly redirectTo?: string;\n readonly suppressEmail?: boolean;\n readonly locale?: string;\n readonly gRecaptchaResponse?: string;\n readonly anonymousId?: string;\n};\n\nexport type SignupRequestOptions = {\n readonly auth: AsapAuth;\n};\n\nexport type GetUserUpstreamResponse = {\n name: string;\n // ...more fields exist, just not using them now\n};\n\nexport type GetUsersByCloudIdRequest = {\n readonly cloudId: string;\n readonly auth: AsapAuth;\n};\n\nexport type GetUsersByCloudIdResponse = {\n Resources: Array;\n};\n\nexport type User = {\n id: string;\n displayName: string;\n locale: string;\n emails: Array<{\n value: string;\n primary: boolean;\n }>;\n};\n\nexport type GetUserByCloudAndAaIdRequest = {\n readonly cloudId: string;\n readonly atlassianAccountId: string;\n readonly auth: AsapAuth;\n};\n\nexport type GetUserByCloudAndAaIdResponseEmail = {\n readonly value: string;\n readonly type: string;\n readonly primary: boolean;\n};\n\nexport type GetUserByCloudAndAaIdResponseGroup = {\n readonly value: string;\n readonly display: string;\n};\n\nexport type GetUserByCloudAndAaIdResponse = {\n readonly id: string;\n readonly userName: string;\n readonly displayName: string;\n readonly title: string;\n readonly active: boolean;\n readonly timezone: string;\n readonly emails: GetUserByCloudAndAaIdResponseEmail[];\n readonly groups: GetUserByCloudAndAaIdResponseGroup[];\n};\n","import _ from 'lodash';\n\nimport {\n mapResponseToJson,\n mapResponseToText,\n UnsucessfulFetchError\n} from '@atlassiansox/asc-core';\nimport { generateAsapHeader } from '@atlassiansox/asc-asap';\nimport { fetch, Headers } from 'cross-fetch';\n\nimport {\n CHECK_ADD_PROJECT_ACTION,\n CHECK_ADD_PROJECT_ARI_PREFIX,\n CheckAddProductCapabilitiesRequest,\n CheckAddProductCapabilitiesRequestItem,\n CheckAddProductCapabilitiesResponse,\n CheckAuthenticationMethodsAvailableRequest,\n CheckAuthenticationMethodsAvailableResponse,\n isAsapAuth,\n PermissionsPermittedRequest,\n PermissionsPermittedRequestParams,\n PermissionsPermittedResponse,\n GetUserUpstreamResponse,\n SignupRequest,\n SignupRequestOptions,\n UserSignupResponse,\n GetUsersByCloudIdRequest,\n GetUsersByCloudIdResponse,\n GetUserByCloudAndAaIdRequest,\n GetUserByCloudAndAaIdResponse\n} from './identity-client.types';\n\nexport const DEFAULT_IDENTITY_BASE_URL = 'https://id.staging.atl-paas.net';\nconst ASAP_AUDIENCE = 'identity-platform';\n\nexport interface IIdentityClient {\n permissionsPermitted(\n request: PermissionsPermittedRequest\n ): Promise;\n checkAddProductCapabilities(\n request: CheckAddProductCapabilitiesRequest\n ): Promise;\n checkAuthenticationMethodsAvailable(\n options: CheckAuthenticationMethodsAvailableRequest\n ): Promise;\n getUserName(accountId: string): Promise;\n userSignup(\n request: SignupRequest,\n options: SignupRequestOptions\n ): Promise;\n getUsersByCloudId(\n request: GetUsersByCloudIdRequest\n ): Promise;\n getHealthCheck(): Promise;\n getUserByCloudAndAaId(\n request: GetUserByCloudAndAaIdRequest\n ): Promise;\n}\n\nexport type IdentityClientOptions = {\n readonly baseUrlStargate?: string;\n readonly baseUrlIdentity?: string;\n};\n\nexport class IdentityClient implements IIdentityClient {\n private readonly baseUrlIdentity: string;\n\n public constructor({\n baseUrlIdentity = DEFAULT_IDENTITY_BASE_URL\n }: IdentityClientOptions = {}) {\n this.baseUrlIdentity = baseUrlIdentity;\n }\n\n public async permissionsPermitted(\n request: PermissionsPermittedRequest\n ): Promise {\n const {\n auth,\n permissionId,\n principalId,\n resourceId,\n dontRequirePrincipalInSite\n } = request;\n\n // URL is defined globally for node versions >= 10.0.0 and globally in browsers,\n // so I'm assuming this should work cross platform\n const url = new URL(`${this.baseUrlIdentity}/v1/permissions/permitted`);\n const params: PermissionsPermittedRequestParams = {\n permissionId,\n principalId,\n resourceId,\n dontRequirePrincipalInSite\n };\n _.map(params, (val, key) => {\n url.searchParams.append(key, val.toString());\n });\n\n const headers = new Headers();\n\n if (isAsapAuth(auth)) {\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: ASAP_AUDIENCE\n })\n );\n }\n\n return mapResponseToText(\n await fetch(`${url}`, {\n method: 'GET',\n headers\n })\n );\n }\n\n public async checkAddProductCapabilities(\n request: CheckAddProductCapabilitiesRequest\n ): Promise {\n const { auth, cloudId, product, licenceLimit } = request;\n\n const url = new URL(`${this.baseUrlIdentity}/v2/licences/capabilities`);\n const requestData: CheckAddProductCapabilitiesRequestItem[] = [\n {\n action: CHECK_ADD_PROJECT_ACTION,\n owner: `${CHECK_ADD_PROJECT_ARI_PREFIX}${cloudId}`,\n product,\n licenceLimit\n }\n ];\n const headers = new Headers();\n\n headers.append('Content-Type', 'application/json');\n\n if (isAsapAuth(auth)) {\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: ASAP_AUDIENCE\n })\n );\n }\n\n const response = await fetch(`${url}`, {\n method: 'post',\n headers,\n body: JSON.stringify(requestData)\n });\n\n if (response.ok) {\n return response.json();\n } else {\n throw new UnsucessfulFetchError({\n response\n });\n }\n }\n\n public async checkAuthenticationMethodsAvailable(\n options: CheckAuthenticationMethodsAvailableRequest\n ): Promise {\n const { email, redirect_to, application, auth } = options;\n\n return mapResponseToJson(\n await fetch(\n `${this.baseUrlIdentity}/v2/authentication/methods-available`,\n {\n method: 'POST',\n headers: {\n 'Authorization': generateAsapHeader({\n ...auth.asap,\n audience: ASAP_AUDIENCE\n }),\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n email,\n redirect_to,\n application\n })\n }\n )\n );\n }\n\n public async getUserName(accountId: string): Promise {\n const result = await fetch(`${this.baseUrlIdentity}/v2/users/${accountId}`);\n\n if (result.status === 404) {\n return undefined;\n }\n\n if (!result.ok) {\n throw new Error(await result.text());\n }\n\n const data = (await result.json()) as GetUserUpstreamResponse;\n\n return data.name;\n }\n\n public async getHealthCheck(): Promise {\n return mapResponseToText(\n await fetch(`${this.baseUrlIdentity}/healthcheck`)\n );\n }\n\n public async userSignup(\n request: SignupRequest,\n options: SignupRequestOptions\n ): Promise {\n const { redirectTo, anonymousId, ...body } = request;\n\n const headers = new Headers({\n 'Authorization': generateAsapHeader({\n ...options.auth.asap,\n audience: ASAP_AUDIENCE\n }),\n 'Content-Type': 'application/json'\n });\n\n if (anonymousId) {\n headers.append('X-Atl-Anonymous-Id', anonymousId);\n }\n\n return mapResponseToJson(\n await fetch(`${this.baseUrlIdentity}/v2/users/signup`, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n ...body,\n redirect_to: redirectTo\n })\n })\n );\n }\n\n public async getUsersByCloudId(\n request: GetUsersByCloudIdRequest\n ): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrlIdentity}/v1/site/${request.cloudId}/Users`, {\n method: 'GET',\n headers: {\n 'Authorization': generateAsapHeader({\n ...request.auth.asap,\n audience: ASAP_AUDIENCE\n }),\n 'Content-Type': 'application/json'\n }\n })\n );\n }\n\n public async getUserByCloudAndAaId(\n request: GetUserByCloudAndAaIdRequest\n ): Promise {\n return mapResponseToJson(\n await fetch(\n `${this.baseUrlIdentity}/v1/site/${request.cloudId}/Users/${request.atlassianAccountId}`,\n {\n method: 'GET',\n headers: {\n 'Authorization': generateAsapHeader({\n ...request.auth.asap,\n audience: ASAP_AUDIENCE\n }),\n 'Content-Type': 'application/json'\n }\n }\n )\n );\n }\n}\n","/**\n * Commonly-used constants, enums/mappings\n */\n\nexport const DEFAULT_COUNTRY_ISO_CODE = 'US';\nexport const DEFAULT_CURRENCY_ISO_CODE = 'USD';\n\nexport const ENV_DEV = 'dev';\nexport const ENV_STAGING = 'staging';\nexport const ENV_PRODUCTION = 'production';\n\nexport const URL_STAGING_IDENTITY = 'https://id.stg.internal.atlassian.com';\nexport const URL_PRODUCTION_IDENTITY = 'https://id.atlassian.com';\n\nexport const URL_STAGING_WAC_DEPRECATED =\n 'https://qa-wac.internal.atlassian.com';\nexport const URL_STAGING_WAC = 'https://wac.stg.internal.atlassian.com';\nexport const URL_PRODUCTION_WAC = 'https://www.atlassian.com';\n\nexport const URL_STAGING_API_PRIVATE =\n 'https://wac.stg.internal.atlassian.com/gateway/api';\nexport const URL_PRODUCTION_API_PRIVATE =\n 'https://www.atlassian.com/gateway/api';\n\nexport const RECAPTCHA_KEY = '6LeTa5ocAAAAAJefQaFL-1ENlPNY3Wq2j-GhcZ6n';\nexport const RECAPTCHA_KEY_TEST = '6Lf0JekdAAAAAAWT2kBc89gFVKhxkwTPxa-e9tvx';\n\nexport enum ProductKey {\n JIRA_SOFTWARE = 'jira-software.ondemand',\n BITBUCKET = 'com.atlassian.bitbucket',\n CONFLUENCE = 'confluence.ondemand',\n OPSGENIE = 'opsgenie',\n JIRA_SERVICE_DESK = 'jira-servicedesk.ondemand',\n JIRA_SERVICE_MANAGEMENT = 'jira-servicedesk.ondemand',\n JIRA_CORE = 'jira-core.ondemand',\n JIRA_WORK_MANAGEMENT = 'jira-core.ondemand',\n ACCESS = 'com.atlassian.identity-manager',\n STATUSPAGE = 'statuspage',\n CONFLUENCE_PLUGIN_QUESTIONS = 'com.atlassian.confluence.plugins.confluence-questions.ondemand',\n CONFLUENCE_TEAM_CALENDARS = 'team.calendars.confluence.ondemand',\n JIRA_ROADMAPS = 'com.radiantminds.roadmaps-jira.ondemand',\n JIRA_BONFIRE = 'bonfire.jira.ondemand',\n JIRA_REFAPP = 'refapp',\n TEAM_CENTRAL = 'townsquare',\n JIRA_PRODUCT_DISCOVERY = 'jira-product-discovery',\n COMPASS = 'compass',\n ATLAS = 'townsquare',\n FABRIC = 'atlassian-whiteboard',\n BEACON = 'beacon'\n}\n\nexport enum AppKey {\n TEMPO = 'is.origo.jira.tempo-plugin',\n ZEPHYR = 'com.thed.zephyr.je',\n BIGPICTURE = 'eu.softwareplant.bigpicture'\n}\n","export namespace Url {\n export function getLocation(): Location {\n return window.location;\n }\n\n export function getUrl(): string {\n return getLocation().href;\n }\n\n export function getUnhashedUrl(url = getUrl()) {\n url = url || window.location.href;\n const hashIndex = url.indexOf('#');\n return url.substring(0, hashIndex > -1 ? hashIndex : url.length);\n }\n\n export function htmlEscape(str: string) {\n return String(str)\n .replace(/&/g, '&')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n }\n\n export function getParameterByName(name: string, url = getUrl()): string {\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');\n const results = regex.exec(url);\n\n if (!results || !results[2]) {\n return '';\n }\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n }\n\n export function getQueryString(url = getUrl()) {\n let questionIndex;\n let r = window.location?.search?.substring(\n 1,\n window.location.search.length\n );\n if (url) {\n url = getUnhashedUrl(url);\n questionIndex = url.indexOf('?');\n r = questionIndex > -1 ? url.substring(questionIndex + 1) : '';\n }\n return r;\n }\n\n export function getUrlParams(url = getUrl()) {\n const qs: string = getQueryString(url);\n let r: { [key: string]: any } | null = null;\n let paramPairs;\n let keyValuePair: string[] | null;\n if (qs) {\n paramPairs = decodeURIComponent(qs).split('&');\n for (let i = 0, iLen = paramPairs.length; i < iLen; i++) {\n if (!r) {\n r = {};\n }\n keyValuePair = paramPairs[i].split('=');\n if (keyValuePair.length > 2) {\n keyValuePair[1] = paramPairs[i].split('=').slice(1).join('=');\n }\n r[keyValuePair[0]] =\n keyValuePair.length > 1 ? decodeURIComponent(keyValuePair[1]) : null;\n }\n }\n return r;\n }\n}\n","import {\n ENV_DEV,\n ENV_PRODUCTION,\n ENV_STAGING,\n URL_PRODUCTION_API_PRIVATE,\n URL_PRODUCTION_IDENTITY,\n URL_PRODUCTION_WAC,\n URL_STAGING_API_PRIVATE,\n URL_STAGING_IDENTITY,\n URL_STAGING_WAC,\n URL_STAGING_WAC_DEPRECATED,\n RECAPTCHA_KEY,\n RECAPTCHA_KEY_TEST\n} from '../constants';\nimport { Url } from './url';\n\nexport namespace Environment {\n const VALID_LOCALES = [\n 'cn',\n 'cs',\n 'de',\n 'es',\n 'fr',\n 'it',\n 'ko',\n 'hu',\n 'nl',\n 'ja',\n 'pl',\n 'br',\n 'ro',\n 'fi',\n 'ru',\n 'zh'\n ];\n\n // Map of bxp-kit locales to equivalent growth-kit locale, as found in\n // https://bitbucket.org/atlassian/growth-kit/src/master/packages/components/up-flow/_locales/\n // NOTE: List compiled using WAC language switcher, as VALID_LOCALES is not accurate\n type LocaleMap = { [key: string]: string };\n const BXP_TO_GROWTH_LOCALE_MAP: LocaleMap = {\n de: 'de',\n es: 'es',\n fr: 'fr',\n it: 'it',\n ko: 'ko',\n hu: 'hu',\n nl: 'nl',\n ja: 'ja',\n pl: 'pl',\n br: 'pt-BR',\n ru: 'ru',\n zh: 'zh'\n };\n\n export function getSubdomain() {\n const urlParts = Url.getLocation().hostname.split('.');\n\n if (urlParts[1] === 'dev') {\n return 'localhost';\n }\n\n return urlParts[0];\n }\n\n export function getEnvironment() {\n switch (getSubdomain()) {\n case 'wac':\n case 'qa-wac':\n case 'author':\n case 'proof':\n case 'statlas':\n case 'truth':\n return ENV_STAGING;\n case 'localhost':\n case 'local':\n return ENV_DEV;\n case 'www':\n case 'atlassian':\n case 'bitbucket':\n case 'sourcetreeapp':\n case 'agile':\n case 'git':\n case 'software':\n return ENV_PRODUCTION;\n default:\n /* for omlet instances */\n return ENV_STAGING;\n }\n }\n\n export function isProduction() {\n return getEnvironment() === ENV_PRODUCTION;\n }\n\n export function isDev() {\n return getEnvironment() === ENV_DEV;\n }\n\n export function isStaging() {\n return getEnvironment() === ENV_STAGING;\n }\n\n export function getIdentityBaseUrl() {\n if (!isProduction()) {\n return URL_STAGING_IDENTITY;\n } else {\n return URL_PRODUCTION_IDENTITY;\n }\n }\n\n export function getWacIntegrationUrl() {\n if (!isProduction()) {\n const useQaWAC =\n window.location.hostname.includes('qa-wac') ||\n window.location.hostname.includes('author');\n\n return useQaWAC ? URL_STAGING_WAC_DEPRECATED : URL_STAGING_WAC;\n } else {\n return URL_PRODUCTION_WAC;\n }\n }\n\n export function getApiPrivateUrl() {\n if (!isProduction()) {\n return URL_STAGING_API_PRIVATE;\n } else {\n return URL_PRODUCTION_API_PRIVATE;\n }\n }\n\n export function getHamletUrl() {\n if (!isProduction()) {\n return `${getWacIntegrationUrl()}/apis/stg/hamlet`;\n } else {\n return `${getWacIntegrationUrl()}/hamlet`;\n }\n }\n\n export function getInternationalSubdomain() {\n const hostnameSubdomain = getSubdomain();\n if (!VALID_LOCALES.includes(hostnameSubdomain)) {\n return false;\n }\n return hostnameSubdomain;\n }\n\n export function getPathLocale() {\n const pathParts = window.location.pathname.split('/');\n\n // check for https://author.marketing.internal.atlassian.com/wac/ja\n const localeIndex = pathParts.length > 2 && pathParts[1] === 'wac' ? 2 : 1;\n return pathParts.length > 1 &&\n VALID_LOCALES.includes(pathParts[localeIndex])\n ? `/${pathParts[localeIndex]}`\n : '';\n }\n\n // Return a locale that is compatible with growth-kit\n // https://bitbucket.org/atlassian/growth-kit/src/master/packages/components/up-flow/_locales/\n export function getGrowthKitLocale(): string {\n const currentLocale = getPathLocale().substring(1);\n const growthKitLocale = BXP_TO_GROWTH_LOCALE_MAP[currentLocale];\n if (growthKitLocale !== undefined) {\n return growthKitLocale;\n }\n return '';\n }\n\n type GetCurrentSearchParamOptions = {\n readonly bundle?: string;\n readonly product?: string;\n readonly edition?: string;\n readonly templateId?: string;\n readonly migrationSourceUuid?: string;\n readonly developer?: string;\n readonly src?: string;\n };\n\n export function getCurrentSearchParam({\n bundle,\n product,\n edition,\n templateId,\n migrationSourceUuid,\n developer,\n src\n }: GetCurrentSearchParamOptions) {\n const location = Url.getLocation();\n const internationalSubdomain = getInternationalSubdomain();\n\n const params = new URLSearchParams(location.search.slice(1));\n\n if (internationalSubdomain) {\n params.set('lang', internationalSubdomain);\n }\n\n if (bundle) {\n params.set('bundle', bundle);\n }\n\n if (product) {\n params.set('product', product);\n }\n\n if (edition) {\n params.set('edition', edition);\n }\n\n if (templateId) {\n params.set('templateId', templateId);\n }\n\n if (migrationSourceUuid) {\n params.set('migrationSourceUuid', migrationSourceUuid);\n }\n\n if (developer) {\n params.set('developer', developer);\n }\n\n if (src) {\n params.set('src', src);\n }\n\n return '?' + params.toString();\n }\n\n export function getParam(param: string) {\n const params = new URLSearchParams(location.search.slice(1));\n return params.get(param);\n }\n\n type GetSocialSignUpUrlOptions = {\n readonly loginGoogleOrigin: string;\n readonly socialContinueUrl: string;\n readonly bundle?: string;\n readonly product?: string;\n readonly edition?: string;\n readonly templateId?: string;\n readonly migrationSourceUuid?: string;\n readonly developer?: string;\n readonly src?: string;\n readonly continueUrlOverride?: string;\n };\n\n export function getSocialSignUpUrl({\n loginGoogleOrigin,\n socialContinueUrl,\n bundle,\n product,\n edition,\n templateId,\n migrationSourceUuid,\n developer,\n src,\n continueUrlOverride\n }: GetSocialSignUpUrlOptions) {\n const splitPath = socialContinueUrl.split('/');\n\n if (splitPath.length >= 2 && splitPath[1].includes('wac')) {\n // remove contextual path if applicable\n splitPath.splice(0, 2);\n socialContinueUrl = `/${splitPath.join('/')}`;\n }\n socialContinueUrl = `${getWacIntegrationUrl()}${socialContinueUrl}`;\n\n const signupSocialUrl = `${socialContinueUrl}${getCurrentSearchParam({\n bundle,\n product,\n edition,\n templateId,\n migrationSourceUuid,\n developer,\n src\n })}`;\n const cobranding = `application=wac`;\n const socialSignup = `&social-signup-login=true`;\n const atlOrigin = `&atlOrigin=${encodeURIComponent(loginGoogleOrigin)}`;\n let continueUrl = `&continue=${encodeURIComponent(\n `${signupSocialUrl}${socialSignup}`\n )}`;\n const accountPrompt = `&prompt=select_account`;\n\n if (templateId && continueUrlOverride) {\n continueUrl = `&continue=${encodeURIComponent(continueUrlOverride)}`;\n }\n return `${getIdentityBaseUrl()}/login/initiate/google?${cobranding}${atlOrigin}${continueUrl}${accountPrompt}`;\n }\n\n export function getIdSigninUrl(\n atlOriginId?: string,\n skipEncoding?: boolean,\n continueUrlOverride?: string\n ) {\n let currentUrl = skipEncoding\n ? Url.getUrl()\n : encodeURIComponent(Url.getUrl());\n if (continueUrlOverride) {\n currentUrl = skipEncoding\n ? continueUrlOverride\n : encodeURIComponent(continueUrlOverride);\n }\n const returnUrl = atlOriginId\n ? `${getIdentityBaseUrl()}/login?atlOrigin=${atlOriginId}&continue=${currentUrl}`\n : `${getIdentityBaseUrl()}/login?continue=${currentUrl}`;\n return returnUrl;\n }\n\n export function getIdSwitchUserUrl(atlOriginId?: string) {\n const idSigninUrl = new URL(getIdSigninUrl(atlOriginId, false));\n idSigninUrl.searchParams.set('application', 'wac');\n idSigninUrl.searchParams.set('prompt', 'select_account');\n return idSigninUrl.toString();\n }\n\n export const reCaptchaKey = isProduction()\n ? RECAPTCHA_KEY\n : RECAPTCHA_KEY_TEST;\n}\n","/**\n * Get experiments+cohort that the user is enrolled in formatted for consumption by MEP Provisioning Provider\n * Returns (possibly empty) array of objects with experimentId and cohortId properties\n */\n\nexport const getAllOptimizelyCohortsAsObjects = () => {\n if (\n typeof window.optimizely !== 'undefined' &&\n typeof window.optimizely.get === 'function'\n ) {\n const variations = window.optimizely.get('state').getVariationMap();\n\n return Object.keys(variations).map((key) => ({\n experimentId: key,\n cohortId: variations[key].id\n }));\n }\n return [];\n};\n\n/**\n * Extend getAllOptimizelyCohortsAsObjects function to return null if array is empty\n */\n\nexport const getMappedOptimizelyCohorts = () => {\n const cohorts = getAllOptimizelyCohortsAsObjects();\n return cohorts.length ? cohorts : null;\n};\n\n/**\n * Extend Window to support optimizely\n */\n\ndeclare global {\n interface Window {\n optimizely: any;\n }\n}\n","import { StargateClient, UserProfile } from '@atlassiansox/asc-stargate';\nimport { Environment } from '../';\n\n/**\n * Promisified `/me`, for when using the hook is not applicable\n */\n\nexport function requestMe(): Promise {\n const stargateClient = new StargateClient({\n baseUrl: Environment.getApiPrivateUrl()\n });\n\n return stargateClient.me({});\n}\n\n/**\n * Name utilities\n */\n\nexport const getFirstName = (fullName = ''): string => {\n return fullName.trim().split(' ')[0];\n};\n\nexport const getLastName = (fullName = ''): string => {\n let lastName = '';\n const names = fullName.trim().split(' ');\n\n if (names.length > 1) {\n names.shift();\n lastName = names.join(' ');\n }\n\n return lastName || '.';\n};\n","/**\n * sessionStorage, localStorage, cookie storage, etc.\n */\n\nexport namespace Storage {\n export function hasStorage(): boolean {\n return (\n localStorage &&\n sessionStorage &&\n typeof localStorage.getItem === 'function' &&\n typeof sessionStorage.getItem === 'function'\n );\n }\n\n /**\n * Localstorage (w/ fallback to cookies)\n */\n\n export function getLocalStorage(key: string) {\n if (!hasStorage) {\n return getCookie(key);\n }\n return localStorage.getItem(key);\n }\n\n export function setLocalStorage(key: string, value: string) {\n if (!hasStorage) {\n setCookie(key, value);\n }\n\n try {\n localStorage.setItem(key, value);\n } catch (e) {\n // Don't store for private browsing\n // tslint:disable-next-line:no-console\n console.log(\n 'Local Storage failed, check if browsing in Safari private window.'\n );\n }\n }\n\n export function removeLocalStorage(key: string) {\n if (!hasStorage) {\n removeCookie(key);\n }\n try {\n localStorage.removeItem(key);\n } catch (e) {\n // Don't remove for private browsing\n // tslint:disable-next-line:no-console\n console.log(\n 'Local Storage failed, check if browsing in Safari private window.'\n );\n }\n }\n\n /**\n * Sessionstorage (w/ fallback to cookies)\n */\n\n export function getSessionStorage(key: string) {\n if (!hasStorage) {\n return getCookie(key);\n }\n return sessionStorage.getItem(key);\n }\n\n export function setSessionStorage(key: string, value: string) {\n if (!hasStorage) {\n setCookie(key, value);\n }\n try {\n sessionStorage.setItem(key, value);\n } catch (e) {\n // Don't store for private browsing\n // tslint:disable-next-line:no-console\n console.log(\n 'Session Storage failed, check if browsing in Safari private window.'\n );\n }\n }\n\n export function removeSessionStorage(key: string) {\n if (!hasStorage) {\n removeCookie(key);\n }\n try {\n sessionStorage.removeItem(key);\n } catch (e) {\n // Don't remove for private browsing\n // tslint:disable-next-line:no-console\n console.log(\n 'Session Storage failed, check if browsing in Safari private window.'\n );\n }\n }\n\n /**\n * Cookie\n */\n\n export function getCookie(key: string) {\n const encodedName = encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, '\\\\$&');\n const regex = new RegExp(\n '(?:(?:^|.*;)\\\\s*' + encodedName + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'\n );\n return decodeURIComponent(document.cookie.replace(regex, '$1')) || null;\n }\n\n export function setCookie(\n key: string,\n value: string,\n days?: number,\n sameSite?: string\n ) {\n let expires = '';\n const sameSiteString = sameSite\n ? `; SameSite=${\n (sameSite && sameSite === 'Strict') || sameSite === 'Lax'\n ? sameSite\n : 'None'\n }`\n : '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toUTCString();\n }\n document.cookie = key + '=' + value + expires + sameSiteString + '; path=/';\n }\n\n export function removeCookie(key: string) {\n setCookie(key, '', -1);\n }\n}\n","import _ from 'lodash';\nimport { Product, ProductKey } from '../';\n\n/**\n * Check whether a signup is for BB/JSW\n */\n\nexport const getIsBundleBbJsw = (products: Product[]): boolean => {\n return (\n products.length === 2 &&\n _.includes(\n _.map(products, (val) => val.product === ProductKey.JIRA_SOFTWARE),\n true\n ) &&\n _.includes(\n _.map(products, (val) => val.product === ProductKey.BITBUCKET),\n true\n )\n );\n};\n\n/**\n * Check whether a signup is for Devops (JSW, Conf, BB, OG)\n */\n\nexport const getIsBundleDevops = (products: Product[]): boolean => {\n return (\n products.length === 4 &&\n _.includes(\n _.map(products, (val) => val.product === ProductKey.JIRA_SOFTWARE),\n true\n ) &&\n _.includes(\n _.map(products, (val) => val.product === ProductKey.CONFLUENCE),\n true\n ) &&\n _.includes(\n _.map(products, (val) => val.product === ProductKey.BITBUCKET),\n true\n ) &&\n _.includes(\n _.map(products, (val) => val.product === ProductKey.OPSGENIE),\n true\n )\n );\n};\n","// Here is the ticket, where we pulled the offering ID's\n// https://hello.atlassian.net/browse/BXPSU-421\n\nimport { ProductKey as ProductKeys } from '../constants';\n\nenum PricingType {\n FREE = 'FREE',\n PAID = 'PAID',\n LIMITED_FREE = 'LIMITED_FREE'\n}\n\nconst OFFERING_IDS = {\n dev: {\n [ProductKeys.JIRA_SOFTWARE]: {\n free: {\n offeringId: 'de2887c9-8a55-41d5-b5cf-ad6a5589ebed',\n productKey: ProductKeys.JIRA_SOFTWARE,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: 'a70b5cbb-1ae1-4003-8f4a-9001a4a50526',\n productKey: ProductKeys.JIRA_SOFTWARE,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n },\n premium: {\n offeringId: '6dd805b4-da75-4374-a7a7-cf0b12f7ea07',\n productKey: ProductKeys.JIRA_SOFTWARE,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'user'\n }\n },\n [ProductKeys.CONFLUENCE]: {\n free: {\n offeringId: '7547cfd6-a804-4e42-8bed-e656d49ea09e',\n productKey: ProductKeys.CONFLUENCE,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '2eda1119-fab4-4699-ab37-ff8f12052cde',\n productKey: ProductKeys.CONFLUENCE,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n },\n premium: {\n offeringId: '06ef245c-5fa3-473b-8822-5e6fe072ae4b',\n productKey: ProductKeys.CONFLUENCE,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'user'\n }\n },\n [ProductKeys.JIRA_SERVICE_MANAGEMENT]: {\n free: {\n // incentive for JSM remove after promotion is done, https://hello.atlassian.net/browse/SPICE-660\n offeringId: '1c201b9d-1615-4f8b-b9d4-b75be021a2aa',\n pricingPlanId: '9d2cba0d-42c6-4caa-9ec7-4d4f4225dce6', // COFS pricing plan for stg\n pricingType: PricingType.LIMITED_FREE, // pricing type for CCP\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n edition: 'standard',\n chargeElement: 'agent'\n // offeringId: '2bad3c2f-d740-44a9-b08d-849202f11830',\n // productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n // pricingType: PricingType.FREE,\n // edition: 'free',\n // chargeElement: 'agent'\n },\n standard: {\n offeringId: '396efb16-749b-41fa-9cd1-ad10cfefa1d0',\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'agent'\n },\n premium: {\n offeringId: '0c6683b4-4633-4673-beca-690d171de6a5',\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'agent'\n },\n incentive: {\n // incentive for JSM remove after promotion is done, https://hello.atlassian.net/browse/SPICE-660\n offeringId: '1c201b9d-1615-4f8b-b9d4-b75be021a2aa',\n pricingPlanId: '9d2cba0d-42c6-4caa-9ec7-4d4f4225dce6', // COFS pricing plan for stg\n pricingType: PricingType.LIMITED_FREE, // pricing type for CCP\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n edition: 'standard',\n chargeElement: 'agent'\n }\n },\n [ProductKeys.JIRA_WORK_MANAGEMENT]: {\n free: {\n offeringId: '769055e8-05f5-4b1a-ba1a-a1afc874ee6d',\n productKey: ProductKeys.JIRA_WORK_MANAGEMENT,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n }\n },\n [ProductKeys.JIRA_PRODUCT_DISCOVERY]: {\n free: {\n offeringId: 'd843dd9e-23c5-4d27-af44-5009d568cb6e',\n productKey: ProductKeys.JIRA_PRODUCT_DISCOVERY,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '35b9268e-66e2-45fb-81d3-dacd1e31831a',\n productKey: ProductKeys.JIRA_PRODUCT_DISCOVERY,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n }\n },\n [ProductKeys.COMPASS]: {\n beta: {\n offeringId: '7af07cb3-d4e5-473e-87b3-3ae3bc9248a6',\n productKey: 'compass',\n edition: 'beta',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '5ab35ef5-e441-493a-b6e0-ba2d21a72ac6',\n productKey: ProductKeys.JIRA_WORK_MANAGEMENT,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n }\n },\n [ProductKeys.ATLAS]: {\n free: {\n offeringId: '88064fa1-b573-4358-a9de-ec350aac1ddc',\n productKey: ProductKeys.ATLAS,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '01c8ddad-8ea4-4da9-8127-71d6ff6de1c9',\n productKey: ProductKeys.ATLAS,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n },\n premium: {\n offeringId: 'f7866043-d6e4-4d54-9c6a-4f82c6a1ebe5',\n productKey: ProductKeys.ATLAS,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'user'\n }\n },\n [ProductKeys.OPSGENIE]: {\n free: {\n offeringId: 'd0c6ab1d-d8ea-49f8-8893-eafca2e05158',\n productKey: ProductKeys.OPSGENIE,\n pricingType: PricingType.FREE,\n edition: 'essentials',\n chargeElement: 'user'\n }\n },\n [ProductKeys.FABRIC]: {\n free: {\n offeringId: 'b0c7b413-b264-4c01-8b67-c61aa2c3e455',\n productKey: ProductKeys.FABRIC,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n }\n }\n },\n staging: {\n [ProductKeys.JIRA_SOFTWARE]: {\n free: {\n offeringId: 'de2887c9-8a55-41d5-b5cf-ad6a5589ebed',\n productKey: ProductKeys.JIRA_SOFTWARE,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user',\n jiraFamilyOfferingId: '009f8789-c10c-4366-9420-f712d02a6499'\n },\n standard: {\n offeringId: 'a70b5cbb-1ae1-4003-8f4a-9001a4a50526',\n productKey: ProductKeys.JIRA_SOFTWARE,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user',\n jiraFamilyOfferingId: '009f8789-c10c-4366-9420-f712d02a6499'\n },\n premium: {\n offeringId: '6dd805b4-da75-4374-a7a7-cf0b12f7ea07',\n productKey: ProductKeys.JIRA_SOFTWARE,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'user',\n jiraFamilyOfferingId: '009f8789-c10c-4366-9420-f712d02a6499'\n }\n },\n [ProductKeys.CONFLUENCE]: {\n free: {\n offeringId: '7547cfd6-a804-4e42-8bed-e656d49ea09e',\n productKey: ProductKeys.CONFLUENCE,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '2eda1119-fab4-4699-ab37-ff8f12052cde',\n productKey: ProductKeys.CONFLUENCE,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n },\n premium: {\n offeringId: '06ef245c-5fa3-473b-8822-5e6fe072ae4b',\n productKey: ProductKeys.CONFLUENCE,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'user'\n }\n },\n [ProductKeys.JIRA_SERVICE_MANAGEMENT]: {\n free: {\n // incentive for JSM remove after promotion is done, https://hello.atlassian.net/browse/SPICE-660\n offeringId: '1c201b9d-1615-4f8b-b9d4-b75be021a2aa',\n pricingPlanId: '9d2cba0d-42c6-4caa-9ec7-4d4f4225dce6',\n pricingType: PricingType.LIMITED_FREE,\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n edition: 'standard',\n chargeElement: 'agent',\n // normal free offering data switch back after incentive\n // offeringId: '2bad3c2f-d740-44a9-b08d-849202f11830',\n // productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n // pricingType: PricingType.FREE,\n // edition: 'free',\n // chargeElement: 'agent',\n jiraFamilyOfferingId: '009f8789-c10c-4366-9420-f712d02a6499'\n },\n standard: {\n offeringId: '396efb16-749b-41fa-9cd1-ad10cfefa1d0',\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'agent',\n jiraFamilyOfferingId: '009f8789-c10c-4366-9420-f712d02a6499'\n },\n premium: {\n offeringId: '0c6683b4-4633-4673-beca-690d171de6a5',\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'agent',\n jiraFamilyOfferingId: '009f8789-c10c-4366-9420-f712d02a6499'\n },\n incentive: {\n // incentive for JSM remove after promotion is done, https://hello.atlassian.net/browse/SPICE-660\n offeringId: '1c201b9d-1615-4f8b-b9d4-b75be021a2aa',\n pricingPlanId: '9d2cba0d-42c6-4caa-9ec7-4d4f4225dce6',\n pricingType: PricingType.LIMITED_FREE,\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n edition: 'standard',\n chargeElement: 'agent'\n }\n },\n [ProductKeys.JIRA_WORK_MANAGEMENT]: {\n free: {\n offeringId: '769055e8-05f5-4b1a-ba1a-a1afc874ee6d',\n productKey: ProductKeys.JIRA_WORK_MANAGEMENT,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user',\n jiraFamilyOfferingId: '009f8789-c10c-4366-9420-f712d02a6499'\n },\n standard: {\n offeringId: '5ab35ef5-e441-493a-b6e0-ba2d21a72ac6',\n productKey: ProductKeys.JIRA_WORK_MANAGEMENT,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user',\n jiraFamilyOfferingId: '009f8789-c10c-4366-9420-f712d02a6499'\n }\n },\n [ProductKeys.JIRA_PRODUCT_DISCOVERY]: {\n free: {\n offeringId: 'd843dd9e-23c5-4d27-af44-5009d568cb6e',\n productKey: ProductKeys.JIRA_PRODUCT_DISCOVERY,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '35b9268e-66e2-45fb-81d3-dacd1e31831a',\n productKey: ProductKeys.JIRA_PRODUCT_DISCOVERY,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n }\n },\n [ProductKeys.COMPASS]: {\n beta: {\n offeringId: '7af07cb3-d4e5-473e-87b3-3ae3bc9248a6',\n productKey: 'compass',\n edition: 'beta',\n chargeElement: 'user'\n }\n },\n [ProductKeys.ATLAS]: {\n free: {\n offeringId: '88064fa1-b573-4358-a9de-ec350aac1ddc',\n productKey: ProductKeys.ATLAS,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '01c8ddad-8ea4-4da9-8127-71d6ff6de1c9',\n productKey: ProductKeys.ATLAS,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n },\n premium: {\n offeringId: 'f7866043-d6e4-4d54-9c6a-4f82c6a1ebe5',\n productKey: ProductKeys.ATLAS,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'user'\n }\n },\n [ProductKeys.OPSGENIE]: {\n free: {\n offeringId: 'd0c6ab1d-d8ea-49f8-8893-eafca2e05158',\n productKey: ProductKeys.OPSGENIE,\n pricingType: PricingType.FREE,\n edition: 'essentials',\n chargeElement: 'user'\n }\n },\n [ProductKeys.FABRIC]: {\n free: {\n offeringId: 'b0c7b413-b264-4c01-8b67-c61aa2c3e455',\n productKey: ProductKeys.FABRIC,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n }\n }\n },\n production: {\n [ProductKeys.JIRA_SOFTWARE]: {\n free: {\n offeringId: 'de2887c9-8a55-41d5-b5cf-ad6a5589ebed',\n productKey: ProductKeys.JIRA_SOFTWARE,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: 'a70b5cbb-1ae1-4003-8f4a-9001a4a50526',\n productKey: ProductKeys.JIRA_SOFTWARE,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n },\n premium: {\n offeringId: '6dd805b4-da75-4374-a7a7-cf0b12f7ea07',\n productKey: ProductKeys.JIRA_SOFTWARE,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'user'\n }\n },\n [ProductKeys.CONFLUENCE]: {\n free: {\n offeringId: '7547cfd6-a804-4e42-8bed-e656d49ea09e',\n productKey: ProductKeys.CONFLUENCE,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '2eda1119-fab4-4699-ab37-ff8f12052cde',\n productKey: ProductKeys.CONFLUENCE,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n },\n premium: {\n offeringId: '06ef245c-5fa3-473b-8822-5e6fe072ae4b',\n productKey: ProductKeys.CONFLUENCE,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'user'\n }\n },\n [ProductKeys.JIRA_SERVICE_MANAGEMENT]: {\n free: {\n // incentive for JSM remove after promotion is done, https://hello.atlassian.net/browse/SPICE-660\n offeringId: '1c201b9d-1615-4f8b-b9d4-b75be021a2aa',\n pricingPlanId: 'd517af52-efd3-410d-8ca9-063516a20c68',\n pricingType: PricingType.LIMITED_FREE,\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n edition: 'standard',\n chargeElement: 'agent'\n // normal free data switch back after incentive\n // offeringId: '2bad3c2f-d740-44a9-b08d-849202f11830',\n // productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n // pricingType: PricingType.FREE,\n // edition: 'free',\n // chargeElement: 'agent'\n },\n standard: {\n offeringId: '396efb16-749b-41fa-9cd1-ad10cfefa1d0',\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'agent'\n },\n premium: {\n offeringId: '0c6683b4-4633-4673-beca-690d171de6a5',\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'agent'\n },\n incentive: {\n // incentive for JSM remove after promotion is done, https://hello.atlassian.net/browse/SPICE-660\n offeringId: '1c201b9d-1615-4f8b-b9d4-b75be021a2aa',\n pricingPlanId: 'd517af52-efd3-410d-8ca9-063516a20c68',\n pricingType: PricingType.LIMITED_FREE,\n productKey: ProductKeys.JIRA_SERVICE_MANAGEMENT,\n edition: 'standard',\n chargeElement: 'agent'\n }\n },\n [ProductKeys.JIRA_WORK_MANAGEMENT]: {\n free: {\n offeringId: '769055e8-05f5-4b1a-ba1a-a1afc874ee6d',\n productKey: ProductKeys.JIRA_WORK_MANAGEMENT,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '5ab35ef5-e441-493a-b6e0-ba2d21a72ac6',\n productKey: ProductKeys.JIRA_WORK_MANAGEMENT,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n }\n },\n [ProductKeys.JIRA_PRODUCT_DISCOVERY]: {\n // TODO: Update production offeringIDs for free+standard before production launch 2/8.\n free: {\n offeringId: 'a26ee53d-d28b-49c7-b97d-1a80b387fd60',\n productKey: ProductKeys.JIRA_PRODUCT_DISCOVERY,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n }\n },\n [ProductKeys.COMPASS]: {\n beta: {\n offeringId: '7af07cb3-d4e5-473e-87b3-3ae3bc9248a6',\n productKey: 'compass',\n edition: 'beta',\n chargeElement: 'user'\n }\n },\n [ProductKeys.ATLAS]: {\n free: {\n offeringId: '88064fa1-b573-4358-a9de-ec350aac1ddc',\n productKey: ProductKeys.ATLAS,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n },\n standard: {\n offeringId: '01c8ddad-8ea4-4da9-8127-71d6ff6de1c9',\n productKey: ProductKeys.ATLAS,\n pricingType: PricingType.PAID,\n edition: 'standard',\n chargeElement: 'user'\n },\n premium: {\n offeringId: 'f7866043-d6e4-4d54-9c6a-4f82c6a1ebe5',\n productKey: ProductKeys.ATLAS,\n pricingType: PricingType.PAID,\n edition: 'premium',\n chargeElement: 'user'\n }\n },\n [ProductKeys.OPSGENIE]: {\n free: {\n offeringId: 'd0c6ab1d-d8ea-49f8-8893-eafca2e05158',\n productKey: ProductKeys.OPSGENIE,\n pricingType: PricingType.FREE,\n edition: 'essentials',\n chargeElement: 'user'\n }\n },\n [ProductKeys.FABRIC]: {\n free: {\n offeringId: 'b0c7b413-b264-4c01-8b67-c61aa2c3e455',\n productKey: ProductKeys.FABRIC,\n pricingType: PricingType.FREE,\n edition: 'free',\n chargeElement: 'user'\n }\n }\n }\n} as const;\n\nexport type EnvironmentType = keyof typeof OFFERING_IDS;\n\nexport type CcpProduct = {\n readonly offeringId: string;\n readonly pricingPlanId: string;\n readonly productKey: string;\n readonly edition: string;\n readonly chargeElement: string;\n};\n\ntype MapProductKeyAndEditionToCcpProductOptions = {\n productKey: ProductKeys;\n edition: string;\n};\n\nexport class OfferingCatalog {\n private readonly environmentType: EnvironmentType;\n\n public constructor(environmentType: EnvironmentType) {\n this.environmentType = environmentType;\n }\n\n public mapProductKeyAndEditionToCcpProduct = ({\n productKey,\n edition\n }: MapProductKeyAndEditionToCcpProductOptions): CcpProduct => {\n const products = OFFERING_IDS[this.environmentType];\n const editions =\n OFFERING_IDS[this.environmentType][productKey as keyof typeof products];\n\n return products[productKey as keyof typeof products][\n edition as keyof typeof editions\n ] as CcpProduct;\n };\n}\n","import { defineMessages, Messages, FormattedMessage } from 'react-intl';\n\n/**\n * These two statements are equivalent:\n *\n * defineMessagesSimple(\"prefix\",{\n * name: \"Your name\",\n * email: \"Your email\"\n * })\n *\n * defineMessages({\n * name: {\n * id: 'prefix.name',\n * defaultMessage: 'Your name'\n * },\n * email: {\n * id: 'prefix.email',\n * defaultMessage: 'Your email'\n * }\n * });\n *\n * @param prefix String to prefix key\n * @param messages Object of keys and translation text\n * @returns react-intl formatted messages object\n */\nexport function defineMessagesSimple(\n prefix: string,\n messages: Record\n): Messages {\n const tranformedMessages: Messages = {};\n Object.entries(messages).map(([key, value]) => {\n tranformedMessages[key] = {\n id: `${prefix}.${key}`,\n defaultMessage: value\n } as FormattedMessage.MessageDescriptor;\n });\n return defineMessages(tranformedMessages);\n}\n","import { IdentityClient, IIdentityClient } from '@atlassiansox/asc-identity';\nimport React, { createContext, PropsWithChildren, useContext } from 'react';\nimport { Environment } from '../utils';\n\n// this is a hack to keep this working for now, since we don't have\n// client providers in magnolia yet\nexport const IdentityClientContext = createContext(\n new IdentityClient({\n baseUrlStargate: Environment.getApiPrivateUrl(),\n baseUrlIdentity: Environment.getIdentityBaseUrl()\n })\n);\n\nexport function useIdentityClient(): IIdentityClient {\n return useContext(IdentityClientContext);\n}\n\nexport type IdentityClientProviderProps = PropsWithChildren<{\n readonly client: IIdentityClient;\n}>;\n\nexport function IdentityClientProvider({\n client,\n children\n}: IdentityClientProviderProps) {\n return (\n \n {children}\n \n );\n}\n","import {\n GetAvailableSitesRequest,\n GetAvailableSitesResponse\n} from '@atlassiansox/asc-stargate';\nimport { AsyncResult, useAsync } from './use-async';\nimport { useStargateClient } from './use-stargate-client';\n\nexport function useAvailableSites({\n orderId,\n transactionAccount\n}: GetAvailableSitesRequest): AsyncResult {\n const stargateClient = useStargateClient();\n\n return useAsync(\n () =>\n stargateClient.getAvailableSites({\n orderId,\n transactionAccount\n }),\n []\n );\n}\n","import React, { ReactType } from 'react';\nimport sanitizeHtml from 'sanitize-html';\n\nexport type SanitizedHtmlProps = {\n readonly innerHTML: string | JSX.Element;\n readonly tagName?: ReactType;\n};\n\nexport function SanitizedHtml({\n innerHTML,\n tagName: Component = 'span'\n}: SanitizedHtmlProps) {\n if (typeof innerHTML === 'string') {\n return (\n \n );\n } else {\n return null;\n }\n}\n","import { escape } from 'he';\nimport React, { ElementType } from 'react';\nimport { FormattedMessage, MessageValue } from 'react-intl';\nimport { SanitizedHtml } from './sanitized-html';\n\nexport type SanitizedFormattedHtmlMessageProps = {\n readonly id: string;\n\n readonly description?: string;\n readonly defaultMessage?: string;\n readonly values?: { [key: string]: MessageValue };\n readonly tagName?: ElementType;\n};\n\nexport function SanitizedFormattedHtmlMessage({\n tagName,\n values,\n ...messageDescriptor\n}: SanitizedFormattedHtmlMessageProps) {\n return (\n \n {(html) => {\n return ;\n }}\n \n );\n}\n\nfunction escapeValues(\n messageValues: { [key: string]: MessageValue | JSX.Element } = {}\n): { [key: string]: MessageValue | JSX.Element } {\n Object.keys(messageValues).forEach((keyName) => {\n const messageValue = messageValues[keyName];\n messageValues[keyName] =\n typeof messageValue === 'string' ? escape(messageValue) : messageValue;\n });\n\n return messageValues;\n}\n","import {\n IProductPricingStore,\n ProductPricingStore\n} from '@atlassian/bxp-product-pricing';\nimport {\n ICCPProductCatalogClient,\n IProductCatalogClient\n} from '@atlassiansox/asc-product-catalog';\nimport React, { createContext, ReactChild, useContext } from 'react';\n\nconst notProvided = async () => {\n throw new Error(\n 'ProductPricingStore was not provided. Use '\n );\n};\n\nexport const ProductPricingStoreContext = createContext({\n getPricingPlans: notProvided,\n getProducts: notProvided,\n searchAddons: notProvided,\n getOfferings: notProvided\n});\n\nexport function useProductPricingStore(): IProductPricingStore {\n return useContext(ProductPricingStoreContext);\n}\n\nexport type ProductPricingStoreProviderProps = {\n readonly productCatalogClient: IProductCatalogClient;\n readonly ccpProductCatalogClient: ICCPProductCatalogClient;\n readonly children: ReactChild;\n};\n\nexport function ProductPricingStoreProvider({\n productCatalogClient,\n ccpProductCatalogClient,\n children\n}: ProductPricingStoreProviderProps) {\n return (\n \n {children}\n \n );\n}\n","import hyphenate from 'fbjs/lib/hyphenateStyleName';\nimport React, { cloneElement, Component, createElement } from 'react';\nimport Stylis from 'stylis';\nimport _insertRulePlugin from 'stylis-rule-sheet';\nimport PropTypes from 'prop-types';\nimport hoistStatics from 'hoist-non-react-statics';\nimport { isValidElementType } from 'react-is';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n// \nvar isPlainObject = (function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x.constructor === Object;\n});\n\n// \n\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n */\nvar ERRORS = process.env.NODE_ENV !== 'production' ? {\n \"1\": \"Cannot create styled-component for component: %s.\\n\\n\",\n \"2\": \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n* Are you trying to reuse it across renders?\\n* Are you accidentally calling collectStyles twice?\\n\\n\",\n \"3\": \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n \"4\": \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n* Does this error occur on the client and is your target falsy?\\n* Does this error occur on the server and is the sheet falsy?\\n\\n\",\n \"5\": \"The clone method cannot be used on the client!\\n\\n* Are you running in a client-like environment on the server?\\n* Are you trying to run SSR on the client?\\n\\n\",\n \"6\": \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n* Are you using a custom target that isn't mounted?\\n* Does your document not have a valid head element?\\n* Have you accidentally removed a style tag manually?\\n\\n\",\n \"7\": \"ThemeProvider: Please return an object from your \\\"theme\\\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n\",\n \"8\": \"ThemeProvider: Please make your \\\"theme\\\" prop an object.\\n\\n\",\n \"9\": \"Missing document ``\\n\\n\",\n \"10\": \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n \"11\": \"A plain React class (%s) has been interpolated into styles, probably as a component selector (https://www.styled-components.com/docs/advanced#referring-to-other-components). Only styled-component classes can be targeted in this fashion.\"\n} : {};\n\n/**\n * super basic version of sprintf\n */\nfunction format() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c = void 0;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n\n return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\n\nvar StyledComponentsError = function (_Error) {\n inherits(StyledComponentsError, _Error);\n\n function StyledComponentsError(code) {\n classCallCheck(this, StyledComponentsError);\n\n for (var _len2 = arguments.length, interpolations = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n interpolations[_key2 - 1] = arguments[_key2];\n }\n\n if (process.env.NODE_ENV === 'production') {\n var _this = possibleConstructorReturn(this, _Error.call(this, 'An error occurred. See https://github.com/styled-components/styled-components/blob/master/src/utils/errors.md#' + code + ' for more information. ' + (interpolations ? 'Additional arguments: ' + interpolations.join(', ') : '')));\n } else {\n var _this = possibleConstructorReturn(this, _Error.call(this, format.apply(undefined, [ERRORS[code]].concat(interpolations))));\n }\n return possibleConstructorReturn(_this);\n }\n\n return StyledComponentsError;\n}(Error);\n\n// \n\nvar objToCss = function objToCss(obj, prevKey) {\n var css = Object.keys(obj).filter(function (key) {\n var chunk = obj[key];\n return chunk !== undefined && chunk !== null && chunk !== false && chunk !== '';\n }).map(function (key) {\n if (isPlainObject(obj[key])) return objToCss(obj[key], key);\n return hyphenate(key) + ': ' + obj[key] + ';';\n }).join(' ');\n return prevKey ? prevKey + ' {\\n ' + css + '\\n}' : css;\n};\n\nvar flatten = function flatten(chunks, executionContext) {\n return chunks.reduce(function (ruleSet, chunk) {\n /* Remove falsey values */\n if (chunk === undefined || chunk === null || chunk === false || chunk === '') {\n return ruleSet;\n }\n\n /* Flatten ruleSet */\n if (Array.isArray(chunk)) {\n ruleSet.push.apply(ruleSet, flatten(chunk, executionContext));\n return ruleSet;\n }\n\n /* Handle other components */\n if (chunk.hasOwnProperty('styledComponentId')) {\n // $FlowFixMe not sure how to make this pass\n ruleSet.push('.' + chunk.styledComponentId);\n return ruleSet;\n }\n\n /* Either execute or defer the function */\n if (typeof chunk === 'function') {\n if (executionContext) {\n var nextChunk = chunk(executionContext);\n /* Throw if a React Element was given styles */\n if (React.isValidElement(nextChunk)) {\n var elementName = chunk.displayName || chunk.name;\n throw new StyledComponentsError(11, elementName);\n }\n ruleSet.push.apply(ruleSet, flatten([nextChunk], executionContext));\n } else ruleSet.push(chunk);\n\n return ruleSet;\n }\n\n /* Handle objects */\n ruleSet.push(\n // $FlowFixMe have to add %checks somehow to isPlainObject\n isPlainObject(chunk) ? objToCss(chunk) : chunk.toString());\n\n return ruleSet;\n }, []);\n};\n\n// \n\nvar COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\n\n// NOTE: This stylis instance is only used to split rules from SSR'd style tags\nvar stylisSplitter = new Stylis({\n global: false,\n cascade: true,\n keyframe: false,\n prefix: false,\n compress: false,\n semicolon: true\n});\n\nvar stylis = new Stylis({\n global: false,\n cascade: true,\n keyframe: false,\n prefix: true,\n compress: false,\n semicolon: false // NOTE: This means \"autocomplete missing semicolons\"\n});\n\n// Wrap `insertRulePlugin to build a list of rules,\n// and then make our own plugin to return the rules. This\n// makes it easier to hook into the existing SSR architecture\n\nvar parsingRules = [];\n// eslint-disable-next-line consistent-return\nvar returnRulesPlugin = function returnRulesPlugin(context) {\n if (context === -2) {\n var parsedRules = parsingRules;\n parsingRules = [];\n return parsedRules;\n }\n};\n\nvar parseRulesPlugin = _insertRulePlugin(function (rule) {\n parsingRules.push(rule);\n});\n\nstylis.use([parseRulesPlugin, returnRulesPlugin]);\nstylisSplitter.use([parseRulesPlugin, returnRulesPlugin]);\n\nvar stringifyRules = function stringifyRules(rules, selector, prefix) {\n var flatCSS = rules.join('').replace(COMMENT_REGEX, ''); // replace JS comments\n\n var cssStr = selector && prefix ? prefix + ' ' + selector + ' { ' + flatCSS + ' }' : flatCSS;\n\n return stylis(prefix || !selector ? '' : selector, cssStr);\n};\n\nvar splitByRules = function splitByRules(css) {\n return stylisSplitter('', css);\n};\n\n// \n\nfunction isStyledComponent(target) /* : %checks */{\n return (\n // $FlowFixMe TODO: flow for styledComponentId\n typeof target === 'function' && typeof target.styledComponentId === 'string'\n );\n}\n\n// \n\n/* This function is DEPRECATED and will be removed on the next major version release.\n * It was needed to rehydrate all style blocks prepended to chunks before React\n * tries to rehydrate its HTML stream. Since the master StyleSheet will now detect\n * the use of streamed style tags and will perform the rehydration earlier when needed\n * this function will not be needed anymore */\nfunction consolidateStreamedStyles() {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('styled-components automatically does streaming SSR rehydration now.\\n' + 'Calling consolidateStreamedStyles manually is no longer necessary and a noop now.\\n' + '- Please remove the consolidateStreamedStyles call from your client.');\n }\n}\n\n// \n/* eslint-disable no-bitwise */\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nvar charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nvar getAlphabeticChar = function getAlphabeticChar(code) {\n return String.fromCharCode(code + (code > 25 ? 39 : 97));\n};\n\n/* input a number, usually a hash and convert it to base-52 */\nvar generateAlphabeticName = function generateAlphabeticName(code) {\n var name = '';\n var x = void 0;\n\n /* get a char and divide by alphabet-length */\n for (x = code; x > charsLength; x = Math.floor(x / charsLength)) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return getAlphabeticChar(x % charsLength) + name;\n};\n\n// \n\nvar interleave = (function (strings, interpolations) {\n var result = [strings[0]];\n\n for (var i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n});\n\n// \nvar EMPTY_ARRAY = Object.freeze([]);\nvar EMPTY_OBJECT = Object.freeze({});\n\n// \n\nvar css = (function (styles) {\n for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n interpolations[_key - 1] = arguments[_key];\n }\n\n if (typeof styles === 'function' || isPlainObject(styles)) {\n // $FlowFixMe\n return flatten(interleave(EMPTY_ARRAY, [styles].concat(interpolations)));\n }\n\n // $FlowFixMe\n return flatten(interleave(styles, interpolations));\n});\n\n// \n\n\nvar SC_ATTR = typeof process !== 'undefined' && process.env.SC_ATTR || 'data-styled-components';\nvar SC_STREAM_ATTR = 'data-styled-streamed';\nvar CONTEXT_KEY = '__styled-components-stylesheet__';\n\nvar IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nvar DISABLE_SPEEDY = process.env.NODE_ENV !== 'production';\n\n// \nvar SC_COMPONENT_ID = /^[^\\S\\n]*?\\/\\* sc-component-id:\\s*(\\S+)\\s+\\*\\//gm;\n\nvar extractComps = (function (maybeCSS) {\n var css = '' + (maybeCSS || ''); // Definitely a string, and a clone\n var existingComponents = [];\n css.replace(SC_COMPONENT_ID, function (match, componentId, matchIndex) {\n existingComponents.push({ componentId: componentId, matchIndex: matchIndex });\n return match;\n });\n return existingComponents.map(function (_ref, i) {\n var componentId = _ref.componentId,\n matchIndex = _ref.matchIndex;\n\n var nextComp = existingComponents[i + 1];\n var cssFromDOM = nextComp ? css.slice(matchIndex, nextComp.matchIndex) : css.slice(matchIndex);\n return { componentId: componentId, cssFromDOM: cssFromDOM };\n });\n});\n\n// \n/* eslint-disable camelcase, no-undef */\n\nvar getNonce = (function () {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n});\n\n// \n// Helper to call a given function, only once\nvar once = (function (cb) {\n var called = false;\n\n return function () {\n if (!called) {\n called = true;\n cb();\n }\n };\n});\n\n// \n/* These are helpers for the StyleTags to keep track of the injected\n * rule names for each (component) ID that they're keeping track of.\n * They're crucial for detecting whether a name has already been\n * injected.\n * (This excludes rehydrated names) */\n\n/* adds a new ID:name pairing to a names dictionary */\nvar addNameForId = function addNameForId(names, id, name) {\n if (name) {\n // eslint-disable-next-line no-param-reassign\n var namesForId = names[id] || (names[id] = Object.create(null));\n namesForId[name] = true;\n }\n};\n\n/* resets an ID entirely by overwriting it in the dictionary */\nvar resetIdNames = function resetIdNames(names, id) {\n // eslint-disable-next-line no-param-reassign\n names[id] = Object.create(null);\n};\n\n/* factory for a names dictionary checking the existance of an ID:name pairing */\nvar hasNameForId = function hasNameForId(names) {\n return function (id, name) {\n return names[id] !== undefined && names[id][name];\n };\n};\n\n/* stringifies names for the html/element output */\nvar stringifyNames = function stringifyNames(names) {\n var str = '';\n // eslint-disable-next-line guard-for-in\n for (var id in names) {\n str += Object.keys(names[id]).join(' ') + ' ';\n }\n return str.trim();\n};\n\n/* clones the nested names dictionary */\nvar cloneNames = function cloneNames(names) {\n var clone = Object.create(null);\n // eslint-disable-next-line guard-for-in\n for (var id in names) {\n clone[id] = _extends({}, names[id]);\n }\n return clone;\n};\n\n// \n\n/* These are helpers that deal with the insertRule (aka speedy) API\n * They are used in the StyleTags and specifically the speedy tag\n */\n\n/* retrieve a sheet for a given style tag */\nvar sheetForTag = function sheetForTag(tag) {\n // $FlowFixMe\n if (tag.sheet) return tag.sheet;\n\n /* Firefox quirk requires us to step through all stylesheets to find one owned by the given tag */\n var size = document.styleSheets.length;\n for (var i = 0; i < size; i += 1) {\n var sheet = document.styleSheets[i];\n // $FlowFixMe\n if (sheet.ownerNode === tag) return sheet;\n }\n\n /* we should always be able to find a tag */\n throw new StyledComponentsError(10);\n};\n\n/* insert a rule safely and return whether it was actually injected */\nvar safeInsertRule = function safeInsertRule(sheet, cssRule, index) {\n /* abort early if cssRule string is falsy */\n if (!cssRule) return false;\n\n var maxIndex = sheet.cssRules.length;\n\n try {\n /* use insertRule and cap passed index with maxIndex (no of cssRules) */\n sheet.insertRule(cssRule, index <= maxIndex ? index : maxIndex);\n } catch (err) {\n /* any error indicates an invalid rule */\n return false;\n }\n\n return true;\n};\n\n/* deletes `size` rules starting from `removalIndex` */\nvar deleteRules = function deleteRules(sheet, removalIndex, size) {\n var lowerBound = removalIndex - size;\n for (var i = removalIndex; i > lowerBound; i -= 1) {\n sheet.deleteRule(i);\n }\n};\n\n// \n\n/* this marker separates component styles and is important for rehydration */\nvar makeTextMarker = function makeTextMarker(id) {\n return '\\n/* sc-component-id: ' + id + ' */\\n';\n};\n\n/* add up all numbers in array up until and including the index */\nvar addUpUntilIndex = function addUpUntilIndex(sizes, index) {\n var totalUpToIndex = 0;\n for (var i = 0; i <= index; i += 1) {\n totalUpToIndex += sizes[i];\n }\n\n return totalUpToIndex;\n};\n\n/* create a new style tag after lastEl */\nvar makeStyleTag = function makeStyleTag(target, tagEl, insertBefore) {\n var el = document.createElement('style');\n el.setAttribute(SC_ATTR, '');\n\n var nonce = getNonce();\n if (nonce) {\n el.setAttribute('nonce', nonce);\n }\n\n /* Work around insertRule quirk in EdgeHTML */\n el.appendChild(document.createTextNode(''));\n\n if (target && !tagEl) {\n /* Append to target when no previous element was passed */\n target.appendChild(el);\n } else {\n if (!tagEl || !target || !tagEl.parentNode) {\n throw new StyledComponentsError(6);\n }\n\n /* Insert new style tag after the previous one */\n tagEl.parentNode.insertBefore(el, insertBefore ? tagEl : tagEl.nextSibling);\n }\n\n return el;\n};\n\n/* takes a css factory function and outputs an html styled tag factory */\nvar wrapAsHtmlTag = function wrapAsHtmlTag(css, names) {\n return function (additionalAttrs) {\n var nonce = getNonce();\n var attrs = [nonce && 'nonce=\"' + nonce + '\"', SC_ATTR + '=\"' + stringifyNames(names) + '\"', additionalAttrs];\n\n var htmlAttr = attrs.filter(Boolean).join(' ');\n return '';\n };\n};\n\n/* takes a css factory function and outputs an element factory */\nvar wrapAsElement = function wrapAsElement(css, names) {\n return function () {\n var _props;\n\n var props = (_props = {}, _props[SC_ATTR] = stringifyNames(names), _props);\n\n var nonce = getNonce();\n if (nonce) {\n // $FlowFixMe\n props.nonce = nonce;\n }\n\n // eslint-disable-next-line react/no-danger\n return React.createElement('style', _extends({}, props, { dangerouslySetInnerHTML: { __html: css() } }));\n };\n};\n\nvar getIdsFromMarkersFactory = function getIdsFromMarkersFactory(markers) {\n return function () {\n return Object.keys(markers);\n };\n};\n\n/* speedy tags utilise insertRule */\nvar makeSpeedyTag = function makeSpeedyTag(el, getImportRuleTag) {\n var names = Object.create(null);\n var markers = Object.create(null);\n var sizes = [];\n\n var extractImport = getImportRuleTag !== undefined;\n /* indicates whther getImportRuleTag was called */\n var usedImportRuleTag = false;\n\n var insertMarker = function insertMarker(id) {\n var prev = markers[id];\n if (prev !== undefined) {\n return prev;\n }\n\n markers[id] = sizes.length;\n sizes.push(0);\n resetIdNames(names, id);\n\n return markers[id];\n };\n\n var insertRules = function insertRules(id, cssRules, name) {\n var marker = insertMarker(id);\n var sheet = sheetForTag(el);\n var insertIndex = addUpUntilIndex(sizes, marker);\n\n var injectedRules = 0;\n var importRules = [];\n var cssRulesSize = cssRules.length;\n\n for (var i = 0; i < cssRulesSize; i += 1) {\n var cssRule = cssRules[i];\n var mayHaveImport = extractImport; /* @import rules are reordered to appear first */\n if (mayHaveImport && cssRule.indexOf('@import') !== -1) {\n importRules.push(cssRule);\n } else if (safeInsertRule(sheet, cssRule, insertIndex + injectedRules)) {\n mayHaveImport = false;\n injectedRules += 1;\n }\n }\n\n if (extractImport && importRules.length > 0) {\n usedImportRuleTag = true;\n // $FlowFixMe\n getImportRuleTag().insertRules(id + '-import', importRules);\n }\n\n sizes[marker] += injectedRules; /* add up no of injected rules */\n addNameForId(names, id, name);\n };\n\n var removeRules = function removeRules(id) {\n var marker = markers[id];\n if (marker === undefined) return;\n\n var size = sizes[marker];\n var sheet = sheetForTag(el);\n var removalIndex = addUpUntilIndex(sizes, marker);\n deleteRules(sheet, removalIndex, size);\n sizes[marker] = 0;\n resetIdNames(names, id);\n\n if (extractImport && usedImportRuleTag) {\n // $FlowFixMe\n getImportRuleTag().removeRules(id + '-import');\n }\n };\n\n var css = function css() {\n var _sheetForTag = sheetForTag(el),\n cssRules = _sheetForTag.cssRules;\n\n var str = '';\n\n // eslint-disable-next-line guard-for-in\n for (var id in markers) {\n str += makeTextMarker(id);\n var marker = markers[id];\n var end = addUpUntilIndex(sizes, marker);\n var size = sizes[marker];\n for (var i = end - size; i < end; i += 1) {\n var rule = cssRules[i];\n if (rule !== undefined) {\n str += rule.cssText;\n }\n }\n }\n\n return str;\n };\n\n return {\n clone: function clone() {\n throw new StyledComponentsError(5);\n },\n\n css: css,\n getIds: getIdsFromMarkersFactory(markers),\n hasNameForId: hasNameForId(names),\n insertMarker: insertMarker,\n insertRules: insertRules,\n removeRules: removeRules,\n sealed: false,\n styleTag: el,\n toElement: wrapAsElement(css, names),\n toHTML: wrapAsHtmlTag(css, names)\n };\n};\n\nvar makeTextNode = function makeTextNode(id) {\n return document.createTextNode(makeTextMarker(id));\n};\n\nvar makeBrowserTag = function makeBrowserTag(el, getImportRuleTag) {\n var names = Object.create(null);\n var markers = Object.create(null);\n\n var extractImport = getImportRuleTag !== undefined;\n\n /* indicates whther getImportRuleTag was called */\n var usedImportRuleTag = false;\n\n var insertMarker = function insertMarker(id) {\n var prev = markers[id];\n if (prev !== undefined) {\n return prev;\n }\n\n markers[id] = makeTextNode(id);\n el.appendChild(markers[id]);\n names[id] = Object.create(null);\n\n return markers[id];\n };\n\n var insertRules = function insertRules(id, cssRules, name) {\n var marker = insertMarker(id);\n var importRules = [];\n var cssRulesSize = cssRules.length;\n\n for (var i = 0; i < cssRulesSize; i += 1) {\n var rule = cssRules[i];\n var mayHaveImport = extractImport;\n if (mayHaveImport && rule.indexOf('@import') !== -1) {\n importRules.push(rule);\n } else {\n mayHaveImport = false;\n var separator = i === cssRulesSize - 1 ? '' : ' ';\n marker.appendData('' + rule + separator);\n }\n }\n\n addNameForId(names, id, name);\n\n if (extractImport && importRules.length > 0) {\n usedImportRuleTag = true;\n // $FlowFixMe\n getImportRuleTag().insertRules(id + '-import', importRules);\n }\n };\n\n var removeRules = function removeRules(id) {\n var marker = markers[id];\n if (marker === undefined) return;\n\n /* create new empty text node and replace the current one */\n var newMarker = makeTextNode(id);\n el.replaceChild(newMarker, marker);\n markers[id] = newMarker;\n resetIdNames(names, id);\n\n if (extractImport && usedImportRuleTag) {\n // $FlowFixMe\n getImportRuleTag().removeRules(id + '-import');\n }\n };\n\n var css = function css() {\n var str = '';\n // eslint-disable-next-line guard-for-in\n for (var id in markers) {\n str += markers[id].data;\n }\n return str;\n };\n\n return {\n clone: function clone() {\n throw new StyledComponentsError(5);\n },\n\n css: css,\n getIds: getIdsFromMarkersFactory(markers),\n hasNameForId: hasNameForId(names),\n insertMarker: insertMarker,\n insertRules: insertRules,\n removeRules: removeRules,\n sealed: false,\n styleTag: el,\n toElement: wrapAsElement(css, names),\n toHTML: wrapAsHtmlTag(css, names)\n };\n};\n\nvar makeServerTagInternal = function makeServerTagInternal(namesArg, markersArg) {\n var names = namesArg === undefined ? Object.create(null) : namesArg;\n var markers = markersArg === undefined ? Object.create(null) : markersArg;\n\n var insertMarker = function insertMarker(id) {\n var prev = markers[id];\n if (prev !== undefined) {\n return prev;\n }\n\n return markers[id] = [''];\n };\n\n var insertRules = function insertRules(id, cssRules, name) {\n var marker = insertMarker(id);\n marker[0] += cssRules.join(' ');\n addNameForId(names, id, name);\n };\n\n var removeRules = function removeRules(id) {\n var marker = markers[id];\n if (marker === undefined) return;\n marker[0] = '';\n resetIdNames(names, id);\n };\n\n var css = function css() {\n var str = '';\n // eslint-disable-next-line guard-for-in\n for (var id in markers) {\n var cssForId = markers[id][0];\n if (cssForId) {\n str += makeTextMarker(id) + cssForId;\n }\n }\n return str;\n };\n\n var clone = function clone() {\n var namesClone = cloneNames(names);\n var markersClone = Object.create(null);\n\n // eslint-disable-next-line guard-for-in\n for (var id in markers) {\n markersClone[id] = [markers[id][0]];\n }\n\n return makeServerTagInternal(namesClone, markersClone);\n };\n\n var tag = {\n clone: clone,\n css: css,\n getIds: getIdsFromMarkersFactory(markers),\n hasNameForId: hasNameForId(names),\n insertMarker: insertMarker,\n insertRules: insertRules,\n removeRules: removeRules,\n sealed: false,\n styleTag: null,\n toElement: wrapAsElement(css, names),\n toHTML: wrapAsHtmlTag(css, names)\n };\n\n return tag;\n};\n\nvar makeServerTag = function makeServerTag() {\n return makeServerTagInternal();\n};\n\nvar makeTag = function makeTag(target, tagEl, forceServer, insertBefore, getImportRuleTag) {\n if (IS_BROWSER && !forceServer) {\n var el = makeStyleTag(target, tagEl, insertBefore);\n\n if (DISABLE_SPEEDY) {\n return makeBrowserTag(el, getImportRuleTag);\n } else {\n return makeSpeedyTag(el, getImportRuleTag);\n }\n }\n\n return makeServerTag();\n};\n\n/* wraps a given tag so that rehydration is performed once when necessary */\nvar makeRehydrationTag = function makeRehydrationTag(tag, els, extracted, immediateRehydration) {\n /* rehydration function that adds all rules to the new tag */\n var rehydrate = once(function () {\n /* add all extracted components to the new tag */\n for (var i = 0, len = extracted.length; i < len; i += 1) {\n var _extracted$i = extracted[i],\n componentId = _extracted$i.componentId,\n cssFromDOM = _extracted$i.cssFromDOM;\n\n var cssRules = splitByRules(cssFromDOM);\n tag.insertRules(componentId, cssRules);\n }\n\n /* remove old HTMLStyleElements, since they have been rehydrated */\n for (var _i = 0, _len = els.length; _i < _len; _i += 1) {\n var el = els[_i];\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n }\n });\n\n if (immediateRehydration) rehydrate();\n\n return _extends({}, tag, {\n /* add rehydration hook to insertion methods */\n insertMarker: function insertMarker(id) {\n rehydrate();\n return tag.insertMarker(id);\n },\n insertRules: function insertRules(id, cssRules, name) {\n rehydrate();\n return tag.insertRules(id, cssRules, name);\n }\n });\n};\n\n// \n\nvar SPLIT_REGEX = /\\s+/;\n\n/* determine the maximum number of components before tags are sharded */\nvar MAX_SIZE = void 0;\nif (IS_BROWSER) {\n /* in speedy mode we can keep a lot more rules in a sheet before a slowdown can be expected */\n MAX_SIZE = DISABLE_SPEEDY ? 40 : 1000;\n} else {\n /* for servers we do not need to shard at all */\n MAX_SIZE = -1;\n}\n\nvar sheetRunningId = 0;\nvar master = void 0;\n\nvar StyleSheet = function () {\n /* a map from ids to tags */\n /* deferred rules for a given id */\n /* this is used for not reinjecting rules via hasNameForId() */\n /* when rules for an id are removed using remove() we have to ignore rehydratedNames for it */\n /* a list of tags belonging to this StyleSheet */\n /* a tag for import rules */\n /* current capacity until a new tag must be created */\n /* children (aka clones) of this StyleSheet inheriting all and future injections */\n\n function StyleSheet() {\n var _this = this;\n\n var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : IS_BROWSER ? document.head : null;\n var forceServer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n classCallCheck(this, StyleSheet);\n\n this.getImportRuleTag = function () {\n var importRuleTag = _this.importRuleTag;\n\n if (importRuleTag !== undefined) {\n return importRuleTag;\n }\n\n var firstTag = _this.tags[0];\n var insertBefore = true;\n\n return _this.importRuleTag = makeTag(_this.target, firstTag ? firstTag.styleTag : null, _this.forceServer, insertBefore);\n };\n\n sheetRunningId += 1;\n this.id = sheetRunningId;\n this.forceServer = forceServer;\n this.target = forceServer ? null : target;\n this.tagMap = {};\n this.deferred = {};\n this.rehydratedNames = {};\n this.ignoreRehydratedNames = {};\n this.tags = [];\n this.capacity = 1;\n this.clones = [];\n }\n\n /* rehydrate all SSR'd style tags */\n\n\n StyleSheet.prototype.rehydrate = function rehydrate() {\n if (!IS_BROWSER || this.forceServer) {\n return this;\n }\n\n var els = [];\n var extracted = [];\n var isStreamed = false;\n\n /* retrieve all of our SSR style elements from the DOM */\n var nodes = document.querySelectorAll('style[' + SC_ATTR + ']');\n var nodesSize = nodes.length;\n\n /* abort rehydration if no previous style tags were found */\n if (nodesSize === 0) {\n return this;\n }\n\n for (var i = 0; i < nodesSize; i += 1) {\n // $FlowFixMe: We can trust that all elements in this query are style elements\n var el = nodes[i];\n\n /* check if style tag is a streamed tag */\n if (!isStreamed) isStreamed = !!el.getAttribute(SC_STREAM_ATTR);\n\n /* retrieve all component names */\n var elNames = (el.getAttribute(SC_ATTR) || '').trim().split(SPLIT_REGEX);\n var elNamesSize = elNames.length;\n for (var j = 0; j < elNamesSize; j += 1) {\n var name = elNames[j];\n /* add rehydrated name to sheet to avoid readding styles */\n this.rehydratedNames[name] = true;\n }\n\n /* extract all components and their CSS */\n extracted.push.apply(extracted, extractComps(el.textContent));\n\n /* store original HTMLStyleElement */\n els.push(el);\n }\n\n /* abort rehydration if nothing was extracted */\n var extractedSize = extracted.length;\n if (extractedSize === 0) {\n return this;\n }\n\n /* create a tag to be used for rehydration */\n var tag = this.makeTag(null);\n var rehydrationTag = makeRehydrationTag(tag, els, extracted, isStreamed);\n\n /* reset capacity and adjust MAX_SIZE by the initial size of the rehydration */\n this.capacity = Math.max(1, MAX_SIZE - extractedSize);\n this.tags.push(rehydrationTag);\n\n /* retrieve all component ids */\n for (var _j = 0; _j < extractedSize; _j += 1) {\n this.tagMap[extracted[_j].componentId] = rehydrationTag;\n }\n\n return this;\n };\n\n /* retrieve a \"master\" instance of StyleSheet which is typically used when no other is available\n * The master StyleSheet is targeted by injectGlobal, keyframes, and components outside of any\n * StyleSheetManager's context */\n\n\n /* reset the internal \"master\" instance */\n StyleSheet.reset = function reset() {\n var forceServer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n master = new StyleSheet(undefined, forceServer).rehydrate();\n };\n\n /* adds \"children\" to the StyleSheet that inherit all of the parents' rules\n * while their own rules do not affect the parent */\n\n\n StyleSheet.prototype.clone = function clone() {\n var sheet = new StyleSheet(this.target, this.forceServer);\n\n /* add to clone array */\n this.clones.push(sheet);\n\n /* clone all tags */\n sheet.tags = this.tags.map(function (tag) {\n var ids = tag.getIds();\n var newTag = tag.clone();\n\n /* reconstruct tagMap */\n for (var i = 0; i < ids.length; i += 1) {\n sheet.tagMap[ids[i]] = newTag;\n }\n\n return newTag;\n });\n\n /* clone other maps */\n sheet.rehydratedNames = _extends({}, this.rehydratedNames);\n sheet.deferred = _extends({}, this.deferred);\n\n return sheet;\n };\n\n /* force StyleSheet to create a new tag on the next injection */\n\n\n StyleSheet.prototype.sealAllTags = function sealAllTags() {\n this.capacity = 1;\n\n this.tags.forEach(function (tag) {\n // eslint-disable-next-line no-param-reassign\n tag.sealed = true;\n });\n };\n\n StyleSheet.prototype.makeTag = function makeTag$$1(tag) {\n var lastEl = tag ? tag.styleTag : null;\n var insertBefore = false;\n\n return makeTag(this.target, lastEl, this.forceServer, insertBefore, this.getImportRuleTag);\n };\n\n /* get a tag for a given componentId, assign the componentId to one, or shard */\n StyleSheet.prototype.getTagForId = function getTagForId(id) {\n /* simply return a tag, when the componentId was already assigned one */\n var prev = this.tagMap[id];\n if (prev !== undefined && !prev.sealed) {\n return prev;\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n /* shard (create a new tag) if the tag is exhausted (See MAX_SIZE) */\n this.capacity -= 1;\n\n if (this.capacity === 0) {\n this.capacity = MAX_SIZE;\n tag = this.makeTag(tag);\n this.tags.push(tag);\n }\n\n return this.tagMap[id] = tag;\n };\n\n /* mainly for injectGlobal to check for its id */\n\n\n StyleSheet.prototype.hasId = function hasId(id) {\n return this.tagMap[id] !== undefined;\n };\n\n /* caching layer checking id+name to already have a corresponding tag and injected rules */\n\n\n StyleSheet.prototype.hasNameForId = function hasNameForId(id, name) {\n /* exception for rehydrated names which are checked separately */\n if (this.ignoreRehydratedNames[id] === undefined && this.rehydratedNames[name]) {\n return true;\n }\n\n var tag = this.tagMap[id];\n return tag !== undefined && tag.hasNameForId(id, name);\n };\n\n /* registers a componentId and registers it on its tag */\n\n\n StyleSheet.prototype.deferredInject = function deferredInject(id, cssRules) {\n /* don't inject when the id is already registered */\n if (this.tagMap[id] !== undefined) return;\n\n var clones = this.clones;\n\n for (var i = 0; i < clones.length; i += 1) {\n clones[i].deferredInject(id, cssRules);\n }\n\n this.getTagForId(id).insertMarker(id);\n this.deferred[id] = cssRules;\n };\n\n /* injects rules for a given id with a name that will need to be cached */\n\n\n StyleSheet.prototype.inject = function inject(id, cssRules, name) {\n var clones = this.clones;\n\n\n for (var i = 0; i < clones.length; i += 1) {\n clones[i].inject(id, cssRules, name);\n }\n\n var tag = this.getTagForId(id);\n\n /* add deferred rules for component */\n if (this.deferred[id] !== undefined) {\n // Combine passed cssRules with previously deferred CSS rules\n // NOTE: We cannot mutate the deferred array itself as all clones\n // do the same (see clones[i].inject)\n var rules = this.deferred[id].concat(cssRules);\n tag.insertRules(id, rules, name);\n\n this.deferred[id] = undefined;\n } else {\n tag.insertRules(id, cssRules, name);\n }\n };\n\n /* removes all rules for a given id, which doesn't remove its marker but resets it */\n\n\n StyleSheet.prototype.remove = function remove(id) {\n var tag = this.tagMap[id];\n if (tag === undefined) return;\n\n var clones = this.clones;\n\n for (var i = 0; i < clones.length; i += 1) {\n clones[i].remove(id);\n }\n\n /* remove all rules from the tag */\n tag.removeRules(id);\n /* ignore possible rehydrated names */\n this.ignoreRehydratedNames[id] = true;\n /* delete possible deferred rules */\n this.deferred[id] = undefined;\n };\n\n StyleSheet.prototype.toHTML = function toHTML() {\n return this.tags.map(function (tag) {\n return tag.toHTML();\n }).join('');\n };\n\n StyleSheet.prototype.toReactElements = function toReactElements() {\n var id = this.id;\n\n\n return this.tags.map(function (tag, i) {\n var key = 'sc-' + id + '-' + i;\n return cloneElement(tag.toElement(), { key: key });\n });\n };\n\n createClass(StyleSheet, null, [{\n key: 'master',\n get: function get$$1() {\n return master || (master = new StyleSheet().rehydrate());\n }\n\n /* NOTE: This is just for backwards-compatibility with jest-styled-components */\n\n }, {\n key: 'instance',\n get: function get$$1() {\n return StyleSheet.master;\n }\n }]);\n return StyleSheet;\n}();\n\nvar _StyleSheetManager$ch;\n\nvar StyleSheetManager = function (_Component) {\n inherits(StyleSheetManager, _Component);\n\n function StyleSheetManager() {\n classCallCheck(this, StyleSheetManager);\n return possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n StyleSheetManager.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[CONTEXT_KEY] = this.sheetInstance, _ref;\n };\n\n StyleSheetManager.prototype.componentWillMount = function componentWillMount() {\n if (this.props.sheet) {\n this.sheetInstance = this.props.sheet;\n } else if (this.props.target) {\n this.sheetInstance = new StyleSheet(this.props.target);\n } else {\n throw new StyledComponentsError(4);\n }\n };\n\n StyleSheetManager.prototype.render = function render() {\n /* eslint-disable react/prop-types */\n // Flow v0.43.1 will report an error accessing the `children` property,\n // but v0.47.0 will not. It is necessary to use a type cast instead of\n // a \"fixme\" comment to satisfy both Flow versions.\n return React.Children.only(this.props.children);\n };\n\n return StyleSheetManager;\n}(Component);\n\nStyleSheetManager.childContextTypes = (_StyleSheetManager$ch = {}, _StyleSheetManager$ch[CONTEXT_KEY] = PropTypes.oneOfType([PropTypes.instanceOf(StyleSheet), PropTypes.instanceOf(ServerStyleSheet)]).isRequired, _StyleSheetManager$ch);\nprocess.env.NODE_ENV !== \"production\" ? StyleSheetManager.propTypes = {\n sheet: PropTypes.oneOfType([PropTypes.instanceOf(StyleSheet), PropTypes.instanceOf(ServerStyleSheet)]),\n target: PropTypes.shape({\n appendChild: PropTypes.func.isRequired\n })\n} : void 0;\n\n// \n\nvar ServerStyleSheet = function () {\n function ServerStyleSheet() {\n classCallCheck(this, ServerStyleSheet);\n\n /* The master sheet might be reset, so keep a reference here */\n this.masterSheet = StyleSheet.master;\n this.instance = this.masterSheet.clone();\n this.closed = false;\n }\n\n ServerStyleSheet.prototype.complete = function complete() {\n if (!this.closed) {\n /* Remove closed StyleSheets from the master sheet */\n var index = this.masterSheet.clones.indexOf(this.instance);\n this.masterSheet.clones.splice(index, 1);\n this.closed = true;\n }\n };\n\n ServerStyleSheet.prototype.collectStyles = function collectStyles(children) {\n if (this.closed) {\n throw new StyledComponentsError(2);\n }\n\n return React.createElement(\n StyleSheetManager,\n { sheet: this.instance },\n children\n );\n };\n\n ServerStyleSheet.prototype.getStyleTags = function getStyleTags() {\n this.complete();\n return this.instance.toHTML();\n };\n\n ServerStyleSheet.prototype.getStyleElement = function getStyleElement() {\n this.complete();\n return this.instance.toReactElements();\n };\n\n ServerStyleSheet.prototype.interleaveWithNodeStream = function interleaveWithNodeStream(readableStream) {\n var _this = this;\n\n {\n throw new StyledComponentsError(3);\n }\n\n /* the tag index keeps track of which tags have already been emitted */\n var instance = this.instance;\n\n var instanceTagIndex = 0;\n\n var streamAttr = SC_STREAM_ATTR + '=\"true\"';\n\n var transformer = new stream.Transform({\n transform: function appendStyleChunks(chunk, /* encoding */_, callback) {\n var tags = instance.tags;\n\n var html = '';\n\n /* retrieve html for each new style tag */\n for (; instanceTagIndex < tags.length; instanceTagIndex += 1) {\n var tag = tags[instanceTagIndex];\n html += tag.toHTML(streamAttr);\n }\n\n /* force our StyleSheets to emit entirely new tags */\n instance.sealAllTags();\n\n /* prepend style html to chunk */\n this.push(html + chunk);\n callback();\n }\n });\n\n readableStream.on('end', function () {\n return _this.complete();\n });\n readableStream.on('error', function (err) {\n _this.complete();\n\n // forward the error to the transform stream\n transformer.emit('error', err);\n });\n\n return readableStream.pipe(transformer);\n };\n\n return ServerStyleSheet;\n}();\n\n// \n\nvar LIMIT = 200;\n\nvar createWarnTooManyClasses = (function (displayName) {\n var generatedClasses = {};\n var warningSeen = false;\n\n return function (className) {\n if (!warningSeen) {\n generatedClasses[className] = true;\n if (Object.keys(generatedClasses).length >= LIMIT) {\n // Unable to find latestRule in test environment.\n /* eslint-disable no-console, prefer-template */\n console.warn('Over ' + LIMIT + ' classes were generated for component ' + displayName + '. \\n' + 'Consider using the attrs method, together with a style object for frequently changed styles.\\n' + 'Example:\\n' + ' const Component = styled.div.attrs({\\n' + ' style: ({ background }) => ({\\n' + ' background,\\n' + ' }),\\n' + ' })`width: 100%;`\\n\\n' + ' ');\n warningSeen = true;\n generatedClasses = {};\n }\n }\n };\n});\n\n// \n\nvar determineTheme = (function (props, fallbackTheme, defaultProps) {\n // Props should take precedence over ThemeProvider, which should take precedence over\n // defaultProps, but React automatically puts defaultProps on props.\n\n /* eslint-disable react/prop-types */\n var isDefaultTheme = defaultProps && props.theme === defaultProps.theme;\n var theme = props.theme && !isDefaultTheme ? props.theme : fallbackTheme;\n /* eslint-enable */\n\n return theme;\n});\n\n// \nvar escapeRegex = /[[\\].#*$><+~=|^:(),\"'`-]+/g;\nvar dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nfunction escape(str) {\n return str\n // Replace all possible CSS selectors\n .replace(escapeRegex, '-')\n\n // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '');\n}\n\n// \n\nfunction getComponentName(target) {\n return target.displayName || target.name || 'Component';\n}\n\n// \n\nfunction isTag(target) /* : %checks */{\n return typeof target === 'string';\n}\n\n// \n\nfunction generateDisplayName(target) {\n return isTag(target) ? 'styled.' + target : 'Styled(' + getComponentName(target) + ')';\n}\n\n// \n/* eslint-disable max-len */\n/**\n * Trying to avoid the unknown-prop errors on styled components by filtering by\n * React's attribute whitelist.\n *\n * To regenerate this regex:\n *\n * 1. `npm i -g regexgen` (https://github.com/devongovett/regexgen)\n * 2. Run `regexgen` with the list of space-separated words below as input\n * 3. Surround the emitted regex with this: `/^(GENERATED_REGEX)$/` -- this will ensure a full string match\n * and no false positives from partials\n * */\n/*\nchildren dangerouslySetInnerHTML key ref autoFocus defaultValue valueLink defaultChecked checkedLink innerHTML suppressContentEditableWarning onFocusIn onFocusOut className onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown onKeyPress onKeyUp onFocus onBlur onChange onInput onInvalid onSubmit onReset onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onAnimationStart onAnimationEnd onAnimationIteration onTransitionEnd onCopyCapture onCutCapture onPasteCapture onCompositionEndCapture onCompositionStartCapture onCompositionUpdateCapture onKeyDownCapture onKeyPressCapture onKeyUpCapture onFocusCapture onBlurCapture onChangeCapture onInputCapture onSubmitCapture onResetCapture onClickCapture onContextMenuCapture onDoubleClickCapture onDragCapture onDragEndCapture onDragEnterCapture onDragExitCapture onDragLeaveCapture onDragOverCapture onDragStartCapture onDropCapture onMouseDownCapture onMouseEnterCapture onMouseLeaveCapture onMouseMoveCapture onMouseOutCapture onMouseOverCapture onMouseUpCapture onSelectCapture onTouchCancelCapture onTouchEndCapture onTouchMoveCapture onTouchStartCapture onScrollCapture onWheelCapture onAbortCapture onCanPlayCapture onCanPlayThroughCapture onDurationChangeCapture onEmptiedCapture onEncryptedCapture onEndedCapture onErrorCapture onLoadedDataCapture onLoadedMetadataCapture onLoadStartCapture onPauseCapture onPlayCapture onPlayingCapture onProgressCapture onRateChangeCapture onSeekedCapture onSeekingCapture onStalledCapture onSuspendCapture onTimeUpdateCapture onVolumeChangeCapture onWaitingCapture onLoadCapture onAnimationStartCapture onAnimationEndCapture onAnimationIterationCapture onTransitionEndCapture accept acceptCharset accessKey action allowFullScreen allowTransparency alt as async autoComplete autoPlay capture cellPadding cellSpacing charSet challenge checked cite classID className cols colSpan content contentEditable contextMenu controlsList controls coords crossOrigin data dateTime default defer dir disabled download draggable encType form formAction formEncType formMethod formNoValidate formTarget frameBorder headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media mediaGroup method min minLength multiple muted name nonce noValidate open optimum pattern placeholder playsInline poster preload profile radioGroup readOnly referrerPolicy rel required reversed role rows rowSpan sandbox scope scoped scrolling seamless selected shape size sizes span spellCheck src srcDoc srcLang srcSet start step style summary tabIndex target title type useMap value width wmode wrap about datatype inlist prefix property resource typeof vocab autoCapitalize autoCorrect autoSave color itemProp itemScope itemType itemID itemRef results security unselectable accentHeight accumulate additive alignmentBaseline allowReorder alphabetic amplitude arabicForm ascent attributeName attributeType autoReverse azimuth baseFrequency baseProfile baselineShift bbox begin bias by calcMode capHeight clip clipPath clipRule clipPathUnits colorInterpolation colorInterpolationFilters colorProfile colorRendering contentScriptType contentStyleType cursor cx cy d decelerate descent diffuseConstant direction display divisor dominantBaseline dur dx dy edgeMode elevation enableBackground end exponent externalResourcesRequired fill fillOpacity fillRule filter filterRes filterUnits floodColor floodOpacity focusable fontFamily fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontWeight format from fx fy g1 g2 glyphName glyphOrientationHorizontal glyphOrientationVertical glyphRef gradientTransform gradientUnits hanging horizAdvX horizOriginX ideographic imageRendering in in2 intercept k k1 k2 k3 k4 kernelMatrix kernelUnitLength kerning keyPoints keySplines keyTimes lengthAdjust letterSpacing lightingColor limitingConeAngle local markerEnd markerMid markerStart markerHeight markerUnits markerWidth mask maskContentUnits maskUnits mathematical mode numOctaves offset opacity operator order orient orientation origin overflow overlinePosition overlineThickness paintOrder panose1 pathLength patternContentUnits patternTransform patternUnits pointerEvents points pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits r radius refX refY renderingIntent repeatCount repeatDur requiredExtensions requiredFeatures restart result rotate rx ry scale seed shapeRendering slope spacing specularConstant specularExponent speed spreadMethod startOffset stdDeviation stemh stemv stitchTiles stopColor stopOpacity strikethroughPosition strikethroughThickness string stroke strokeDasharray strokeDashoffset strokeLinecap strokeLinejoin strokeMiterlimit strokeOpacity strokeWidth surfaceScale systemLanguage tableValues targetX targetY textAnchor textDecoration textRendering textLength to transform u1 u2 underlinePosition underlineThickness unicode unicodeBidi unicodeRange unitsPerEm vAlphabetic vHanging vIdeographic vMathematical values vectorEffect version vertAdvY vertOriginX vertOriginY viewBox viewTarget visibility widths wordSpacing writingMode x xHeight x1 x2 xChannelSelector xlinkActuate xlinkArcrole xlinkHref xlinkRole xlinkShow xlinkTitle xlinkType xmlBase xmlns xmlnsXlink xmlLang xmlSpace y y1 y2 yChannelSelector z zoomAndPan onPointerDown onPointerMove onPointerUp onPointerCancel onGotPointerCapture onLostPointerCapture onPointerEnter onPointerLeave onPointerOver onPointerOut class for autofocus allow allowUserMedia allowPaymentRequest\n*/\n/* eslint-enable max-len */\n\nvar ATTRIBUTE_REGEX = /^((?:s(?:uppressContentEditableWarn|croll|pac)|(?:shape|image|text)Render|(?:letter|word)Spac|vHang|hang)ing|(?:on(?:AnimationIteration|C(?:o(?:mposition(?:Update|Start|End)|ntextMenu|py)|anPlayThrough|anPlay|hange|lick|ut)|(?:Animation|Touch|Load|Drag)Start|(?:(?:Duration|Volume|Rate)Chang|(?:MouseLea|(?:Touch|Mouse)Mo|DragLea)v|Paus)e|Loaded(?:Metad|D)ata|(?:(?:T(?:ransition|ouch)|Animation)E|Suspe)nd|DoubleClick|(?:TouchCanc|Whe)el|Lo(?:stPointer|ad)|TimeUpdate|(?:Mouse(?:Ent|Ov)e|Drag(?:Ent|Ov)e|Erro)r|GotPointer|MouseDown|(?:E(?:n(?:crypt|d)|mpti)|S(?:tall|eek))ed|KeyPress|(?:MouseOu|DragExi|S(?:elec|ubmi)|Rese|Inpu)t|P(?:rogress|laying)|DragEnd|Key(?:Down|Up)|(?:MouseU|Dro)p|(?:Wait|Seek)ing|Scroll|Focus|Paste|Abort|Drag|Play|Blur)Captur|alignmentBaselin|(?:limitingConeAng|xlink(?:(?:Arcr|R)o|Tit)|s(?:urfaceSca|ty|ca)|unselectab|baseProfi|fontSty|(?:focus|dragg)ab|multip|profi|tit)l|d(?:ominantBaselin|efaultValu)|onPointerLeav|a(?:uto(?:Capitaliz|Revers|Sav)|dditiv)|(?:(?:formNoValid|xlinkActu|noValid|accumul|rot)a|autoComple|decelera)t|(?:(?:attribute|item)T|datat)yp|onPointerMov|(?:attribute|glyph)Nam|playsInlin|(?:writing|input|edge)Mod|(?:formE|e)ncTyp|(?:amplitu|mo)d|(?:xlinkTy|itemSco|keyTy|slo)p|(?:xmlSpa|non)c|fillRul|(?:dateTi|na)m|r(?:esourc|ol)|xmlBas|wmod)e|(?:glyphOrientationHorizont|loc)al|(?:externalResourcesRequir|select|revers|mut)ed|c(?:o(?:lorInterpolationFilter|ord)s|o(?:lor(?:Interpolation)?|nt(?:rols|ent))|(?:ontentS(?:cript|tyle)Typ|o(?:ntentEditab|lorProfi)l|l(?:assNam|ipRul)|a(?:lcMod|ptur)|it)e|olorRendering|l(?:ipPathUnits|assID)|(?:ontrolsLis|apHeigh)t|h(?:eckedLink|a(?:llenge|rSet)|ildren|ecked)|ell(?:Spac|Padd)ing|o(?:ntextMenu|ls)|(?:rossOrigi|olSpa)n|l(?:ip(?:Path)?|ass)|ursor|[xy])|glyphOrientationVertical|d(?:angerouslySetInnerHTML|efaultChecked|ownload|isabled|isplay|[xy])|(?:s(?:trikethroughThickn|eaml)es|(?:und|ov)erlineThicknes|r(?:equiredExtension|adiu)|(?:requiredFeatur|tableValu|stitchTil|numOctav|filterR)e|key(?:(?:Splin|Tim)e|Param)|auto[Ff]ocu|header|bia)s|(?:(?:st(?:rikethroughPosi|dDevia)|(?:und|ov)erlinePosi|(?:textDecor|elev)a|orienta)tio|(?:strokeLinejo|orig)i|on(?:PointerDow|FocusI)|formActio|zoomAndPa|directio|(?:vers|act)io|rowSpa|begi|ico)n|o(?:n(?:AnimationIteration|C(?:o(?:mposition(?:Update|Start|End)|ntextMenu|py)|anPlayThrough|anPlay|hange|lick|ut)|(?:(?:Duration|Volume|Rate)Chang|(?:MouseLea|(?:Touch|Mouse)Mo|DragLea)v|Paus)e|Loaded(?:Metad|D)ata|(?:Animation|Touch|Load|Drag)Start|(?:(?:T(?:ransition|ouch)|Animation)E|Suspe)nd|DoubleClick|(?:TouchCanc|Whe)el|(?:Mouse(?:Ent|Ov)e|Drag(?:Ent|Ov)e|Erro)r|TimeUpdate|(?:E(?:n(?:crypt|d)|mpti)|S(?:tall|eek))ed|MouseDown|P(?:rogress|laying)|(?:MouseOu|DragExi|S(?:elec|ubmi)|Rese|Inpu)t|KeyPress|DragEnd|Key(?:Down|Up)|(?:Wait|Seek)ing|(?:MouseU|Dro)p|Scroll|Paste|Focus|Abort|Drag|Play|Load|Blur)|rient)|p(?:reserveAspectRatio|ointsAt[X-Z]|anose1)|(?:(?:allowPaymentReque|(?:fontSize|length)Adju|manife)s|strokeMiterlimi|(?:(?:specularE|e)xpon|renderingInt|asc)en|(?:specularConsta|repeatCou|fontVaria)n|d(?:iffuseConsta|esce)n|baselineShif|vectorEffec|onPointerOu|(?:(?:mar(?:ker|gin)|x)H|accentH|fontW)eigh|markerStar|a(?:utoCorrec|bou)|onFocusOu|intercep|restar|forma|inlis|heigh|lis)t|(?:patternContent|ma(?:sk(?:Content)?|rker)|primitive|gradient|pattern|filter)Units|(?:(?:allowTranspar|baseFrequ)enc|re(?:ferrerPolic|adOnl)|(?:(?:st(?:roke|op)O|floodO|fillO|o)pac|integr|secur)it|visibilit|fontFamil|accessKe|propert|summar)y|(?:gradientT|patternT|t)ransform|(?:(?:st(?:rokeDasho|artO)|o)ffs|acceptChars|formTarg|viewTarg|srcS)et|(?:[xy]ChannelSelect|lightingCol|textAnch|floodCol|stopCol|operat|htmlF)or|(?:(?:enableBackgrou|markerE)n|s(?:p(?:readMetho|ee)|ee)|formMetho|(?:markerM|onInval)i|preloa|metho|kin)d|k(?:ernel(?:UnitLength|Matrix)|[1-4])|strokeDasharray|(?:onPointerCanc|lab)el|(?:allowFullScre|hidd)en|a(?:l(?:lowUserMedia|phabetic|t)|rabicForm|sync)|systemLanguage|(?:(?:o(?:nPointer(?:Ent|Ov)|rd)|allowReord|placehold|frameBord|paintOrd|post)e|repeatDu|d(?:efe|u))r|(?:pointerEve|keyPoi)nts|preserveAlpha|(?:strokeLineca|onPointerU|itemPro|useMa|wra|loo)p|v(?:Mathematical|ert(?:Origin[XY]|AdvY)|alues|ocab)|unicodeRange|h(?:oriz(?:Origin|Adv)X|ttpEquiv)|(?:vI|i)deographic|mathematical|u(?:nicodeBidi|[12])|(?:fontStretc|hig)h|vAlphabetic|(?:(?:mar(?:ker|gin)W|strokeW)id|azimu)th|(?:xmlnsXl|valueL)ink|mediaGroup|spellCheck|(?:text|m(?:in|ax))Length|(?:unitsPerE|optimu|fro)m|r(?:adioGroup|e(?:sults|f[XY]|l)|ows|[xy])|pathLength|(?:xlinkHr|glyphR)ef|innerHTML|xlinkShow|f(?:o(?:ntSize|rm?)|il(?:ter|l))|(?:tabInde|(?:sand|b)bo|viewBo)x|autoPlay|r(?:e(?:quired|sult|f))?|(?:(?:href|xml|src)La|kerni)ng|o(?:verflow|pen)|i(?:temRef|n2|s)|p(?:attern|oints)|unicode|d(?:efault|ata|ir)?|divisor|t(?:arget[XY]|o)|(?:stri|la)ng|(?:width|size)s|prefix|typeof|srcDoc|s(?:coped|te(?:m[hv]|p)|pan)|s(?:t(?:roke|art)|hape|cope|rc)|a(?:ccept|llow|s)|itemID|t(?:arget|ype)|m(?:edia|a(?:sk|x)|in)|value|width|x(?:mlns)?|size|href|k(?:ey)?|end|low|by|x[12]|y[12]|g[12]|i[dn]|f[xy]|[yz])$/;\n/* From DOMProperty */\nvar ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nvar isCustomAttribute = RegExp.prototype.test.bind(new RegExp('^(x|data|aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$'));\n\nvar validAttr = (function (name) {\n return ATTRIBUTE_REGEX.test(name) || isCustomAttribute(name.toLowerCase());\n});\n\n// \n\nfunction hasInInheritanceChain(child, parent) {\n var target = child;\n\n while (target) {\n target = Object.getPrototypeOf(target);\n\n if (target && target === parent) {\n return true;\n }\n }\n\n return false;\n}\n\n// \n/**\n * Creates a broadcast that can be listened to, i.e. simple event emitter\n *\n * @see https://github.com/ReactTraining/react-broadcast\n */\n\nvar createBroadcast = function createBroadcast(initialState) {\n var listeners = {};\n var id = 0;\n var state = initialState;\n\n function publish(nextState) {\n state = nextState;\n\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (var key in listeners) {\n var listener = listeners[key];\n if (listener === undefined) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n listener(state);\n }\n }\n\n function subscribe(listener) {\n var currentId = id;\n listeners[currentId] = listener;\n id += 1;\n listener(state);\n return currentId;\n }\n\n function unsubscribe(unsubID) {\n listeners[unsubID] = undefined;\n }\n\n return { publish: publish, subscribe: subscribe, unsubscribe: unsubscribe };\n};\n\nvar _contextShape, _ThemeProvider$contex;\n\n// NOTE: DO NOT CHANGE, changing this is a semver major change!\nvar CHANNEL = '__styled-components__';\nvar CHANNEL_NEXT = CHANNEL + 'next__';\n\nvar CONTEXT_CHANNEL_SHAPE = PropTypes.shape({\n getTheme: PropTypes.func,\n subscribe: PropTypes.func,\n unsubscribe: PropTypes.func\n});\n\nvar contextShape = (_contextShape = {}, _contextShape[CHANNEL] = PropTypes.func, _contextShape[CHANNEL_NEXT] = CONTEXT_CHANNEL_SHAPE, _contextShape);\n\nvar warnChannelDeprecated = void 0;\nif (process.env.NODE_ENV !== 'production') {\n warnChannelDeprecated = once(function () {\n // eslint-disable-next-line no-console\n console.warn('Warning: Usage of `context.' + CHANNEL + '` as a function is deprecated. It will be replaced with the object on `.context.' + CHANNEL_NEXT + '` in a future version.');\n });\n}\n\nvar isFunction = function isFunction(test) {\n return typeof test === 'function';\n};\n\n/**\n * Provide a theme to an entire react component tree via context and event listeners (have to do\n * both context and event emitter as pure components block context updates)\n */\n\nvar ThemeProvider = function (_Component) {\n inherits(ThemeProvider, _Component);\n\n function ThemeProvider() {\n classCallCheck(this, ThemeProvider);\n\n var _this = possibleConstructorReturn(this, _Component.call(this));\n\n _this.unsubscribeToOuterId = -1;\n\n _this.getTheme = _this.getTheme.bind(_this);\n return _this;\n }\n\n ThemeProvider.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n // If there is a ThemeProvider wrapper anywhere around this theme provider, merge this theme\n // with the outer theme\n var outerContext = this.context[CHANNEL_NEXT];\n if (outerContext !== undefined) {\n this.unsubscribeToOuterId = outerContext.subscribe(function (theme) {\n _this2.outerTheme = theme;\n\n if (_this2.broadcast !== undefined) {\n _this2.publish(_this2.props.theme);\n }\n });\n }\n\n this.broadcast = createBroadcast(this.getTheme());\n };\n\n ThemeProvider.prototype.getChildContext = function getChildContext() {\n var _this3 = this,\n _babelHelpers$extends;\n\n return _extends({}, this.context, (_babelHelpers$extends = {}, _babelHelpers$extends[CHANNEL_NEXT] = {\n getTheme: this.getTheme,\n subscribe: this.broadcast.subscribe,\n unsubscribe: this.broadcast.unsubscribe\n }, _babelHelpers$extends[CHANNEL] = function (subscriber) {\n if (process.env.NODE_ENV !== 'production') {\n warnChannelDeprecated();\n }\n\n // Patch the old `subscribe` provide via `CHANNEL` for older clients.\n var unsubscribeId = _this3.broadcast.subscribe(subscriber);\n return function () {\n return _this3.broadcast.unsubscribe(unsubscribeId);\n };\n }, _babelHelpers$extends));\n };\n\n ThemeProvider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.theme !== nextProps.theme) {\n this.publish(nextProps.theme);\n }\n };\n\n ThemeProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.unsubscribeToOuterId !== -1) {\n this.context[CHANNEL_NEXT].unsubscribe(this.unsubscribeToOuterId);\n }\n };\n\n // Get the theme from the props, supporting both (outerTheme) => {} as well as object notation\n\n\n ThemeProvider.prototype.getTheme = function getTheme(passedTheme) {\n var theme = passedTheme || this.props.theme;\n\n if (isFunction(theme)) {\n var mergedTheme = theme(this.outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme === null || Array.isArray(mergedTheme) || (typeof mergedTheme === 'undefined' ? 'undefined' : _typeof(mergedTheme)) !== 'object')) {\n throw new StyledComponentsError(7);\n }\n\n return mergedTheme;\n }\n\n if (theme === null || Array.isArray(theme) || (typeof theme === 'undefined' ? 'undefined' : _typeof(theme)) !== 'object') {\n throw new StyledComponentsError(8);\n }\n\n return _extends({}, this.outerTheme, theme);\n };\n\n ThemeProvider.prototype.publish = function publish(theme) {\n this.broadcast.publish(this.getTheme(theme));\n };\n\n ThemeProvider.prototype.render = function render() {\n if (!this.props.children) {\n return null;\n }\n\n return React.Children.only(this.props.children);\n };\n\n return ThemeProvider;\n}(Component);\n\nThemeProvider.childContextTypes = contextShape;\nThemeProvider.contextTypes = (_ThemeProvider$contex = {}, _ThemeProvider$contex[CHANNEL_NEXT] = CONTEXT_CHANNEL_SHAPE, _ThemeProvider$contex);\n\nvar _babelHelpers$extends;\n\n// HACK for generating all static styles without needing to allocate\n// an empty execution context every single time...\nvar STATIC_EXECUTION_CONTEXT = {};\n\nvar modifiedContextShape = _extends({}, contextShape, (_babelHelpers$extends = {}, _babelHelpers$extends[CONTEXT_KEY] = PropTypes.oneOfType([PropTypes.instanceOf(StyleSheet), PropTypes.instanceOf(ServerStyleSheet)]), _babelHelpers$extends));\n\nvar identifiers = {};\n\n/* We depend on components having unique IDs */\nvar generateId = function generateId(ComponentStyle, _displayName, parentComponentId) {\n var displayName = typeof _displayName !== 'string' ? 'sc' : escape(_displayName);\n\n /**\n * This ensures uniqueness if two components happen to share\n * the same displayName.\n */\n var nr = (identifiers[displayName] || 0) + 1;\n identifiers[displayName] = nr;\n\n var componentId = displayName + '-' + ComponentStyle.generateName(displayName + nr);\n\n return parentComponentId !== undefined ? parentComponentId + '-' + componentId : componentId;\n};\n\nvar warnExtendDeprecated = function warnExtendDeprecated() {};\nif (process.env.NODE_ENV !== 'production') {\n warnExtendDeprecated = once(function () {\n // eslint-disable-next-line no-console\n console.warn('Warning: The \"extend\" API will be removed in the upcoming v4.0 release. Use styled(StyledComponent) instead. You can find more information here: https://github.com/styled-components/styled-components/issues/1546');\n });\n}\n\n// $FlowFixMe\n\nvar BaseStyledComponent = function (_Component) {\n inherits(BaseStyledComponent, _Component);\n\n function BaseStyledComponent() {\n var _temp, _this, _ret;\n\n classCallCheck(this, BaseStyledComponent);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.attrs = {}, _this.state = {\n theme: null,\n generatedClassName: ''\n }, _this.unsubscribeId = -1, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n BaseStyledComponent.prototype.unsubscribeFromContext = function unsubscribeFromContext() {\n if (this.unsubscribeId !== -1) {\n this.context[CHANNEL_NEXT].unsubscribe(this.unsubscribeId);\n }\n };\n\n BaseStyledComponent.prototype.buildExecutionContext = function buildExecutionContext(theme, props) {\n var attrs = this.constructor.attrs;\n\n var context = _extends({}, props, { theme: theme });\n if (attrs === undefined) {\n return context;\n }\n\n this.attrs = Object.keys(attrs).reduce(function (acc, key) {\n var attr = attrs[key];\n\n // eslint-disable-next-line no-param-reassign\n acc[key] = typeof attr === 'function' && !hasInInheritanceChain(attr, Component) ? attr(context) : attr;\n return acc;\n }, {});\n\n return _extends({}, context, this.attrs);\n };\n\n BaseStyledComponent.prototype.generateAndInjectStyles = function generateAndInjectStyles(theme, props) {\n var _constructor = this.constructor,\n attrs = _constructor.attrs,\n componentStyle = _constructor.componentStyle,\n warnTooManyClasses = _constructor.warnTooManyClasses;\n\n var styleSheet = this.context[CONTEXT_KEY] || StyleSheet.master;\n\n // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n if (componentStyle.isStatic && attrs === undefined) {\n return componentStyle.generateAndInjectStyles(STATIC_EXECUTION_CONTEXT, styleSheet);\n } else {\n var executionContext = this.buildExecutionContext(theme, props);\n var className = componentStyle.generateAndInjectStyles(executionContext, styleSheet);\n\n if (process.env.NODE_ENV !== 'production' && warnTooManyClasses !== undefined) {\n warnTooManyClasses(className);\n }\n\n return className;\n }\n };\n\n BaseStyledComponent.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var componentStyle = this.constructor.componentStyle;\n\n var styledContext = this.context[CHANNEL_NEXT];\n\n // If this is a statically-styled component, we don't need to the theme\n // to generate or build styles.\n if (componentStyle.isStatic) {\n var generatedClassName = this.generateAndInjectStyles(STATIC_EXECUTION_CONTEXT, this.props);\n this.setState({ generatedClassName: generatedClassName });\n // If there is a theme in the context, subscribe to the event emitter. This\n // is necessary due to pure components blocking context updates, this circumvents\n // that by updating when an event is emitted\n } else if (styledContext !== undefined) {\n var subscribe = styledContext.subscribe;\n\n this.unsubscribeId = subscribe(function (nextTheme) {\n // This will be called once immediately\n var theme = determineTheme(_this2.props, nextTheme, _this2.constructor.defaultProps);\n\n var generatedClassName = _this2.generateAndInjectStyles(theme, _this2.props);\n\n _this2.setState({ theme: theme, generatedClassName: generatedClassName });\n });\n } else {\n // eslint-disable-next-line react/prop-types\n var theme = this.props.theme || EMPTY_OBJECT;\n var _generatedClassName = this.generateAndInjectStyles(theme, this.props);\n this.setState({ theme: theme, generatedClassName: _generatedClassName });\n }\n };\n\n BaseStyledComponent.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n // If this is a statically-styled component, we don't need to listen to\n // props changes to update styles\n var componentStyle = this.constructor.componentStyle;\n\n if (componentStyle.isStatic) {\n return;\n }\n\n this.setState(function (prevState) {\n var theme = determineTheme(nextProps, prevState.theme, _this3.constructor.defaultProps);\n var generatedClassName = _this3.generateAndInjectStyles(theme, nextProps);\n\n return { theme: theme, generatedClassName: generatedClassName };\n });\n };\n\n BaseStyledComponent.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unsubscribeFromContext();\n };\n\n BaseStyledComponent.prototype.render = function render() {\n // eslint-disable-next-line react/prop-types\n var innerRef = this.props.innerRef;\n var generatedClassName = this.state.generatedClassName;\n var _constructor2 = this.constructor,\n styledComponentId = _constructor2.styledComponentId,\n target = _constructor2.target;\n\n\n var isTargetTag = isTag(target);\n\n var className = [\n // eslint-disable-next-line react/prop-types\n this.props.className, styledComponentId, this.attrs.className, generatedClassName].filter(Boolean).join(' ');\n\n var baseProps = _extends({}, this.attrs, {\n className: className\n });\n\n if (isStyledComponent(target)) {\n baseProps.innerRef = innerRef;\n } else {\n baseProps.ref = innerRef;\n }\n\n var propsForElement = baseProps;\n var key = void 0;\n\n for (key in this.props) {\n // Don't pass through non HTML tags through to HTML elements\n // always omit innerRef\n if (key !== 'innerRef' && key !== 'className' && (!isTargetTag || validAttr(key))) {\n propsForElement[key] = key === 'style' && key in this.attrs ? _extends({}, this.attrs[key], this.props[key]) : this.props[key];\n }\n }\n\n return createElement(target, propsForElement);\n };\n\n return BaseStyledComponent;\n}(Component);\n\nvar _StyledComponent = (function (ComponentStyle, constructWithOptions) {\n var createStyledComponent = function createStyledComponent(target, options, rules) {\n var _options$isClass = options.isClass,\n isClass = _options$isClass === undefined ? !isTag(target) : _options$isClass,\n _options$displayName = options.displayName,\n displayName = _options$displayName === undefined ? generateDisplayName(target) : _options$displayName,\n _options$componentId = options.componentId,\n componentId = _options$componentId === undefined ? generateId(ComponentStyle, options.displayName, options.parentComponentId) : _options$componentId,\n _options$ParentCompon = options.ParentComponent,\n ParentComponent = _options$ParentCompon === undefined ? BaseStyledComponent : _options$ParentCompon,\n extendingRules = options.rules,\n attrs = options.attrs;\n\n\n var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + '-' + options.componentId : options.componentId || componentId;\n\n var componentStyle = new ComponentStyle(extendingRules === undefined ? rules : extendingRules.concat(rules), attrs, styledComponentId);\n\n var StyledComponent = function (_ParentComponent) {\n inherits(StyledComponent, _ParentComponent);\n\n function StyledComponent() {\n classCallCheck(this, StyledComponent);\n return possibleConstructorReturn(this, _ParentComponent.apply(this, arguments));\n }\n\n StyledComponent.withComponent = function withComponent(tag) {\n var previousComponentId = options.componentId,\n optionsToCopy = objectWithoutProperties(options, ['componentId']);\n\n\n var newComponentId = previousComponentId && previousComponentId + '-' + (isTag(tag) ? tag : escape(getComponentName(tag)));\n\n var newOptions = _extends({}, optionsToCopy, {\n componentId: newComponentId,\n ParentComponent: StyledComponent\n });\n\n return createStyledComponent(tag, newOptions, rules);\n };\n\n createClass(StyledComponent, null, [{\n key: 'extend',\n get: function get$$1() {\n var rulesFromOptions = options.rules,\n parentComponentId = options.componentId,\n optionsToCopy = objectWithoutProperties(options, ['rules', 'componentId']);\n\n\n var newRules = rulesFromOptions === undefined ? rules : rulesFromOptions.concat(rules);\n\n var newOptions = _extends({}, optionsToCopy, {\n rules: newRules,\n parentComponentId: parentComponentId,\n ParentComponent: StyledComponent\n });\n\n warnExtendDeprecated();\n\n return constructWithOptions(createStyledComponent, target, newOptions);\n }\n }]);\n return StyledComponent;\n }(ParentComponent);\n\n StyledComponent.attrs = attrs;\n StyledComponent.componentStyle = componentStyle;\n StyledComponent.contextTypes = modifiedContextShape;\n StyledComponent.displayName = displayName;\n StyledComponent.styledComponentId = styledComponentId;\n StyledComponent.target = target;\n\n\n if (process.env.NODE_ENV !== 'production') {\n StyledComponent.warnTooManyClasses = createWarnTooManyClasses(displayName);\n }\n\n if (isClass) {\n hoistStatics(StyledComponent, target, {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n extend: true,\n styledComponentId: true,\n target: true,\n warnTooManyClasses: true,\n withComponent: true\n });\n }\n\n return StyledComponent;\n };\n\n return createStyledComponent;\n});\n\n// Source: https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\nfunction murmurhash(str) {\n var l = str.length | 0,\n h = l | 0,\n i = 0,\n k;\n\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n\n l -= 4;\n ++i;\n }\n\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n\n return h >>> 0;\n}\n\n// \n\nvar areStylesCacheable = IS_BROWSER;\n\nvar isStaticRules = function isStaticRules(rules, attrs) {\n for (var i = 0, len = rules.length; i < len; i += 1) {\n var rule = rules[i];\n\n // recursive case\n if (Array.isArray(rule) && !isStaticRules(rule)) {\n return false;\n } else if (typeof rule === 'function' && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n if (attrs !== undefined) {\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (var key in attrs) {\n if (typeof attrs[key] === 'function') {\n return false;\n }\n }\n }\n\n return true;\n};\n\nvar isHMREnabled = typeof module !== 'undefined' && module.hot && process.env.NODE_ENV !== 'production';\n\n/*\n ComponentStyle is all the CSS-specific stuff, not\n the React-specific stuff.\n */\nvar _ComponentStyle = (function (nameGenerator, flatten, stringifyRules) {\n /* combines hashStr (murmurhash) and nameGenerator for convenience */\n var generateRuleHash = function generateRuleHash(str) {\n return nameGenerator(murmurhash(str));\n };\n\n var ComponentStyle = function () {\n function ComponentStyle(rules, attrs, componentId) {\n classCallCheck(this, ComponentStyle);\n\n this.rules = rules;\n this.isStatic = !isHMREnabled && isStaticRules(rules, attrs);\n this.componentId = componentId;\n\n if (!StyleSheet.master.hasId(componentId)) {\n var placeholder = process.env.NODE_ENV !== 'production' ? ['.' + componentId + ' {}'] : [];\n\n StyleSheet.master.deferredInject(componentId, placeholder);\n }\n }\n\n /*\n * Flattens a rule set into valid CSS\n * Hashes it, wraps the whole chunk in a .hash1234 {}\n * Returns the hash to be injected on render()\n * */\n\n\n ComponentStyle.prototype.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet) {\n var isStatic = this.isStatic,\n componentId = this.componentId,\n lastClassName = this.lastClassName;\n\n if (areStylesCacheable && isStatic && lastClassName !== undefined && styleSheet.hasNameForId(componentId, lastClassName)) {\n return lastClassName;\n }\n\n var flatCSS = flatten(this.rules, executionContext);\n var name = generateRuleHash(this.componentId + flatCSS.join(''));\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n styleSheet.inject(this.componentId, stringifyRules(flatCSS, '.' + name), name);\n }\n\n this.lastClassName = name;\n return name;\n };\n\n ComponentStyle.generateName = function generateName(str) {\n return generateRuleHash(str);\n };\n\n return ComponentStyle;\n }();\n\n return ComponentStyle;\n});\n\n// \n// Thanks to ReactDOMFactories for this handy list!\n\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr',\n\n// SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\n// \n\nvar _styled = (function (styledComponent, constructWithOptions) {\n var styled = function styled(tag) {\n return constructWithOptions(styledComponent, tag);\n };\n\n // Shorthands for all valid HTML Elements\n domElements.forEach(function (domElement) {\n styled[domElement] = styled(domElement);\n });\n\n return styled;\n});\n\n// \n\nvar replaceWhitespace = function replaceWhitespace(str) {\n return str.replace(/\\s|\\\\n/g, '');\n};\n\nvar _keyframes = (function (nameGenerator, stringifyRules, css) {\n return function () {\n var styleSheet = StyleSheet.master;\n var rules = css.apply(undefined, arguments);\n var name = nameGenerator(murmurhash(replaceWhitespace(JSON.stringify(rules))));\n var id = 'sc-keyframes-' + name;\n\n if (!styleSheet.hasNameForId(id, name)) {\n styleSheet.inject(id, stringifyRules(rules, name, '@keyframes'), name);\n }\n\n return name;\n };\n});\n\n// \n\nvar _injectGlobal = (function (stringifyRules, css) {\n var injectGlobal = function injectGlobal() {\n var styleSheet = StyleSheet.master;\n var rules = css.apply(undefined, arguments);\n var hash = murmurhash(JSON.stringify(rules));\n var id = 'sc-global-' + hash;\n\n if (!styleSheet.hasId(id)) {\n styleSheet.inject(id, stringifyRules(rules));\n }\n };\n\n return injectGlobal;\n});\n\n// \n\nvar _constructWithOptions = (function (css) {\n var constructWithOptions = function constructWithOptions(componentConstructor, tag) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT;\n\n if (!isValidElementType(tag)) {\n throw new StyledComponentsError(1, String(tag));\n }\n\n /* This is callable directly as a template function */\n // $FlowFixMe: Not typed to avoid destructuring arguments\n var templateFunction = function templateFunction() {\n return componentConstructor(tag, options, css.apply(undefined, arguments));\n };\n\n /* If config methods are called, wrap up a new template function and merge options */\n templateFunction.withConfig = function (config) {\n return constructWithOptions(componentConstructor, tag, _extends({}, options, config));\n };\n templateFunction.attrs = function (attrs) {\n return constructWithOptions(componentConstructor, tag, _extends({}, options, {\n attrs: _extends({}, options.attrs || EMPTY_OBJECT, attrs)\n }));\n };\n\n return templateFunction;\n };\n\n return constructWithOptions;\n});\n\n// \n\nvar withTheme = (function (Component$$1) {\n var isStatelessFunctionalComponent = typeof Component$$1 === 'function' &&\n // $FlowFixMe TODO: flow for prototype\n !(Component$$1.prototype && 'isReactComponent' in Component$$1.prototype);\n\n // NOTE: We can't pass a ref to a stateless functional component\n var shouldSetInnerRef = isStyledComponent(Component$$1) || isStatelessFunctionalComponent;\n\n var WithTheme = function (_React$Component) {\n inherits(WithTheme, _React$Component);\n\n function WithTheme() {\n var _temp, _this, _ret;\n\n classCallCheck(this, WithTheme);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = EMPTY_OBJECT, _this.unsubscribeId = -1, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n // NOTE: This is so that isStyledComponent passes for the innerRef unwrapping\n\n\n WithTheme.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var defaultProps = this.constructor.defaultProps;\n\n var styledContext = this.context[CHANNEL_NEXT];\n var themeProp = determineTheme(this.props, undefined, defaultProps);\n if (styledContext === undefined && themeProp === undefined && process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps');\n } else if (styledContext === undefined && themeProp !== undefined) {\n this.setState({ theme: themeProp });\n } else {\n var subscribe = styledContext.subscribe;\n\n this.unsubscribeId = subscribe(function (nextTheme) {\n var theme = determineTheme(_this2.props, nextTheme, defaultProps);\n _this2.setState({ theme: theme });\n });\n }\n };\n\n WithTheme.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var defaultProps = this.constructor.defaultProps;\n\n this.setState(function (oldState) {\n var theme = determineTheme(nextProps, oldState.theme, defaultProps);\n\n return { theme: theme };\n });\n };\n\n WithTheme.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.unsubscribeId !== -1) {\n this.context[CHANNEL_NEXT].unsubscribe(this.unsubscribeId);\n }\n };\n\n WithTheme.prototype.render = function render() {\n var props = _extends({\n theme: this.state.theme\n }, this.props);\n\n if (!shouldSetInnerRef) {\n props.ref = props.innerRef;\n delete props.innerRef;\n }\n\n return React.createElement(Component$$1, props);\n };\n\n return WithTheme;\n }(React.Component);\n\n WithTheme.contextTypes = contextShape;\n WithTheme.displayName = 'WithTheme(' + getComponentName(Component$$1) + ')';\n WithTheme.styledComponentId = 'withTheme';\n\n\n return hoistStatics(WithTheme, Component$$1);\n});\n\n// \n\n/* eslint-disable */\nvar __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS = {\n StyleSheet: StyleSheet\n};\n\n// \n\n/* Warning if you've imported this file on React Native */\nif (process.env.NODE_ENV !== 'production' && typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n // eslint-disable-next-line no-console\n console.warn(\"It looks like you've imported 'styled-components' on React Native.\\n\" + \"Perhaps you're looking to import 'styled-components/native'?\\n\" + 'Read more about this at https://www.styled-components.com/docs/basics#react-native');\n}\n\n/* Warning if there are several instances of styled-components */\nif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && typeof window !== 'undefined' && typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Node.js') === -1 && navigator.userAgent.indexOf('jsdom') === -1) {\n window['__styled-components-init__'] = window['__styled-components-init__'] || 0;\n\n if (window['__styled-components-init__'] === 1) {\n // eslint-disable-next-line no-console\n console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. \" + 'This may cause dynamic styles not rendering properly, errors happening during rehydration process ' + 'and makes your application bigger without a good reason.\\n\\n' + 'See https://s-c.sh/2BAXzed for more info.');\n }\n\n window['__styled-components-init__'] += 1;\n}\n\n/* Instantiate singletons */\nvar ComponentStyle = _ComponentStyle(generateAlphabeticName, flatten, stringifyRules);\nvar constructWithOptions = _constructWithOptions(css);\nvar StyledComponent = _StyledComponent(ComponentStyle, constructWithOptions);\n\n/* Instantiate exported singletons */\nvar keyframes = _keyframes(generateAlphabeticName, stringifyRules, css);\nvar injectGlobal = _injectGlobal(stringifyRules, css);\nvar styled = _styled(StyledComponent, constructWithOptions);\n\nexport default styled;\nexport { css, keyframes, injectGlobal, isStyledComponent, consolidateStreamedStyles, ThemeProvider, withTheme, ServerStyleSheet, StyleSheetManager, __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS };\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","(function (factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? (module['exports'] = factory()) :\n\t\ttypeof define === 'function' && define['amd'] ? define(factory()) :\n\t\t\t(window['stylisRuleSheet'] = factory())\n}(function () {\n\n\t'use strict'\n\n\treturn function (insertRule) {\n\t\tvar delimiter = '/*|*/'\n\t\tvar needle = delimiter+'}'\n\n\t\tfunction toSheet (block) {\n\t\t\tif (block)\n\t\t\t\ttry {\n\t\t\t\t\tinsertRule(block + '}')\n\t\t\t\t} catch (e) {}\n\t\t}\n\n\t\treturn function ruleSheet (context, content, selectors, parents, line, column, length, ns, depth, at) {\n\t\t\tswitch (context) {\n\t\t\t\t// property\n\t\t\t\tcase 1:\n\t\t\t\t\t// @import\n\t\t\t\t\tif (depth === 0 && content.charCodeAt(0) === 64)\n\t\t\t\t\t\treturn insertRule(content+';'), ''\n\t\t\t\t\tbreak\n\t\t\t\t// selector\n\t\t\t\tcase 2:\n\t\t\t\t\tif (ns === 0)\n\t\t\t\t\t\treturn content + delimiter\n\t\t\t\t\tbreak\n\t\t\t\t// at-rule\n\t\t\t\tcase 3:\n\t\t\t\t\tswitch (ns) {\n\t\t\t\t\t\t// @font-face, @page\n\t\t\t\t\t\tcase 102:\n\t\t\t\t\t\tcase 112:\n\t\t\t\t\t\t\treturn insertRule(selectors[0]+content), ''\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn content + (at === 0 ? delimiter : '')\n\t\t\t\t\t}\n\t\t\t\tcase -2:\n\t\t\t\t\tcontent.split(needle).forEach(toSheet)\n\t\t\t}\n\t\t}\n\t}\n}))\n","/*\n * __ ___\n * _____/ /___ __/ (_)____\n * / ___/ __/ / / / / / ___/\n * (__ ) /_/ /_/ / / (__ )\n * /____/\\__/\\__, /_/_/____/\n * /____/\n *\n * light - weight css preprocessor @licence MIT\n */\n(function (factory) {/* eslint-disable */\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? (module['exports'] = factory(null)) :\n\t\ttypeof define === 'function' && define['amd'] ? define(factory(null)) :\n\t\t\t(window['stylis'] = factory(null))\n}(/** @param {*=} options */function factory (options) {/* eslint-disable */\n\n\t'use strict'\n\n\t/**\n\t * Notes\n\t *\n\t * The [''] pattern is used to support closure compiler\n\t * the jsdoc signatures are also used to the same effect\n\t *\n\t * ----\n\t *\n\t * int + int + int === n4 [faster]\n\t *\n\t * vs\n\t *\n\t * int === n1 && int === n2 && int === n3\n\t *\n\t * ----\n\t *\n\t * switch (int) { case ints...} [faster]\n\t *\n\t * vs\n\t *\n\t * if (int == 1 && int === 2 ...)\n\t *\n\t * ----\n\t *\n\t * The (first*n1 + second*n2 + third*n3) format used in the property parser\n\t * is a simple way to hash the sequence of characters\n\t * taking into account the index they occur in\n\t * since any number of 3 character sequences could produce duplicates.\n\t *\n\t * On the other hand sequences that are directly tied to the index of the character\n\t * resolve a far more accurate measure, it's also faster\n\t * to evaluate one condition in a switch statement\n\t * than three in an if statement regardless of the added math.\n\t *\n\t * This allows the vendor prefixer to be both small and fast.\n\t */\n\n\tvar nullptn = /^\\0+/g /* matches leading null characters */\n\tvar formatptn = /[\\0\\r\\f]/g /* matches new line, null and formfeed characters */\n\tvar colonptn = /: */g /* splits animation rules */\n\tvar cursorptn = /zoo|gra/ /* assert cursor varient */\n\tvar transformptn = /([,: ])(transform)/g /* vendor prefix transform, older webkit */\n\tvar animationptn = /,+\\s*(?![^(]*[)])/g /* splits multiple shorthand notation animations */\n\tvar propertiesptn = / +\\s*(?![^(]*[)])/g /* animation properties */\n\tvar elementptn = / *[\\0] */g /* selector elements */\n\tvar selectorptn = /,\\r+?/g /* splits selectors */\n\tvar andptn = /([\\t\\r\\n ])*\\f?&/g /* match & */\n\tvar escapeptn = /:global\\(((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g /* matches :global(.*) */\n\tvar invalidptn = /\\W+/g /* removes invalid characters from keyframes */\n\tvar keyframeptn = /@(k\\w+)\\s*(\\S*)\\s*/ /* matches @keyframes $1 */\n\tvar plcholdrptn = /::(place)/g /* match ::placeholder varient */\n\tvar readonlyptn = /:(read-only)/g /* match :read-only varient */\n\tvar beforeptn = /\\s+(?=[{\\];=:>])/g /* matches \\s before ] ; = : */\n\tvar afterptn = /([[}=:>])\\s+/g /* matches \\s after characters [ } = : */\n\tvar tailptn = /(\\{[^{]+?);(?=\\})/g /* matches tail semi-colons ;} */\n\tvar whiteptn = /\\s{2,}/g /* matches repeating whitespace */\n\tvar pseudoptn = /([^\\(])(:+) */g /* pseudo element */\n\tvar writingptn = /[svh]\\w+-[tblr]{2}/ /* match writing mode property values */\n\tvar gradientptn = /([\\w-]+t\\()/g /* match *gradient property */\n\tvar supportsptn = /\\(\\s*(.*)\\s*\\)/g /* match supports (groups) */\n\tvar propertyptn = /([\\s\\S]*?);/g /* match properties leading semicolon */\n\tvar selfptn = /-self|flex-/g /* match flex- and -self in align-self: flex-*; */\n\tvar pseudofmt = /[^]*?(:[rp][el]a[\\w-]+)[^]*/ /* extrats :readonly or :placholder from selector */\n\tvar trimptn = /[ \\t]+$/ /* match tail whitspace */\n\tvar dimensionptn = /stretch|:\\s*\\w+\\-(?:conte|avail)/ /* match max/min/fit-content, fill-available */\n\tvar imgsrcptn = /([^-])(image-set\\()/\n\n\t/* vendors */\n\tvar webkit = '-webkit-'\n\tvar moz = '-moz-'\n\tvar ms = '-ms-'\n\n\t/* character codes */\n\tvar SEMICOLON = 59 /* ; */\n\tvar CLOSEBRACES = 125 /* } */\n\tvar OPENBRACES = 123 /* { */\n\tvar OPENPARENTHESES = 40 /* ( */\n\tvar CLOSEPARENTHESES = 41 /* ) */\n\tvar OPENBRACKET = 91 /* [ */\n\tvar CLOSEBRACKET = 93 /* ] */\n\tvar NEWLINE = 10 /* \\n */\n\tvar CARRIAGE = 13 /* \\r */\n\tvar TAB = 9 /* \\t */\n\tvar AT = 64 /* @ */\n\tvar SPACE = 32 /* */\n\tvar AND = 38 /* & */\n\tvar DASH = 45 /* - */\n\tvar UNDERSCORE = 95 /* _ */\n\tvar STAR = 42 /* * */\n\tvar COMMA = 44 /* , */\n\tvar COLON = 58 /* : */\n\tvar SINGLEQUOTE = 39 /* ' */\n\tvar DOUBLEQUOTE = 34 /* \" */\n\tvar FOWARDSLASH = 47 /* / */\n\tvar GREATERTHAN = 62 /* > */\n\tvar PLUS = 43 /* + */\n\tvar TILDE = 126 /* ~ */\n\tvar NULL = 0 /* \\0 */\n\tvar FORMFEED = 12 /* \\f */\n\tvar VERTICALTAB = 11 /* \\v */\n\n\t/* special identifiers */\n\tvar KEYFRAME = 107 /* k */\n\tvar MEDIA = 109 /* m */\n\tvar SUPPORTS = 115 /* s */\n\tvar PLACEHOLDER = 112 /* p */\n\tvar READONLY = 111 /* o */\n\tvar IMPORT = 105 /* i */\n\tvar CHARSET = 99 /* c */\n\tvar DOCUMENT = 100 /* d */\n\tvar PAGE = 112 /* p */\n\n\tvar column = 1 /* current column */\n\tvar line = 1 /* current line numebr */\n\tvar pattern = 0 /* :pattern */\n\n\tvar cascade = 1 /* #id h1 h2 vs h1#id h2#id */\n\tvar prefix = 1 /* vendor prefix */\n\tvar escape = 1 /* escape :global() pattern */\n\tvar compress = 0 /* compress output */\n\tvar semicolon = 0 /* no/semicolon option */\n\tvar preserve = 0 /* preserve empty selectors */\n\n\t/* empty reference */\n\tvar array = []\n\n\t/* plugins */\n\tvar plugins = []\n\tvar plugged = 0\n\tvar should = null\n\n\t/* plugin context */\n\tvar POSTS = -2\n\tvar PREPS = -1\n\tvar UNKWN = 0\n\tvar PROPS = 1\n\tvar BLCKS = 2\n\tvar ATRUL = 3\n\n\t/* plugin newline context */\n\tvar unkwn = 0\n\n\t/* keyframe animation */\n\tvar keyed = 1\n\tvar key = ''\n\n\t/* selector namespace */\n\tvar nscopealt = ''\n\tvar nscope = ''\n\n\t/**\n\t * Compile\n\t *\n\t * @param {Array} parent\n\t * @param {Array} current\n\t * @param {string} body\n\t * @param {number} id\n\t * @param {number} depth\n\t * @return {string}\n\t */\n\tfunction compile (parent, current, body, id, depth) {\n\t\tvar bracket = 0 /* brackets [] */\n\t\tvar comment = 0 /* comments /* // or /* */\n\t\tvar parentheses = 0 /* functions () */\n\t\tvar quote = 0 /* quotes '', \"\" */\n\n\t\tvar first = 0 /* first character code */\n\t\tvar second = 0 /* second character code */\n\t\tvar code = 0 /* current character code */\n\t\tvar tail = 0 /* previous character code */\n\t\tvar trail = 0 /* character before previous code */\n\t\tvar peak = 0 /* previous non-whitespace code */\n\n\t\tvar counter = 0 /* count sequence termination */\n\t\tvar context = 0 /* track current context */\n\t\tvar atrule = 0 /* track @at-rule context */\n\t\tvar pseudo = 0 /* track pseudo token index */\n\t\tvar caret = 0 /* current character index */\n\t\tvar format = 0 /* control character formating context */\n\t\tvar insert = 0 /* auto semicolon insertion */\n\t\tvar invert = 0 /* inverted selector pattern */\n\t\tvar length = 0 /* generic length address */\n\t\tvar eof = body.length /* end of file(length) */\n\t\tvar eol = eof - 1 /* end of file(characters) */\n\n\t\tvar char = '' /* current character */\n\t\tvar chars = '' /* current buffer of characters */\n\t\tvar child = '' /* next buffer of characters */\n\t\tvar out = '' /* compiled body */\n\t\tvar children = '' /* compiled children */\n\t\tvar flat = '' /* compiled leafs */\n\t\tvar selector /* generic selector address */\n\t\tvar result /* generic address */\n\n\t\t// ...build body\n\t\twhile (caret < eof) {\n\t\t\tcode = body.charCodeAt(caret)\n\n\t\t\t// eof varient\n\t\t\tif (caret === eol) {\n\t\t\t\t// last character + noop context, add synthetic padding for noop context to terminate\n\t\t\t\tif (comment + quote + parentheses + bracket !== 0) {\n\t\t\t\t\tif (comment !== 0) {\n\t\t\t\t\t\tcode = comment === FOWARDSLASH ? NEWLINE : FOWARDSLASH\n\t\t\t\t\t}\n\n\t\t\t\t\tquote = parentheses = bracket = 0\n\t\t\t\t\teof++\n\t\t\t\t\teol++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (comment + quote + parentheses + bracket === 0) {\n\t\t\t\t// eof varient\n\t\t\t\tif (caret === eol) {\n\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\tchars = chars.replace(formatptn, '')\n\t\t\t\t\t}\n\n\t\t\t\t\tif (chars.trim().length > 0) {\n\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\t\tcase NEWLINE: {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tchars += body.charAt(caret)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcode = SEMICOLON\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// auto semicolon insertion\n\t\t\t\tif (insert === 1) {\n\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t// false flags\n\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\tcase SINGLEQUOTE:\n\t\t\t\t\t\tcase OPENPARENTHESES:\n\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// ignore\n\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// valid\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t\tlength = caret\n\t\t\t\t\t\t\tfirst = code\n\t\t\t\t\t\t\tcaret--\n\t\t\t\t\t\t\tcode = SEMICOLON\n\n\t\t\t\t\t\t\twhile (length < eof) {\n\t\t\t\t\t\t\t\tswitch (body.charCodeAt(length++)) {\n\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\t\t\t\tcase SEMICOLON: {\n\t\t\t\t\t\t\t\t\t\t++caret\n\t\t\t\t\t\t\t\t\t\tcode = first\n\t\t\t\t\t\t\t\t\t\tlength = eof\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\t\t\t\t\t\t++caret\n\t\t\t\t\t\t\t\t\t\t\tcode = first\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\t\t\t\t\tlength = eof\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// token varient\n\t\t\t\tswitch (code) {\n\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\tchars = chars.trim()\n\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\t\t\t\t\t\tcounter = 1\n\t\t\t\t\t\tlength = ++caret\n\n\t\t\t\t\t\twhile (caret < eof) {\n\t\t\t\t\t\t\tswitch (code = body.charCodeAt(caret)) {\n\t\t\t\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\t\t\t\tcounter++\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\t\t\t\t\tcounter--\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\t\t\tswitch (second = body.charCodeAt(caret + 1)) {\n\t\t\t\t\t\t\t\t\t\t// /*, //\n\t\t\t\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\t\t\t\t\tcaret = delimited(second, caret, eol, body)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// given \"[\" === 91 & \"]\" === 93 hence forth 91 + 1 + 1 === 93\n\t\t\t\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\t\t\t\tcode++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// given \"(\" === 40 & \")\" === 41 hence forth 40 + 1 === 41\n\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\tcode++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// quote tail delimiter is identical to the head delimiter hence noop,\n\t\t\t\t\t\t\t\t// fallthrough clauses have been shifted to the correct tail delimiter\n\t\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\t\tcase SINGLEQUOTE: {\n\t\t\t\t\t\t\t\t\twhile (caret++ < eol) {\n\t\t\t\t\t\t\t\t\t\tif (body.charCodeAt(caret) === code) {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (counter === 0) {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tcaret++\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchild = body.substring(length, caret)\n\n\t\t\t\t\t\tif (first === NULL) {\n\t\t\t\t\t\t\tfirst = (chars = chars.replace(nullptn, '').trim()).charCodeAt(0)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tswitch (first) {\n\t\t\t\t\t\t\t// @at-rule\n\t\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\t\t\t\tchars = chars.replace(formatptn, '')\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsecond = chars.charCodeAt(1)\n\n\t\t\t\t\t\t\t\tswitch (second) {\n\t\t\t\t\t\t\t\t\tcase DOCUMENT:\n\t\t\t\t\t\t\t\t\tcase MEDIA:\n\t\t\t\t\t\t\t\t\tcase SUPPORTS:\n\t\t\t\t\t\t\t\t\tcase DASH: {\n\t\t\t\t\t\t\t\t\t\tselector = current\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\tselector = array\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tchild = compile(current, selector, child, second, depth+1)\n\t\t\t\t\t\t\t\tlength = child.length\n\n\t\t\t\t\t\t\t\t// preserve empty @at-rule\n\t\t\t\t\t\t\t\tif (preserve > 0 && length === 0) {\n\t\t\t\t\t\t\t\t\tlength = chars.length\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// execute plugins, @at-rule context\n\t\t\t\t\t\t\t\tif (plugged > 0) {\n\t\t\t\t\t\t\t\t\tselector = select(array, chars, invert)\n\t\t\t\t\t\t\t\t\tresult = proxy(ATRUL, child, selector, current, line, column, length, second, depth, id)\n\t\t\t\t\t\t\t\t\tchars = selector.join('')\n\n\t\t\t\t\t\t\t\t\tif (result !== void 0) {\n\t\t\t\t\t\t\t\t\t\tif ((length = (child = result.trim()).length) === 0) {\n\t\t\t\t\t\t\t\t\t\t\tsecond = 0\n\t\t\t\t\t\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (length > 0) {\n\t\t\t\t\t\t\t\t\tswitch (second) {\n\t\t\t\t\t\t\t\t\t\tcase SUPPORTS: {\n\t\t\t\t\t\t\t\t\t\t\tchars = chars.replace(supportsptn, supports)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcase DOCUMENT:\n\t\t\t\t\t\t\t\t\t\tcase MEDIA:\n\t\t\t\t\t\t\t\t\t\tcase DASH: {\n\t\t\t\t\t\t\t\t\t\t\tchild = chars + '{' + child + '}'\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcase KEYFRAME: {\n\t\t\t\t\t\t\t\t\t\t\tchars = chars.replace(keyframeptn, '$1 $2' + (keyed > 0 ? key : ''))\n\t\t\t\t\t\t\t\t\t\t\tchild = chars + '{' + child + '}'\n\n\t\t\t\t\t\t\t\t\t\t\tif (prefix === 1 || (prefix === 2 && vendor('@'+child, 3))) {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = '@' + webkit + child + '@' + child\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = '@' + child\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tchild = chars + child\n\n\t\t\t\t\t\t\t\t\t\t\tif (id === PAGE) {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = (out += child, '')\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// selector\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tchild = compile(current, select(current, chars, invert), child, id, depth+1)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchildren += child\n\n\t\t\t\t\t\t// reset\n\t\t\t\t\t\tcontext = 0\n\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\tformat = 0\n\t\t\t\t\t\tinvert = 0\n\t\t\t\t\t\tatrule = 0\n\t\t\t\t\t\tchars = ''\n\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\tcode = body.charCodeAt(++caret)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\tcase SEMICOLON: {\n\t\t\t\t\t\tchars = (format > 0 ? chars.replace(formatptn, '') : chars).trim()\n\n\t\t\t\t\t\tif ((length = chars.length) > 1) {\n\t\t\t\t\t\t\t// monkey-patch missing colon\n\t\t\t\t\t\t\tif (pseudo === 0) {\n\t\t\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\n\t\t\t\t\t\t\t\t// first character is a letter or dash, buffer has a space character\n\t\t\t\t\t\t\t\tif ((first === DASH || first > 96 && first < 123)) {\n\t\t\t\t\t\t\t\t\tlength = (chars = chars.replace(' ', ':')).length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// execute plugins, property context\n\t\t\t\t\t\t\tif (plugged > 0) {\n\t\t\t\t\t\t\t\tif ((result = proxy(PROPS, chars, current, parent, line, column, out.length, id, depth, id)) !== void 0) {\n\t\t\t\t\t\t\t\t\tif ((length = (chars = result.trim()).length) === 0) {\n\t\t\t\t\t\t\t\t\t\tchars = '\\0\\0'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\t\t\t\t\t\t\tsecond = chars.charCodeAt(1)\n\n\t\t\t\t\t\t\tswitch (first) {\n\t\t\t\t\t\t\t\tcase NULL: {\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\t\t\tif (second === IMPORT || second === CHARSET) {\n\t\t\t\t\t\t\t\t\t\tflat += chars + body.charAt(caret)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\tif (chars.charCodeAt(length-1) === COLON) {\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tout += property(chars, first, second, chars.charCodeAt(2))\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// reset\n\t\t\t\t\t\tcontext = 0\n\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\tformat = 0\n\t\t\t\t\t\tinvert = 0\n\t\t\t\t\t\tchars = ''\n\t\t\t\t\t\tcode = body.charCodeAt(++caret)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// parse characters\n\t\t\tswitch (code) {\n\t\t\t\tcase CARRIAGE:\n\t\t\t\tcase NEWLINE: {\n\t\t\t\t\t// auto insert semicolon\n\t\t\t\t\tif (comment + quote + parentheses + bracket + semicolon === 0) {\n\t\t\t\t\t\t// valid non-whitespace characters that\n\t\t\t\t\t\t// may precede a newline\n\t\t\t\t\t\tswitch (peak) {\n\t\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\t\tcase SINGLEQUOTE:\n\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\tcase AT:\n\t\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\t\tcase FOWARDSLASH:\n\t\t\t\t\t\t\tcase DASH:\n\t\t\t\t\t\t\tcase COLON:\n\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t// current buffer has a colon\n\t\t\t\t\t\t\t\tif (pseudo > 0) {\n\t\t\t\t\t\t\t\t\tinsert = 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// terminate line comment\n\t\t\t\t\tif (comment === FOWARDSLASH) {\n\t\t\t\t\t\tcomment = 0\n\t\t\t\t\t} else if (cascade + context === 0 && id !== KEYFRAME && chars.length > 0) {\n\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\tchars += '\\0'\n\t\t\t\t\t}\n\n\t\t\t\t\t// execute plugins, newline context\n\t\t\t\t\tif (plugged * unkwn > 0) {\n\t\t\t\t\t\tproxy(UNKWN, chars, current, parent, line, column, out.length, id, depth, id)\n\t\t\t\t\t}\n\n\t\t\t\t\t// next line, reset column position\n\t\t\t\t\tcolumn = 1\n\t\t\t\t\tline++\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase SEMICOLON:\n\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\tif (comment + quote + parentheses + bracket === 0) {\n\t\t\t\t\t\tcolumn++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\t// increment column position\n\t\t\t\t\tcolumn++\n\n\t\t\t\t\t// current character\n\t\t\t\t\tchar = body.charAt(caret)\n\n\t\t\t\t\t// remove comments, escape functions, strings, attributes and prepare selectors\n\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\tif (quote + bracket + comment === 0) {\n\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\t\tcase COLON:\n\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\t\t\tchar = ''\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\tif (code !== SPACE) {\n\t\t\t\t\t\t\t\t\t\t\tchar = ' '\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// escape breaking control characters\n\t\t\t\t\t\tcase NULL: {\n\t\t\t\t\t\t\tchar = '\\\\0'\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase FORMFEED: {\n\t\t\t\t\t\t\tchar = '\\\\f'\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase VERTICALTAB: {\n\t\t\t\t\t\t\tchar = '\\\\v'\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// &\n\t\t\t\t\t\tcase AND: {\n\t\t\t\t\t\t\t// inverted selector pattern i.e html &\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0 && cascade > 0) {\n\t\t\t\t\t\t\t\tinvert = 1\n\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\tchar = '\\f' + char\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// ::paceholder, l\n\t\t\t\t\t\t// :read-ony, l\n\t\t\t\t\t\tcase 108: {\n\t\t\t\t\t\t\tif (quote + comment + bracket + pattern === 0 && pseudo > 0) {\n\t\t\t\t\t\t\t\tswitch (caret - pseudo) {\n\t\t\t\t\t\t\t\t\t// ::placeholder\n\t\t\t\t\t\t\t\t\tcase 2: {\n\t\t\t\t\t\t\t\t\t\tif (tail === PLACEHOLDER && body.charCodeAt(caret-3) === COLON) {\n\t\t\t\t\t\t\t\t\t\t\tpattern = tail\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// :read-only\n\t\t\t\t\t\t\t\t\tcase 8: {\n\t\t\t\t\t\t\t\t\t\tif (trail === READONLY) {\n\t\t\t\t\t\t\t\t\t\t\tpattern = trail\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\tpseudo = caret\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// selectors\n\t\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\t\tif (comment + parentheses + quote + bracket === 0) {\n\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\tchar += '\\r'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// quotes\n\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\tcase SINGLEQUOTE: {\n\t\t\t\t\t\t\tif (comment === 0) {\n\t\t\t\t\t\t\t\tquote = quote === code ? 0 : (quote === 0 ? code : quote)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// attributes\n\t\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\t\tif (quote + comment + parentheses === 0) {\n\t\t\t\t\t\t\t\tbracket++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase CLOSEBRACKET: {\n\t\t\t\t\t\t\tif (quote + comment + parentheses === 0) {\n\t\t\t\t\t\t\t\tbracket--\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// functions\n\t\t\t\t\t\tcase CLOSEPARENTHESES: {\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\tparentheses--\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\tswitch (tail*2 + trail*3) {\n\t\t\t\t\t\t\t\t\t\t// :matches\n\t\t\t\t\t\t\t\t\t\tcase 533: {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t// :global, :not, :nth-child etc...\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tcounter = 0\n\t\t\t\t\t\t\t\t\t\t\tcontext = 1\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tparentheses++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\tif (comment + parentheses + quote + bracket + pseudo + atrule === 0) {\n\t\t\t\t\t\t\t\tatrule = 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// block/line comments\n\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\tif (quote + bracket + parentheses > 0) {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tswitch (comment) {\n\t\t\t\t\t\t\t\t// initialize line/block comment context\n\t\t\t\t\t\t\t\tcase 0: {\n\t\t\t\t\t\t\t\t\tswitch (code*2 + body.charCodeAt(caret+1)*3) {\n\t\t\t\t\t\t\t\t\t\t// //\n\t\t\t\t\t\t\t\t\t\tcase 235: {\n\t\t\t\t\t\t\t\t\t\t\tcomment = FOWARDSLASH\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t// /*\n\t\t\t\t\t\t\t\t\t\tcase 220: {\n\t\t\t\t\t\t\t\t\t\t\tlength = caret\n\t\t\t\t\t\t\t\t\t\t\tcomment = STAR\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// end block comment context\n\t\t\t\t\t\t\t\tcase STAR: {\n\t\t\t\t\t\t\t\t\tif (code === FOWARDSLASH && tail === STAR && length + 2 !== caret) {\n\t\t\t\t\t\t\t\t\t\t// /* ... */, !\n\t\t\t\t\t\t\t\t\t\tif (body.charCodeAt(length+2) === 33) {\n\t\t\t\t\t\t\t\t\t\t\tout += body.substring(length, caret+1)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tchar = ''\n\t\t\t\t\t\t\t\t\t\tcomment = 0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ignore comment blocks\n\t\t\t\t\tif (comment === 0) {\n\t\t\t\t\t\t// aggressive isolation mode, divide each individual selector\n\t\t\t\t\t\t// including selectors in :not function but excluding selectors in :global function\n\t\t\t\t\t\tif (cascade + quote + bracket + atrule === 0 && id !== KEYFRAME && code !== SEMICOLON) {\n\t\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\t\t// outside of an isolated context i.e nth-child(<...>)\n\t\t\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\t\t\tcase CARRIAGE: {\n\t\t\t\t\t\t\t\t\t\t\t\tchar = char + '\\0'\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t\tchar = '\\0' + char + (code === COMMA ? '' : '\\0')\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// within an isolated context, sleep untill it's terminated\n\t\t\t\t\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\t\t\t// :globa(\n\t\t\t\t\t\t\t\t\t\t\t\tif (pseudo + 7 === caret && tail === 108) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tcontext = ++counter\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcase CLOSEPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\t\t\tif ((context = --counter) === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\tchar += '\\0'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\t\tcase NULL:\n\t\t\t\t\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\t\t\tcase FORMFEED:\n\t\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\t\tcase CARRIAGE: {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t// ignore in isolated contexts\n\t\t\t\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t\t\t\tchar += '\\0'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// concat buffer of characters\n\t\t\t\t\t\tchars += char\n\n\t\t\t\t\t\t// previous non-whitespace character code\n\t\t\t\t\t\tif (code !== SPACE && code !== TAB) {\n\t\t\t\t\t\t\tpeak = code\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// tail character codes\n\t\t\ttrail = tail\n\t\t\ttail = code\n\n\t\t\t// visit every character\n\t\t\tcaret++\n\t\t}\n\n\t\tlength = out.length\n\n\t\t// preserve empty selector\n \t\tif (preserve > 0) {\n \t\t\tif (length === 0 && children.length === 0 && (current[0].length === 0) === false) {\n \t\t\t\tif (id !== MEDIA || (current.length === 1 && (cascade > 0 ? nscopealt : nscope) === current[0])) {\n\t\t\t\t\tlength = current.join(',').length + 2\n \t\t\t\t}\n \t\t\t}\n\t\t}\n\n\t\tif (length > 0) {\n\t\t\t// cascade isolation mode?\n\t\t\tselector = cascade === 0 && id !== KEYFRAME ? isolate(current) : current\n\n\t\t\t// execute plugins, block context\n\t\t\tif (plugged > 0) {\n\t\t\t\tresult = proxy(BLCKS, out, selector, parent, line, column, length, id, depth, id)\n\n\t\t\t\tif (result !== void 0 && (out = result).length === 0) {\n\t\t\t\t\treturn flat + out + children\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tout = selector.join(',') + '{' + out + '}'\n\n\t\t\tif (prefix*pattern !== 0) {\n\t\t\t\tif (prefix === 2 && !vendor(out, 2))\n\t\t\t\t\tpattern = 0\n\n\t\t\t\tswitch (pattern) {\n\t\t\t\t\t// ::read-only\n\t\t\t\t\tcase READONLY: {\n\t\t\t\t\t\tout = out.replace(readonlyptn, ':'+moz+'$1')+out\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// ::placeholder\n\t\t\t\t\tcase PLACEHOLDER: {\n\t\t\t\t\t\tout = (\n\t\t\t\t\t\t\tout.replace(plcholdrptn, '::' + webkit + 'input-$1') +\n\t\t\t\t\t\t\tout.replace(plcholdrptn, '::' + moz + '$1') +\n\t\t\t\t\t\t\tout.replace(plcholdrptn, ':' + ms + 'input-$1') + out\n\t\t\t\t\t\t)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tpattern = 0\n\t\t\t}\n\t\t}\n\n\t\treturn flat + out + children\n\t}\n\n\t/**\n\t * Select\n\t *\n\t * @param {Array} parent\n\t * @param {string} current\n\t * @param {number} invert\n\t * @return {Array}\n\t */\n\tfunction select (parent, current, invert) {\n\t\tvar selectors = current.trim().split(selectorptn)\n\t\tvar out = selectors\n\n\t\tvar length = selectors.length\n\t\tvar l = parent.length\n\n\t\tswitch (l) {\n\t\t\t// 0-1 parent selectors\n\t\t\tcase 0:\n\t\t\tcase 1: {\n\t\t\t\tfor (var i = 0, selector = l === 0 ? '' : parent[0] + ' '; i < length; ++i) {\n\t\t\t\t\tout[i] = scope(selector, out[i], invert, l).trim()\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// >2 parent selectors, nested\n\t\t\tdefault: {\n\t\t\t\tfor (var i = 0, j = 0, out = []; i < length; ++i) {\n\t\t\t\t\tfor (var k = 0; k < l; ++k) {\n\t\t\t\t\t\tout[j++] = scope(parent[k] + ' ', selectors[i], invert, l).trim()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn out\n\t}\n\n\t/**\n\t * Scope\n\t *\n\t * @param {string} parent\n\t * @param {string} current\n\t * @param {number} invert\n\t * @param {number} level\n\t * @return {string}\n\t */\n\tfunction scope (parent, current, invert, level) {\n\t\tvar selector = current\n\t\tvar code = selector.charCodeAt(0)\n\n\t\t// trim leading whitespace\n\t\tif (code < 33) {\n\t\t\tcode = (selector = selector.trim()).charCodeAt(0)\n\t\t}\n\n\t\tswitch (code) {\n\t\t\t// &\n\t\t\tcase AND: {\n\t\t\t\tswitch (cascade + level) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\tcase 1: {\n\t\t\t\t\t\tif (parent.trim().length === 0) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\treturn selector.replace(andptn, '$1'+parent.trim())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// :\n\t\t\tcase COLON: {\n\t\t\t\tswitch (selector.charCodeAt(1)) {\n\t\t\t\t\t// g in :global\n\t\t\t\t\tcase 103: {\n\t\t\t\t\t\tif (escape > 0 && cascade > 0) {\n\t\t\t\t\t\t\treturn selector.replace(escapeptn, '$1').replace(andptn, '$1'+nscope)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\t// :hover\n\t\t\t\t\t\treturn parent.trim() + selector.replace(andptn, '$1'+parent.trim())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\t// html &\n\t\t\t\tif (invert*cascade > 0 && selector.indexOf('\\f') > 0) {\n\t\t\t\t\treturn selector.replace(andptn, (parent.charCodeAt(0) === COLON ? '' : '$1')+parent.trim())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn parent + selector\n\t}\n\n\t/**\n\t * Property\n\t *\n\t * @param {string} input\n\t * @param {number} first\n\t * @param {number} second\n\t * @param {number} third\n\t * @return {string}\n\t */\n\tfunction property (input, first, second, third) {\n\t\tvar index = 0\n\t\tvar out = input + ';'\n\t\tvar hash = (first*2) + (second*3) + (third*4)\n\t\tvar cache\n\n\t\t// animation: a, n, i characters\n\t\tif (hash === 944) {\n\t\t\treturn animation(out)\n\t\t} else if (prefix === 0 || (prefix === 2 && !vendor(out, 1))) {\n\t\t\treturn out\n\t\t}\n\n\t\t// vendor prefix\n\t\tswitch (hash) {\n\t\t\t// text-decoration/text-size-adjust/text-shadow/text-align/text-transform: t, e, x\n\t\t\tcase 1015: {\n\t\t\t\t// text-shadow/text-align/text-transform, a\n\t\t\t\treturn out.charCodeAt(10) === 97 ? webkit + out + out : out\n\t\t\t}\n\t\t\t// filter/fill f, i, l\n\t\t\tcase 951: {\n\t\t\t\t// filter, t\n\t\t\t\treturn out.charCodeAt(3) === 116 ? webkit + out + out : out\n\t\t\t}\n\t\t\t// color/column, c, o, l\n\t\t\tcase 963: {\n\t\t\t\t// column, n\n\t\t\t\treturn out.charCodeAt(5) === 110 ? webkit + out + out : out\n\t\t\t}\n\t\t\t// box-decoration-break, b, o, x\n\t\t\tcase 1009: {\n\t\t\t\tif (out.charCodeAt(4) !== 100) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\t// mask, m, a, s\n\t\t\t// clip-path, c, l, i\n\t\t\tcase 969:\n\t\t\tcase 942: {\n\t\t\t\treturn webkit + out + out\n\t\t\t}\n\t\t\t// appearance: a, p, p\n\t\t\tcase 978: {\n\t\t\t\treturn webkit + out + moz + out + out\n\t\t\t}\n\t\t\t// hyphens: h, y, p\n\t\t\t// user-select: u, s, e\n\t\t\tcase 1019:\n\t\t\tcase 983: {\n\t\t\t\treturn webkit + out + moz + out + ms + out + out\n\t\t\t}\n\t\t\t// background/backface-visibility, b, a, c\n\t\t\tcase 883: {\n\t\t\t\t// backface-visibility, -\n\t\t\t\tif (out.charCodeAt(8) === DASH) {\n\t\t\t\t\treturn webkit + out + out\n\t\t\t\t}\n\n\t\t\t\t// image-set(...)\n\t\t\t\tif (out.indexOf('image-set(', 11) > 0) {\n\t\t\t\t\treturn out.replace(imgsrcptn, '$1'+webkit+'$2') + out\n\t\t\t\t}\n\n\t\t\t\treturn out\n\t\t\t}\n\t\t\t// flex: f, l, e\n\t\t\tcase 932: {\n\t\t\t\tif (out.charCodeAt(4) === DASH) {\n\t\t\t\t\tswitch (out.charCodeAt(5)) {\n\t\t\t\t\t\t// flex-grow, g\n\t\t\t\t\t\tcase 103: {\n\t\t\t\t\t\t\treturn webkit + 'box-' + out.replace('-grow', '') + webkit + out + ms + out.replace('grow', 'positive') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// flex-shrink, s\n\t\t\t\t\t\tcase 115: {\n\t\t\t\t\t\t\treturn webkit + out + ms + out.replace('shrink', 'negative') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// flex-basis, b\n\t\t\t\t\t\tcase 98: {\n\t\t\t\t\t\t\treturn webkit + out + ms + out.replace('basis', 'preferred-size') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn webkit + out + ms + out + out\n\t\t\t}\n\t\t\t// order: o, r, d\n\t\t\tcase 964: {\n\t\t\t\treturn webkit + out + ms + 'flex' + '-' + out + out\n\t\t\t}\n\t\t\t// justify-items/justify-content, j, u, s\n\t\t\tcase 1023: {\n\t\t\t\t// justify-content, c\n\t\t\t\tif (out.charCodeAt(8) !== 99) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\tcache = out.substring(out.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify')\n\t\t\t\treturn webkit + 'box-pack' + cache + webkit + out + ms + 'flex-pack' + cache + out\n\t\t\t}\n\t\t\t// cursor, c, u, r\n\t\t\tcase 1005: {\n\t\t\t\treturn cursorptn.test(out) ? out.replace(colonptn, ':' + webkit) + out.replace(colonptn, ':' + moz) + out : out\n\t\t\t}\n\t\t\t// writing-mode, w, r, i\n\t\t\tcase 1000: {\n\t\t\t\tcache = out.substring(13).trim()\n\t\t\t\tindex = cache.indexOf('-') + 1\n\n\t\t\t\tswitch (cache.charCodeAt(0)+cache.charCodeAt(index)) {\n\t\t\t\t\t// vertical-lr\n\t\t\t\t\tcase 226: {\n\t\t\t\t\t\tcache = out.replace(writingptn, 'tb')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// vertical-rl\n\t\t\t\t\tcase 232: {\n\t\t\t\t\t\tcache = out.replace(writingptn, 'tb-rl')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// horizontal-tb\n\t\t\t\t\tcase 220: {\n\t\t\t\t\t\tcache = out.replace(writingptn, 'lr')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\treturn out\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn webkit + out + ms + cache + out\n\t\t\t}\n\t\t\t// position: sticky\n\t\t\tcase 1017: {\n\t\t\t\tif (out.indexOf('sticky', 9) === -1) {\n\t\t\t\t\treturn out\n\t\t\t\t}\n\t\t\t}\n\t\t\t// display(flex/inline-flex/inline-box): d, i, s\n\t\t\tcase 975: {\n\t\t\t\tindex = (out = input).length - 10\n\t\t\t\tcache = (out.charCodeAt(index) === 33 ? out.substring(0, index) : out).substring(input.indexOf(':', 7) + 1).trim()\n\n\t\t\t\tswitch (hash = cache.charCodeAt(0) + (cache.charCodeAt(7)|0)) {\n\t\t\t\t\t// inline-\n\t\t\t\t\tcase 203: {\n\t\t\t\t\t\t// inline-box\n\t\t\t\t\t\tif (cache.charCodeAt(8) < 111) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// inline-box/sticky\n\t\t\t\t\tcase 115: {\n\t\t\t\t\t\tout = out.replace(cache, webkit+cache)+';'+out\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// inline-flex\n\t\t\t\t\t// flex\n\t\t\t\t\tcase 207:\n\t\t\t\t\tcase 102: {\n\t\t\t\t\t\tout = (\n\t\t\t\t\t\t\tout.replace(cache, webkit+(hash > 102 ? 'inline-' : '')+'box')+';'+\n\t\t\t\t\t\t\tout.replace(cache, webkit+cache)+';'+\n\t\t\t\t\t\t\tout.replace(cache, ms+cache+'box')+';'+\n\t\t\t\t\t\t\tout\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn out + ';'\n\t\t\t}\n\t\t\t// align-items, align-center, align-self: a, l, i, -\n\t\t\tcase 938: {\n\t\t\t\tif (out.charCodeAt(5) === DASH) {\n\t\t\t\t\tswitch (out.charCodeAt(6)) {\n\t\t\t\t\t\t// align-items, i\n\t\t\t\t\t\tcase 105: {\n\t\t\t\t\t\t\tcache = out.replace('-items', '')\n\t\t\t\t\t\t\treturn webkit + out + webkit + 'box-' + cache + ms + 'flex-' + cache + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// align-self, s\n\t\t\t\t\t\tcase 115: {\n\t\t\t\t\t\t\treturn webkit + out + ms + 'flex-item-' + out.replace(selfptn, '') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// align-content\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\treturn webkit + out + ms + 'flex-line-pack' + out.replace('align-content', '').replace(selfptn, '') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// min/max\n\t\t\tcase 973:\n\t\t\tcase 989: {\n\t\t\t\t// min-/max- height/width/block-size/inline-size\n\t\t\t\tif (out.charCodeAt(3) !== DASH || out.charCodeAt(4) === 122) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\t// height/width: min-content / width: max-content\n\t\t\tcase 931:\n\t\t\tcase 953: {\n\t\t\t\tif (dimensionptn.test(input) === true) {\n\t\t\t\t\t// stretch\n\t\t\t\t\tif ((cache = input.substring(input.indexOf(':') + 1)).charCodeAt(0) === 115)\n\t\t\t\t\t\treturn property(input.replace('stretch', 'fill-available'), first, second, third).replace(':fill-available', ':stretch')\n\t\t\t\t\telse\n\t\t\t\t\t\treturn out.replace(cache, webkit + cache) + out.replace(cache, moz + cache.replace('fill-', '')) + out\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// transform, transition: t, r, a\n\t\t\tcase 962: {\n\t\t\t\tout = webkit + out + (out.charCodeAt(5) === 102 ? ms + out : '') + out\n\n\t\t\t\t// transitions\n\t\t\t\tif (second + third === 211 && out.charCodeAt(13) === 105 && out.indexOf('transform', 10) > 0) {\n\t\t\t\t\treturn out.substring(0, out.indexOf(';', 27) + 1).replace(transformptn, '$1' + webkit + '$2') + out\n\t\t\t\t}\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\treturn out\n\t}\n\n\t/**\n\t * Vendor\n\t *\n\t * @param {string} content\n\t * @param {number} context\n\t * @return {boolean}\n\t */\n\tfunction vendor (content, context) {\n\t\tvar index = content.indexOf(context === 1 ? ':' : '{')\n\t\tvar key = content.substring(0, context !== 3 ? index : 10)\n\t\tvar value = content.substring(index + 1, content.length - 1)\n\n\t\treturn should(context !== 2 ? key : key.replace(pseudofmt, '$1'), value, context)\n\t}\n\n\t/**\n\t * Supports\n\t *\n\t * @param {string} match\n\t * @param {string} group\n\t * @return {string}\n\t */\n\tfunction supports (match, group) {\n\t\tvar out = property(group, group.charCodeAt(0), group.charCodeAt(1), group.charCodeAt(2))\n\n\t\treturn out !== group+';' ? out.replace(propertyptn, ' or ($1)').substring(4) : '('+group+')'\n\t}\n\n\t/**\n\t * Animation\n\t *\n\t * @param {string} input\n\t * @return {string}\n\t */\n\tfunction animation (input) {\n\t\tvar length = input.length\n\t\tvar index = input.indexOf(':', 9) + 1\n\t\tvar declare = input.substring(0, index).trim()\n\t\tvar out = input.substring(index, length-1).trim()\n\n\t\tswitch (input.charCodeAt(9)*keyed) {\n\t\t\tcase 0: {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// animation-*, -\n\t\t\tcase DASH: {\n\t\t\t\t// animation-name, n\n\t\t\t\tif (input.charCodeAt(10) !== 110) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\t// animation/animation-name\n\t\t\tdefault: {\n\t\t\t\t// split in case of multiple animations\n\t\t\t\tvar list = out.split((out = '', animationptn))\n\n\t\t\t\tfor (var i = 0, index = 0, length = list.length; i < length; index = 0, ++i) {\n\t\t\t\t\tvar value = list[i]\n\t\t\t\t\tvar items = value.split(propertiesptn)\n\n\t\t\t\t\twhile (value = items[index]) {\n\t\t\t\t\t\tvar peak = value.charCodeAt(0)\n\n\t\t\t\t\t\tif (keyed === 1 && (\n\t\t\t\t\t\t\t// letters\n\t\t\t\t\t\t\t(peak > AT && peak < 90) || (peak > 96 && peak < 123) || peak === UNDERSCORE ||\n\t\t\t\t\t\t\t// dash but not in sequence i.e --\n\t\t\t\t\t\t\t(peak === DASH && value.charCodeAt(1) !== DASH)\n\t\t\t\t\t\t)) {\n\t\t\t\t\t\t\t// not a number/function\n\t\t\t\t\t\t\tswitch (isNaN(parseFloat(value)) + (value.indexOf('(') !== -1)) {\n\t\t\t\t\t\t\t\tcase 1: {\n\t\t\t\t\t\t\t\t\tswitch (value) {\n\t\t\t\t\t\t\t\t\t\t// not a valid reserved keyword\n\t\t\t\t\t\t\t\t\t\tcase 'infinite': case 'alternate': case 'backwards': case 'running':\n\t\t\t\t\t\t\t\t\t\tcase 'normal': case 'forwards': case 'both': case 'none': case 'linear':\n\t\t\t\t\t\t\t\t\t\tcase 'ease': case 'ease-in': case 'ease-out': case 'ease-in-out':\n\t\t\t\t\t\t\t\t\t\tcase 'paused': case 'reverse': case 'alternate-reverse': case 'inherit':\n\t\t\t\t\t\t\t\t\t\tcase 'initial': case 'unset': case 'step-start': case 'step-end': {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tvalue += key\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\titems[index++] = value\n\t\t\t\t\t}\n\n\t\t\t\t\tout += (i === 0 ? '' : ',') + items.join(' ')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tout = declare + out + ';'\n\n\t\tif (prefix === 1 || (prefix === 2 && vendor(out, 1)))\n\t\t\treturn webkit + out + out\n\n\t\treturn out\n\t}\n\n\t/**\n\t * Isolate\n\t *\n\t * @param {Array} current\n\t */\n\tfunction isolate (current) {\n\t\tfor (var i = 0, length = current.length, selector = Array(length), padding, element; i < length; ++i) {\n\t\t\t// split individual elements in a selector i.e h1 h2 === [h1, h2]\n\t\t\tvar elements = current[i].split(elementptn)\n\t\t\tvar out = ''\n\n\t\t\tfor (var j = 0, size = 0, tail = 0, code = 0, l = elements.length; j < l; ++j) {\n\t\t\t\t// empty element\n\t\t\t\tif ((size = (element = elements[j]).length) === 0 && l > 1) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\ttail = out.charCodeAt(out.length-1)\n\t\t\t\tcode = element.charCodeAt(0)\n\t\t\t\tpadding = ''\n\n\t\t\t\tif (j !== 0) {\n\t\t\t\t\t// determine if we need padding\n\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tpadding = ' '\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tswitch (code) {\n\t\t\t\t\tcase AND: {\n\t\t\t\t\t\telement = padding + nscopealt\n\t\t\t\t\t}\n\t\t\t\t\tcase TILDE:\n\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\tcase PLUS:\n\t\t\t\t\tcase SPACE:\n\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\telement = padding + element + nscopealt\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\tswitch (element.charCodeAt(1)*2 + element.charCodeAt(2)*3) {\n\t\t\t\t\t\t\t// :global\n\t\t\t\t\t\t\tcase 530: {\n\t\t\t\t\t\t\t\tif (escape > 0) {\n\t\t\t\t\t\t\t\t\telement = padding + element.substring(8, size - 1)\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// :hover, :nth-child(), ...\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tif (j < 1 || elements[j-1].length < 1) {\n\t\t\t\t\t\t\t\t\telement = padding + nscopealt + element\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\tpadding = ''\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tif (size > 1 && element.indexOf(':') > 0) {\n\t\t\t\t\t\t\telement = padding + element.replace(pseudoptn, '$1' + nscopealt + '$2')\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telement = padding + element + nscopealt\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tout += element\n\t\t\t}\n\n\t\t\tselector[i] = out.replace(formatptn, '').trim()\n\t\t}\n\n\t\treturn selector\n\t}\n\n\t/**\n\t * Proxy\n\t *\n\t * @param {number} context\n\t * @param {string} content\n\t * @param {Array} selectors\n\t * @param {Array} parents\n\t * @param {number} line\n\t * @param {number} column\n\t * @param {number} length\n\t * @param {number} id\n\t * @param {number} depth\n\t * @param {number} at\n\t * @return {(string|void|*)}\n\t */\n\tfunction proxy (context, content, selectors, parents, line, column, length, id, depth, at) {\n\t\tfor (var i = 0, out = content, next; i < plugged; ++i) {\n\t\t\tswitch (next = plugins[i].call(stylis, context, out, selectors, parents, line, column, length, id, depth, at)) {\n\t\t\t\tcase void 0:\n\t\t\t\tcase false:\n\t\t\t\tcase true:\n\t\t\t\tcase null: {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tout = next\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (out !== content) {\n\t\t return out\n\t\t}\n\t}\n\n\t/**\n\t * @param {number} code\n\t * @param {number} index\n\t * @param {number} length\n\t * @param {string} body\n\t * @return {number}\n\t */\n\tfunction delimited (code, index, length, body) {\n\t\tfor (var i = index + 1; i < length; ++i) {\n\t\t\tswitch (body.charCodeAt(i)) {\n\t\t\t\t// /*\n\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\tif (code === STAR) {\n\t\t\t\t\t\tif (body.charCodeAt(i - 1) === STAR && index + 2 !== i) {\n\t\t\t\t\t\t\treturn i + 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// //\n\t\t\t\tcase NEWLINE: {\n\t\t\t\t\tif (code === FOWARDSLASH) {\n\t\t\t\t\t\treturn i + 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn i\n\t}\n\n\t/**\n\t * @param {number} type\n\t * @param {number} index\n\t * @param {number} length\n\t * @param {number} find\n\t * @param {string} body\n\t * @return {number}\n\t */\n\tfunction match (type, index, length, body) {\n\t\tfor (var i = index + 1; i < length; ++i) {\n\t\t\tswitch (body.charCodeAt(i)) {\n\t\t\t\tcase type: {\n\t\t\t\t\treturn i\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn i\n\t}\n\n\t/**\n\t * Minify\n\t *\n\t * @param {(string|*)} output\n\t * @return {string}\n\t */\n\tfunction minify (output) {\n\t\treturn output\n\t\t\t.replace(formatptn, '')\n\t\t\t.replace(beforeptn, '')\n\t\t\t.replace(afterptn, '$1')\n\t\t\t.replace(tailptn, '$1')\n\t\t\t.replace(whiteptn, ' ')\n\t}\n\n\t/**\n\t * Use\n\t *\n\t * @param {(Array|function(...?)|number|void)?} plugin\n\t */\n\tfunction use (plugin) {\n\t\tswitch (plugin) {\n\t\t\tcase void 0:\n\t\t\tcase null: {\n\t\t\t\tplugged = plugins.length = 0\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tif (typeof plugin === 'function') {\n\t\t\t\t\tplugins[plugged++] = plugin\n\t\t\t\t}\telse if (typeof plugin === 'object') {\n\t\t\t\t\tfor (var i = 0, length = plugin.length; i < length; ++i) {\n\t\t\t\t\t\tuse(plugin[i])\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tunkwn = !!plugin|0\n\t\t\t\t}\n\t\t\t}\n \t\t}\n\n \t\treturn use\n\t}\n\n\t/**\n\t * Set\n\t *\n\t * @param {*} options\n\t */\n\tfunction set (options) {\n\t\tfor (var name in options) {\n\t\t\tvar value = options[name]\n\t\t\tswitch (name) {\n\t\t\t\tcase 'keyframe': keyed = value|0; break\n\t\t\t\tcase 'global': escape = value|0; break\n\t\t\t\tcase 'cascade': cascade = value|0; break\n\t\t\t\tcase 'compress': compress = value|0; break\n\t\t\t\tcase 'semicolon': semicolon = value|0; break\n\t\t\t\tcase 'preserve': preserve = value|0; break\n\t\t\t\tcase 'prefix':\n\t\t\t\t\tshould = null\n\n\t\t\t\t\tif (!value) {\n\t\t\t\t\t\tprefix = 0\n\t\t\t\t\t} else if (typeof value !== 'function') {\n\t\t\t\t\t\tprefix = 1\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprefix = 2\n\t\t\t\t\t\tshould = value\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn set\n\t}\n\n\t/**\n\t * Stylis\n\t *\n\t * @param {string} selector\n\t * @param {string} input\n\t * @return {*}\n\t */\n\tfunction stylis (selector, input) {\n\t\tif (this !== void 0 && this.constructor === stylis) {\n\t\t\treturn factory(selector)\n\t\t}\n\n\t\t// setup\n\t\tvar ns = selector\n\t\tvar code = ns.charCodeAt(0)\n\n\t\t// trim leading whitespace\n\t\tif (code < 33) {\n\t\t\tcode = (ns = ns.trim()).charCodeAt(0)\n\t\t}\n\n\t\t// keyframe/animation namespace\n\t\tif (keyed > 0) {\n\t\t\tkey = ns.replace(invalidptn, code === OPENBRACKET ? '' : '-')\n\t\t}\n\n\t\t// reset, used to assert if a plugin is moneky-patching the return value\n\t\tcode = 1\n\n\t\t// cascade/isolate\n\t\tif (cascade === 1) {\n\t\t\tnscope = ns\n\t\t} else {\n\t\t\tnscopealt = ns\n\t\t}\n\n\t\tvar selectors = [nscope]\n\t\tvar result\n\n\t\t// execute plugins, pre-process context\n\t\tif (plugged > 0) {\n\t\t\tresult = proxy(PREPS, input, selectors, selectors, line, column, 0, 0, 0, 0)\n\n\t\t\tif (result !== void 0 && typeof result === 'string') {\n\t\t\t\tinput = result\n\t\t\t}\n\t\t}\n\n\t\t// build\n\t\tvar output = compile(array, selectors, input, 0, 0)\n\n\t\t// execute plugins, post-process context\n\t\tif (plugged > 0) {\n\t\t\tresult = proxy(POSTS, output, selectors, selectors, line, column, output.length, 0, 0, 0)\n\n\t\t\t// bypass minification\n\t\t\tif (result !== void 0 && typeof(output = result) !== 'string') {\n\t\t\t\tcode = 0\n\t\t\t}\n\t\t}\n\n\t\t// reset\n\t\tkey = ''\n\t\tnscope = ''\n\t\tnscopealt = ''\n\t\tpattern = 0\n\t\tline = 1\n\t\tcolumn = 1\n\n\t\treturn compress*code === 0 ? output : minify(output)\n\t}\n\n\tstylis['use'] = use\n\tstylis['set'] = set\n\n\tif (options !== void 0) {\n\t\tset(options)\n\t}\n\n\treturn stylis\n}));\n","import _ from 'underscore';\nimport axios from 'axios';\nimport Environment from '../environment';\nimport stgConfig from \"../../../../config\";\nimport { hamletUser } from './hamlet-user';\n\nexport class HamletApi {\n baseDomain: string;\n\n constructor() {\n this.baseDomain = this.getBaseDomain();\n }\n\n getBaseDomain() {\n if (!Environment.isProduction()) {\n return `${window.location.hostname.indexOf('qa-wac') > -1 ? 'https://qa-wac.internal.atlassian.com' : stgConfig.stgWacInternalUrl}`;\n }\n\n return 'https://www.atlassian.com';\n }\n\n getHamletPath() {\n if (!Environment.isProduction()) {\n return `${this.baseDomain}/apis/stg/hamlet`;\n }\n\n return `${this.baseDomain}/hamlet`;\n }\n\n getCofsPath() {\n if (!Environment.isProduction()) {\n return `${this.baseDomain}/apis/stg/cofs`;\n }\n\n return `${this.baseDomain}/apis/prod/cofs`;\n }\n\n getCnasPath() {\n if (!Environment.isProduction()) {\n return `${this.baseDomain}/apis/stg/cnas`;\n }\n\n return `${this.baseDomain}/apis/prod/cnas`;\n }\n\n getBxpPath() {\n return `${this.baseDomain}/endpoint`;\n }\n\n hamletRequest(params, useCofsPath) {\n\n let basePath = useCofsPath ? this.getCofsPath() : this.getHamletPath();\n\n let request = {\n url: `${basePath}${params.url}`,\n method: params.method || 'GET',\n headers: params.headers || {},\n params: params.params\n };\n\n if (request.method === 'GET') {\n request.params = {cacheBuster: new Date().getTime(), ...params.params };\n }\n\n if (request.method === 'POST') {\n request.headers['Content-Type'] = 'application/json';\n request.data = params.data || '';\n }\n\n if (params.authenticated && hamletUser.getToken()) {\n request.headers['ATL-XSRF-Token'] = hamletUser.getToken();\n request.withCredentials = true;\n }\n\n return axios(request);\n }\n\n bxpRequest(params) {\n\n let request = {\n url: `${params.url.startsWith('http') ? '' : this.getBxpPath()}${params.url}`,\n method: params.method || 'GET',\n headers: params.headers || {},\n params: params.params\n };\n\n if (request.method === 'GET') {\n request.params = { cacheBuster: new Date().getTime(), ...params.params };\n }\n\n if (request.method === 'POST') {\n request.headers['Content-Type'] = 'application/json';\n request.data = params.data || '';\n }\n\n if (params.authenticated && hamletUser.getToken()) {\n request.withCredentials = true;\n }\n\n return axios(request);\n }\n\n get(data) {\n let options = { method: 'GET' };\n\n if (_.isString(data)) {\n options.url = data;\n } else if (_.isObject(data)) {\n Object.assign(options, data);\n }\n\n return this.hamletRequest(options);\n }\n\n post(data) {\n let options = { method: 'POST' };\n\n if (_.isString(data)) {\n options.url = data;\n } else {\n Object.assign(options, data);\n }\n\n return this.hamletRequest(options);\n }\n\n /**\n * Generic request wrapper\n */\n request(options) {\n return axios(options);\n }\n\n}\n\nexport let hamletApi = new HamletApi();\n","import Environment from '../environment';\nimport { hamletApi } from './hamlet-api';\n\nconst ProductKeys = {\n CONFLUENCE: \"confluence.ondemand\",\n JIRA_CORE: \"jira-core.ondemand\",\n JIRA_BUSINESS: \"jira-core.ondemand\",\n JIRA_SOFTWARE: \"jira-software.ondemand\",\n JIRA_SERVICE_DESK: \"jira-servicedesk.ondemand\",\n BITBUCKET: \"com.atlassian.bitbucket\",\n OPSGENIE: \"opsgenie\",\n STATUSPAGE: \"statuspage\",\n TRELLO: \"trello\",\n};\n\nexport const transformAvailableProductsIntoAvailableSites = (availableProductsSites) => {\n return availableProductsSites.map(site => {\n return {\n adminAccess: site.adminAccess,\n products: site.availableProducts.map(availableProduct => ProductKeys[availableProduct.productType]),\n cloudId: site.cloudId,\n displayName: site.displayName,\n avatarUrl: site.avatar,\n url: site.url,\n };\n });\n}\n\nexport class HamletUser {\n token: null;\n initialized: boolean;\n user: any;\n sites: never[];\n performanceBoostExperiment: boolean;\n extendedTrialAvailability: any;\n organisationDetails: any;\n\n constructor() {\n\n this.token = null;\n this.initialized = false;\n\n this.user = {\n contactDetails: {\n firstName: '',\n lastName: '',\n email: ''\n },\n organisationDetails: {\n address1: '',\n address2: '',\n city: '',\n state: '',\n postcode: '',\n isoCountryCode: '',\n organisationName: '',\n organisationType: null,\n payOnAccount: false,\n taxId: ''\n },\n lassoDetails: {\n firstName: '',\n lastName: '',\n username: '',\n displayName: ''\n },\n myDetails: {\n aaid: null,\n avatar: null,\n email: '',\n name: '',\n firstName: '',\n lastName: ''\n },\n isLoggedIn: false\n };\n\n this.sites = [];\n this.performanceBoostExperiment = false;\n\n }\n\n initUser(performanceBoostExperiment: boolean, enableAisAvailableProducts) {\n\n if (this.initialized) {\n return Promise.resolve(this.user);\n }\n this.initialized = true;\n\n return Promise.all([\n this.retrieveXsrfToken(),\n this.getStargateProfile(performanceBoostExperiment, false, enableAisAvailableProducts)\n ])\n .then(() => {\n return Promise.resolve(this.user);\n })\n .catch(() => {\n return Promise.resolve(this.user);\n });\n }\n\n retrieveXsrfToken() {\n\n const options = {\n url: `${hamletApi.getHamletPath()}/1.0/auth/xsrf/plain`,\n method: 'GET',\n withCredentials: true\n };\n\n return hamletApi.request(options)\n .then((response) => {\n\n if (response.data && response.data !== '') {\n\n this.setToken(response.data);\n this.user.isLoggedIn = true;\n\n return Promise.resolve();\n }\n\n this.user.isLoggedIn = false;\n return Promise.reject();\n })\n .catch(() => {\n\n this.user.isLoggedIn = false;\n return Promise.reject();\n });\n }\n\n getStargateProfile(performanceBoostExperiment: boolean, debugAllSites?: boolean) {\n\n if (performanceBoostExperiment) {\n this.performanceBoostExperiment = true;\n }\n\n return Promise.all([\n this.retrieveMe(),\n this.retrieveSitesData(debugAllSites)\n ])\n .then(([identityData, sitesData]) => {\n\n if (identityData && sitesData) {\n Object.assign(this.user.myDetails, identityData);\n this.setSites(sitesData);\n this.user.isLoggedIn = true;\n }\n\n return Promise.resolve();\n })\n .catch(() => {\n\n this.user.isLoggedIn = false;\n return Promise.resolve();\n });\n }\n\n retrieveCurrentUser(params) {\n params.url = '/1.0/public/contact/currentUser';\n\n return hamletApi.hamletRequest(params);\n }\n\n retrieveUserDetails(params) {\n params.url = '/1.0/public/auth/user/details'\n\n return hamletApi.hamletRequest(params);\n }\n\n retrieveMe() {\n const hostname = Environment.getAPIPrivateURL();\n const url = `${hostname}/me`;\n\n const options = {\n url: url,\n method: 'GET',\n withCredentials: true\n };\n\n return hamletApi.request(options)\n .then(result => {\n\n if (!result.data) {\n return Promise.reject();\n }\n\n // clean up any names that are emails here\n let name = result.data.name;\n if (name.indexOf('@') > -1) {\n name = name.split('@')[0];\n }\n\n const stargateData = {\n aaid: (result.data.account_id),\n avatar: (result.data.picture),\n email: (result.data.email),\n name: (name),\n firstName: (this.getFirstName(name)),\n lastName: (this.getLastName(name))\n };\n\n return Promise.resolve(stargateData);\n })\n .catch(() => {\n\n this.user.isLoggedIn = false;\n return Promise.reject();\n });\n }\n\n retrieveSitesData(debugAllSites?: boolean) {\n return this.retrieveAvailableProductsData(debugAllSites).then(availableProductsSites => {\n const sitesData = transformAvailableProductsIntoAvailableSites(availableProductsSites);\n return sitesData;\n }).catch(() => {\n this.user.isLoggedIn = false;\n });\n }\n\n retrieveAvailableProductsData(debugAllSites?: boolean) {\n let url = `${Environment.getAPIPrivateURL()}/available-products/api/available-products`;\n const options = {\n url: url,\n method: 'GET',\n withCredentials: true\n };\n\n return (hamletApi.request(options)).then(result => {\n\n if (!result.data) {\n return [];\n }\n const sitesResult = result.data.sites || [];\n const availableProductsSites = debugAllSites ? sitesResult : sitesResult.filter((site) => this.isValidSite(site));\n return Promise.resolve(availableProductsSites);\n }).catch(() => {\n this.user.isLoggedIn = false;\n return Promise.reject();\n });\n }\n\n checkExtendedTrialAvailability(migrationSourceUuid, productKey, cloudIds) {\n const options = {\n url: `${hamletApi.getHamletPath()}/1.0/public/account/${migrationSourceUuid}/extendedTrial/availability`,\n method: 'POST',\n data: {\n productKey,\n cloudIds,\n },\n withCredentials: true\n };\n\n return hamletApi.request(options)\n .then((response) => {\n if (response.data && response.data !== '') {\n this.setExtendedTrialAvailability(response.data);\n return Promise.resolve(response.data);\n }\n\n return Promise.resolve();\n })\n .catch(() => {\n return Promise.resolve();\n });\n }\n\n getExtendedTrialAvailability() {\n return this.extendedTrialAvailability;\n }\n\n setExtendedTrialAvailability(extendedTrialAvailability) {\n this.extendedTrialAvailability = extendedTrialAvailability;\n }\n\n setToken(token) {\n this.token = token;\n }\n\n getToken() {\n return this.token;\n }\n\n setUser(options) {\n Object.assign(this.user, options);\n }\n\n getUser() {\n return this.user;\n }\n\n setSites(sites) {\n this.sites = sites;\n }\n\n getSites() {\n return this.sites;\n }\n\n getSitesByProduct(availableProducts) {\n\n let groupSitesByProduct = {};\n\n this.sites.forEach((site) => {\n site.products.forEach((product) => {\n (groupSitesByProduct[product] = groupSitesByProduct[product] || []).push({\n cloudId: site.cloudId,\n displayName: site.displayName,\n url: site.url,\n avatarUrl: site.avatarUrl || '',\n isVertigo: site.isVertigo || false,\n })\n })\n });\n\n let result = [];\n for (var product in groupSitesByProduct) {\n\n if (product.length) {\n result.push({\n name: availableProducts[product].name,\n icon: availableProducts[product].login_logo_url || '',\n sites: groupSitesByProduct[product].map((site) => site.url)\n });\n }\n }\n return result;\n }\n\n getDisplayName() {\n return this.user.myDetails.name;\n }\n\n getFirstName(fullName = '') {\n return fullName.trim().split(' ')[0];\n }\n\n getLastName(fullName = '') {\n let lastName = '';\n let names = fullName.trim().split(' ');\n\n if (names.length > 1) {\n names.shift();\n lastName = names.join(' ');\n }\n\n return lastName;\n }\n\n getUserEmail() {\n return this.user.myDetails.email || '';\n }\n\n getUserAaid() {\n return this.user.myDetails.aaid || '';\n }\n\n getAvatar() {\n return this.user.myDetails.avatar;\n }\n\n isLoggedIn() {\n return this.user.isLoggedIn && this.user.myDetails.email.length > 0;\n }\n\n isExpert() {\n return this.organisationDetails.organisationType === 'EXPERT';\n }\n\n isReseller() {\n return this.organisationDetails.organisationType === 'RESELLER';\n }\n\n isPlatinumExpert() {\n return this.organisationDetails.organisationType === 'EXPERT' && this.organisationDetails.payOnAccount;\n }\n\n isValidSite(site) {\n\n const ignoreSiteNames = [\n 'servicedog',\n 'ecosystem',\n 'atlassiantraining',\n 'Atlassian Stride',\n 'volunteerhub',\n 'atlassiantraining',\n 'hello-staging',\n 'ecosystem',\n 'riskmanagement',\n 'hello-staging3',\n 'hello-staging6',\n 'hello-staging9',\n 'jdog',\n 'sre-ehlo',\n 'trello',\n 'Trello',\n 'bitbucket',\n 'Bitbucket'\n ];\n\n if (ignoreSiteNames.indexOf(site.displayName) > -1) {\n return false;\n }\n\n if (site.cloudId.startsWith('DUMMY')) {\n return false;\n }\n\n if (site.displayName.toUpperCase().match(\".*-SANDBOX-\\\\d{3}$\")) {\n return false\n }\n\n return true;\n }\n\n}\n\nexport let hamletUser = new HamletUser();\n","import { Cookie } from '@atlassiansox/asc-core';\n\nexport type XsrfToken = string;\n\nexport type AtlassianIdAuth = {\n readonly xsrfToken: XsrfToken;\n readonly cloudSessionTokenCookie: Cookie;\n};\n\nexport function isAtlassianIdAuth(value: unknown): value is AtlassianIdAuth {\n const auth = value as AtlassianIdAuth | undefined;\n return !!auth?.xsrfToken && !!auth.cloudSessionTokenCookie;\n}\n","import { generateAsapHeader } from '@atlassiansox/asc-asap';\nimport {\n Cookie,\n mapResponseToJson,\n serializeCookie\n} from '@atlassiansox/asc-core';\nimport { fetch, Headers } from 'cross-fetch';\n\nimport { isAtlassianIdAuth } from './auth';\nimport {\n ActivateProductsRequest,\n ActivateProductsResponse,\n CloudStatusResponse,\n CreateCloudRequest,\n CreateCloudResponse,\n GetCloudStatusOptions,\n GetNameAvailabilityOptions,\n GetNameAvailabilityResponseBody,\n ReserveNameOptions,\n ReserveNameResponseBody,\n RenameSiteOptions,\n RenameSiteResponseBody,\n PollProgressOptions,\n PollProgressResponseBody\n} from './cofs-client.types';\n\nexport const PUBLIC_PROD_BASE_URL = 'https://www.atlassian.com/apis/prod/cofs';\nexport const PROD_BASE_URL = 'https://cofs.prod.public.atl-paas.net';\nexport const STAGING_BASE_URL = 'https://cofs.staging.public.atl-paas.net';\n\nconst AUDIENCE = 'cofs';\n\nexport type CofsClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport interface ICofsClient {\n activateProducts(\n request: ActivateProductsRequest\n ): Promise;\n createCloud(\n originalRequest: CreateCloudRequest\n ): Promise;\n getNameAvailability(options: GetNameAvailabilityOptions): Promise;\n reserveName(options: ReserveNameOptions): Promise;\n renameSite({ cloudId, newSiteName }: RenameSiteOptions): Promise;\n pollProgress({\n progressUri\n }: PollProgressOptions): Promise;\n getCloudStatus(request: GetCloudStatusOptions): Promise;\n}\n\n/**\n * @see: https://cofs.prod.public.atl-paas.net/api.html\n */\nexport class CofsClient implements ICofsClient {\n private readonly baseUrl: string;\n\n public constructor({ baseUrl = STAGING_BASE_URL }: CofsClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async activateProducts(\n request: ActivateProductsRequest\n ): Promise {\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n });\n const { cloudId, body, auth, analyticsData, userContextToken } = request;\n\n let cookiesList: Cookie[] = [];\n if (analyticsData) {\n cookiesList = analyticsData;\n }\n\n if (isAtlassianIdAuth(auth)) {\n headers.append('ATL-XSRF-Token', auth.xsrfToken);\n cookiesList.push(auth.cloudSessionTokenCookie);\n } else {\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: AUDIENCE\n })\n );\n\n if (userContextToken) {\n headers.append('User-Context', userContextToken);\n }\n }\n\n if (cookiesList.length) {\n headers.append(\n 'Cookie',\n cookiesList.map((cookieItem) => serializeCookie(cookieItem)).join('; ')\n );\n }\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/${cloudId}/activateProducts`, {\n method: 'POST',\n headers,\n body: JSON.stringify(body)\n })\n );\n }\n\n public async createCloud(\n originalRequest: CreateCloudRequest\n ): Promise {\n const request = originalRequest;\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n });\n const {\n body,\n auth,\n userContextToken,\n source,\n clientIp,\n analyticsData\n } = request;\n\n if (source) {\n headers.append('X-ATL-Source', source);\n }\n\n let cookiesList: Cookie[] = [];\n if (analyticsData) {\n cookiesList = analyticsData;\n }\n\n if (isAtlassianIdAuth(auth)) {\n headers.append('ATL-XSRF-Token', auth.xsrfToken);\n cookiesList.push(auth.cloudSessionTokenCookie);\n } else {\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: AUDIENCE\n })\n );\n\n if (userContextToken) {\n headers.append('User-Context', userContextToken);\n }\n }\n\n if (cookiesList.length) {\n headers.append(\n 'Cookie',\n cookiesList.map((cookieItem) => serializeCookie(cookieItem)).join('; ')\n );\n }\n\n if (clientIp) {\n headers.append('X-Forwarded-For', clientIp);\n }\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud`, {\n method: 'POST',\n headers,\n body: JSON.stringify(body)\n })\n );\n }\n\n public async getNameAvailability({\n name\n }: GetNameAvailabilityOptions): Promise {\n const {\n success\n } = await mapResponseToJson(\n await fetch(`${this.baseUrl}/nameAvailability`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n name\n })\n })\n );\n\n return success;\n }\n\n public async reserveName({\n cloudName,\n auth\n }: ReserveNameOptions): Promise {\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n });\n\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: AUDIENCE\n })\n );\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloudname/availability/reserve`, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n cloudName\n }),\n credentials: 'include'\n })\n );\n }\n\n public async renameSite({\n cloudId,\n newSiteName\n }: RenameSiteOptions): Promise {\n const { progressUri } = await mapResponseToJson(\n await fetch(`${this.baseUrl}/${cloudId}/rename`, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include',\n body: JSON.stringify({ cloudName: newSiteName })\n })\n );\n return progressUri;\n }\n\n public async getCloudStatus({\n cloudId,\n requestId\n }: GetCloudStatusOptions): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/${cloudId}/status/${requestId}`, {\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n })\n );\n }\n\n public async pollProgress({\n progressUri\n }: PollProgressOptions): Promise {\n return mapResponseToJson(\n await fetch(progressUri, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n })\n );\n }\n}\n","import { Cookie } from '@atlassiansox/asc-core';\nimport { Asap } from './models';\n\n/**\n * Auth\n */\n\nexport type AsapAuth = {\n readonly asap: Asap;\n};\n\nexport function isAsapAuth(auth: AsapAuth) {\n return !!auth.asap.issuer && !!auth.asap.keyId && !!auth.asap.privateKey;\n}\n\nexport type CloudSessionTokenCookieType = {\n readonly cloudSessionTokenCookie?: Cookie;\n};\n\n/**\n * /me\n */\n\nexport type MeResponse = {\n readonly account_id: string;\n readonly name: string;\n readonly email: string;\n readonly picture: string;\n readonly locale: string;\n readonly zoneinfo: string;\n};\n\nexport type WorkspaceUserType = {\n readonly display_name: string;\n readonly account_id: string;\n readonly links: Record;\n readonly nickname: string;\n readonly type: string;\n readonly uuid: string;\n};\n\nexport type WorkspaceType = {\n readonly name: string;\n readonly type: string;\n readonly uuid: string;\n readonly links: Record;\n readonly slug: string;\n};\n\nexport const CHECK_ADD_PROJECT_ACTION = 'addProduct';\nexport const CHECK_ADD_PROJECT_ARI_PREFIX = 'ari:cloud:platform::site/';\n\nexport type CheckAddProductCapabilitiesRequestAsap = {\n readonly auth: AsapAuth;\n};\n\nexport type CheckAddProductCapabilitiesRequest = {\n readonly cloudId: string;\n readonly product: string;\n readonly licenceLimit: number;\n} & CheckAddProductCapabilitiesRequestAsap;\n\nexport type CheckAddProductCapabilitiesRequestItem = {\n readonly action: string;\n readonly owner: string;\n readonly product: string;\n readonly licenceLimit: number;\n};\n\nexport type CheckAddProductCapabilitiesResponse = {\n readonly capable: boolean;\n readonly resources: [\n {\n readonly resource: string;\n readonly availableLicences: number;\n readonly requiredLicences: number;\n }\n ];\n};\n\nexport type CheckAuthenticationMethodsAvailableRequest = {\n readonly email: string;\n readonly application: string;\n readonly redirect_to: string;\n readonly auth: AsapAuth;\n};\n\nexport type CheckAuthenticationMethodsAvailableResponse = {\n readonly account_id: string;\n readonly methods: [\n {\n readonly type: string;\n readonly redirect_to: string;\n }\n ];\n};\n\nexport type UserSignupResponse = {\n readonly id: string;\n};\n\nexport type PermissionsPermittedRequestAsap = {\n readonly auth: AsapAuth;\n};\n\nexport type PermissionsPermittedRequestParams = {\n readonly dontRequirePrincipalInSite: boolean;\n readonly permissionId: string;\n readonly principalId: string;\n readonly resourceId: string;\n};\n\nexport type PermissionsPermittedRequest = PermissionsPermittedRequestAsap &\n PermissionsPermittedRequestParams;\n\nexport type PermissionsPermittedResponse = string;\n\nexport type SignupRequestBody = {\n readonly email: string;\n readonly displayName?: string;\n readonly application: string;\n readonly redirectTo?: string;\n readonly suppressEmail?: boolean;\n readonly locale?: string;\n readonly gRecaptchaResponse?: string;\n};\n\nexport type SignupRequestOptions = {\n readonly auth: AsapAuth;\n};\n\nexport type GetUserUpstreamResponse = {\n name: string;\n // ...more fields exist, just not using them now\n};\n\nexport type GetUsersByCloudIdRequest = {\n readonly cloudId: string;\n readonly auth: AsapAuth;\n};\n\nexport type GetUsersByCloudIdResponse = {\n Resources: Array<{\n id: string;\n displayName: string;\n locale: string;\n emails: Array<{\n value: string;\n primary: true;\n }>;\n }>;\n};\n\nexport type GetUserByCloudAndAaIdRequest = {\n readonly cloudId: string;\n readonly atlassianAccountId: string;\n readonly auth: AsapAuth;\n};\n\nexport type GetUserByCloudAndAaIdResponseEmail = {\n readonly value: string;\n readonly type: string;\n readonly primary: boolean;\n};\n\nexport type GetUserByCloudAndAaIdResponseGroup = {\n readonly value: string;\n readonly display: string;\n};\n\nexport type GetUserByCloudAndAaIdResponse = {\n readonly id: string;\n readonly userName: string;\n readonly displayName: string;\n readonly title: string;\n readonly active: boolean;\n readonly timezone: string;\n readonly emails: GetUserByCloudAndAaIdResponseEmail[];\n readonly groups: GetUserByCloudAndAaIdResponseGroup[];\n};\n","import _ from 'lodash';\n\nimport {\n mapResponseToJson,\n mapResponseToText,\n UnsucessfulFetchError\n} from '@atlassiansox/asc-core';\nimport { generateAsapHeader } from '@atlassiansox/asc-asap';\nimport { fetch, Headers } from 'cross-fetch';\n\nimport {\n CHECK_ADD_PROJECT_ACTION,\n CHECK_ADD_PROJECT_ARI_PREFIX,\n CheckAddProductCapabilitiesRequest,\n CheckAddProductCapabilitiesRequestItem,\n CheckAddProductCapabilitiesResponse,\n CheckAuthenticationMethodsAvailableRequest,\n CheckAuthenticationMethodsAvailableResponse,\n isAsapAuth,\n PermissionsPermittedRequest,\n PermissionsPermittedRequestParams,\n PermissionsPermittedResponse,\n GetUserUpstreamResponse,\n SignupRequestBody,\n SignupRequestOptions,\n UserSignupResponse,\n GetUsersByCloudIdRequest,\n GetUsersByCloudIdResponse,\n GetUserByCloudAndAaIdRequest,\n GetUserByCloudAndAaIdResponse\n} from './identity-client.types';\n\nexport const DEFAULT_IDENTITY_BASE_URL = 'https://id.staging.atl-paas.net';\nconst ASAP_AUDIENCE = 'identity-platform';\n\nexport interface IIdentityClient {\n permissionsPermitted(\n request: PermissionsPermittedRequest\n ): Promise;\n checkAddProductCapabilities(\n request: CheckAddProductCapabilitiesRequest\n ): Promise;\n checkAuthenticationMethodsAvailable(\n options: CheckAuthenticationMethodsAvailableRequest\n ): Promise;\n getUserName(accountId: string): Promise;\n userSignup(\n requestBody: SignupRequestBody,\n options: SignupRequestOptions\n ): Promise;\n getUsersByCloudId(\n request: GetUsersByCloudIdRequest\n ): Promise;\n getUserByCloudAndAaId(\n request: GetUserByCloudAndAaIdRequest\n ): Promise;\n}\n\nexport type IdentityClientOptions = {\n readonly baseUrlStargate?: string;\n readonly baseUrlIdentity?: string;\n};\n\nexport class IdentityClient implements IIdentityClient {\n private readonly baseUrlIdentity: string;\n\n public constructor({\n baseUrlIdentity = DEFAULT_IDENTITY_BASE_URL\n }: IdentityClientOptions = {}) {\n this.baseUrlIdentity = baseUrlIdentity;\n }\n\n public async permissionsPermitted(\n request: PermissionsPermittedRequest\n ): Promise {\n const {\n auth,\n permissionId,\n principalId,\n resourceId,\n dontRequirePrincipalInSite\n } = request;\n\n // URL is defined globally for node versions >= 10.0.0 and globally in browsers,\n // so I'm assuming this should work cross platform\n const url = new URL(`${this.baseUrlIdentity}/v1/permissions/permitted`);\n const params: PermissionsPermittedRequestParams = {\n permissionId,\n principalId,\n resourceId,\n dontRequirePrincipalInSite\n };\n _.map(params, (val, key) => {\n url.searchParams.append(key, val.toString());\n });\n\n const headers = new Headers();\n\n if (isAsapAuth(auth)) {\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: ASAP_AUDIENCE\n })\n );\n }\n\n return mapResponseToText(\n await fetch(`${url}`, {\n method: 'GET',\n headers\n })\n );\n }\n\n public async checkAddProductCapabilities(\n request: CheckAddProductCapabilitiesRequest\n ): Promise {\n const { auth, cloudId, product, licenceLimit } = request;\n\n const url = new URL(`${this.baseUrlIdentity}/v2/licences/capabilities`);\n const requestData: CheckAddProductCapabilitiesRequestItem[] = [\n {\n action: CHECK_ADD_PROJECT_ACTION,\n owner: `${CHECK_ADD_PROJECT_ARI_PREFIX}${cloudId}`,\n product,\n licenceLimit\n }\n ];\n const headers = new Headers();\n\n headers.append('Content-Type', 'application/json');\n\n if (isAsapAuth(auth)) {\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: ASAP_AUDIENCE\n })\n );\n }\n\n const response = await fetch(`${url}`, {\n method: 'post',\n headers,\n body: JSON.stringify(requestData)\n });\n\n if (response.ok) {\n return response.json();\n } else {\n throw new UnsucessfulFetchError({\n response\n });\n }\n }\n\n public async checkAuthenticationMethodsAvailable(\n options: CheckAuthenticationMethodsAvailableRequest\n ): Promise {\n const { email, redirect_to, application, auth } = options;\n\n return mapResponseToJson(\n await fetch(\n `${this.baseUrlIdentity}/v2/authentication/methods-available`,\n {\n method: 'POST',\n headers: {\n 'Authorization': generateAsapHeader({\n ...auth.asap,\n audience: ASAP_AUDIENCE\n }),\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n email,\n redirect_to,\n application\n })\n }\n )\n );\n }\n\n public async getUserName(accountId: string): Promise {\n const result = await fetch(`${this.baseUrlIdentity}/v2/users/${accountId}`);\n\n if (result.status === 404) {\n return undefined;\n }\n\n if (!result.ok) {\n throw new Error(await result.text());\n }\n\n const data = (await result.json()) as GetUserUpstreamResponse;\n\n return data.name;\n }\n\n public async userSignup(\n requestBody: SignupRequestBody,\n options: SignupRequestOptions\n ): Promise {\n const { redirectTo, ...body } = requestBody;\n\n return mapResponseToJson(\n await fetch(`${this.baseUrlIdentity}/v2/users/signup`, {\n method: 'POST',\n headers: {\n 'Authorization': generateAsapHeader({\n ...options.auth.asap,\n audience: ASAP_AUDIENCE\n }),\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n ...body,\n redirect_to: redirectTo\n })\n })\n );\n }\n\n public async getUsersByCloudId(\n request: GetUsersByCloudIdRequest\n ): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrlIdentity}/v1/site/${request.cloudId}/Users`, {\n method: 'GET',\n headers: {\n 'Authorization': generateAsapHeader({\n ...request.auth.asap,\n audience: ASAP_AUDIENCE\n }),\n 'Content-Type': 'application/json'\n }\n })\n );\n }\n\n public async getUserByCloudAndAaId(\n request: GetUserByCloudAndAaIdRequest\n ): Promise {\n return mapResponseToJson(\n await fetch(\n `${this.baseUrlIdentity}/v1/site/${request.cloudId}/Users/${request.atlassianAccountId}`,\n {\n method: 'GET',\n headers: {\n 'Authorization': generateAsapHeader({\n ...request.auth.asap,\n audience: ASAP_AUDIENCE\n }),\n 'Content-Type': 'application/json'\n }\n }\n )\n );\n }\n}\n","import { mapResponseToJson, mapResponseToText } from '@atlassiansox/asc-core';\nimport { fetch } from 'cross-fetch';\n\nimport {\n CloudExpandFreeValidationRequest,\n CloudExpandFreeValidationResponse,\n CloudSignUpRequest,\n CloudSignUpResponse,\n FreeBreachRequest,\n FreeBreachResponse,\n ProductEditionByCloudIdRequest,\n ProductEditionByCloudIdResponse,\n MarketplaceAppInstallRequest,\n MarketplaceAppInstallResponse\n} from './bxp-express-client.types';\n\nexport type BXPExpressClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport interface IBXPExpressClient {\n getXsrfToken(): Promise;\n cloudSignupAnonymous(\n request: CloudSignUpRequest\n ): Promise;\n cloudExpandFreeValidation(\n request: CloudExpandFreeValidationRequest\n ): Promise;\n postBreachStatus(request: FreeBreachRequest): Promise;\n productEditionByCloudId(\n request: ProductEditionByCloudIdRequest\n ): Promise;\n marketplaceAppInstall(\n request: MarketplaceAppInstallRequest\n ): Promise;\n}\n\nexport class BXPExpressClient implements IBXPExpressClient {\n public static DEFAULT_BASE_URL =\n 'https://wac.stg.internal.atlassian.com/endpoint';\n\n private readonly baseUrl: string;\n\n public constructor({\n baseUrl = BXPExpressClient.DEFAULT_BASE_URL\n }: BXPExpressClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async getXsrfToken(): Promise {\n return mapResponseToText(\n await fetch(`${this.baseUrl}/auth/xsrf`, {\n method: 'GET',\n credentials: 'include',\n headers: {\n accept: 'text/plain'\n }\n })\n );\n }\n\n public async cloudSignupAnonymous({\n payload,\n cookies\n }: CloudSignUpRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/signupAnon`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'ATL-Cookies': JSON.stringify(cookies)\n },\n body: JSON.stringify(payload),\n credentials: 'include'\n })\n );\n }\n\n public async marketplaceAppInstall({\n siteName,\n appKey,\n xsrfToken\n }: MarketplaceAppInstallRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/marketplace/app/install`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'xsrf-token': xsrfToken\n },\n body: JSON.stringify({ siteName, appKey }),\n credentials: 'include'\n })\n );\n }\n\n public async cloudExpandFreeValidation({\n cloudId,\n productKeys\n }: CloudExpandFreeValidationRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/expand-free-validation`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n cloudId,\n productKeys\n })\n })\n );\n }\n\n public async postBreachStatus({\n payload\n }: FreeBreachRequest): Promise {\n const options = {\n headers: {\n 'content-type': 'application/json'\n },\n method: 'POST',\n body: JSON.stringify(payload)\n };\n\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/expand-free-validation`, options)\n );\n }\n\n public async productEditionByCloudId({\n cloudId,\n productKey\n }: ProductEditionByCloudIdRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/edition/${cloudId}/${productKey}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n })\n );\n }\n}\n","import { createHeaders, mapResponseToJson } from '@atlassiansox/asc-core';\nimport { fetch } from 'cross-fetch';\n\nimport {\n CloudSignUpRequest,\n CloudSignUpResponse\n} from './bxp-express-client.types';\n\nexport type BXPExpressStargateClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport class BXPExpressStargateClient {\n public static DEFAULT_BASE_URL =\n 'https://wac.stg.internal.atlassian.com/gateway/api';\n\n private readonly baseUrl: string;\n\n public constructor({\n baseUrl = BXPExpressStargateClient.DEFAULT_BASE_URL\n }: BXPExpressStargateClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async cloudSignup({\n payload,\n cookies\n }: CloudSignUpRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/cloud/signup`, {\n method: 'POST',\n headers: createHeaders({\n 'Content-Type': 'application/json',\n 'ATL-Cookies': JSON.stringify(cookies)\n }),\n body: JSON.stringify(payload),\n credentials: 'include'\n })\n );\n }\n}\n","import { generateAsapHeader } from '@atlassiansox/asc-asap';\nimport { mapResponseToJson } from '@atlassiansox/asc-core';\nimport { fetch, Headers } from 'cross-fetch';\nimport {\n CloudNameAvailabilityRequest,\n CloudNameAvailabilityResponse,\n GetNameAvailabilityRequest,\n GetNameAvailabilityResponse\n} from './cnas-client.types';\n\nexport const STAGING_BASE_URL =\n 'https://wac.stg.internal.atlassian.com/apis/stg/cnas';\nexport const PRODUCTION_BASE_URL = 'https://www.atlassian.com/apis/prod/cnas';\nexport const ASAP_AUDIENCE = 'cloud-name-availability';\n\nexport type CnasClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport interface ICnasClient {\n getNameAvailability: ({\n cloudName\n }: GetNameAvailabilityRequest) => Promise;\n cloudNameAvailabilityCheck: ({\n cloudName,\n auth\n }: CloudNameAvailabilityRequest) => Promise;\n}\n\nexport class CnasClient implements ICnasClient {\n private readonly baseUrl: string;\n\n public constructor({ baseUrl = STAGING_BASE_URL }: CnasClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async getNameAvailability({\n cloudName\n }: GetNameAvailabilityRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/shopping-cart/name-availability/queries`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n cloudName\n })\n })\n );\n }\n\n public async cloudNameAvailabilityCheck({\n cloudName,\n auth\n }: CloudNameAvailabilityRequest): Promise {\n const headers = new Headers();\n\n headers.append('Content-Type', 'application/json');\n headers.append(\n 'Authorization',\n generateAsapHeader({\n ...auth.asap,\n audience: ASAP_AUDIENCE\n })\n );\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/name-availability/check`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n cloudName\n })\n })\n );\n }\n}\n","import {\n createUrl,\n mapResponseToJson,\n mapResponseToText,\n serializeCookie\n} from '@atlassiansox/asc-core';\nimport { fetch } from 'cross-fetch';\n\nimport {\n GetCartRequest,\n GetEmailExistsRequest,\n GetEmailExistsResponse,\n GetProductPricingRequest,\n GetProductPricingResponse,\n GetXsrfTokenRequest,\n PatchUserRequest\n} from './hamlet-client.types';\nimport { Cart, Contact } from './models';\n\nexport const DEFAULT_BASE_URL = 'https://hamlet.atlassian.com';\n\nexport type HamletClientOptions = {\n readonly baseUrl?: string;\n};\n\nexport interface IHamletClient {\n getXsrfToken(request: GetXsrfTokenRequest): Promise;\n getEmailExists(\n request: GetEmailExistsRequest\n ): Promise;\n getCart(request: GetCartRequest): Promise;\n patchUser(request: PatchUserRequest): Promise;\n getProductPricing(\n request: GetProductPricingRequest\n ): Promise;\n}\n\n/**\n * @see: https://hello.atlassian.net/wiki/spaces/HAMS/pages/127995591/Hamlet+API\n */\nexport class HamletClient implements IHamletClient {\n private readonly baseUrl: string;\n\n public constructor({ baseUrl = DEFAULT_BASE_URL }: HamletClientOptions = {}) {\n this.baseUrl = baseUrl;\n }\n\n public async getXsrfToken({\n cloudSessionTokenCookie\n }: GetXsrfTokenRequest): Promise {\n return mapResponseToText(\n await fetch(`${this.baseUrl}/1.0/auth/xsrf/plain`, {\n headers: {\n cookie: serializeCookie(cloudSessionTokenCookie)\n }\n })\n );\n }\n\n public async getEmailExists({\n email\n }: GetEmailExistsRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/1.0/public/aid/exists/${email}`, {\n method: 'POST'\n })\n );\n }\n\n public async getCart({ cartId }: GetCartRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/1.0/public/order/cart/${cartId}`)\n );\n }\n\n public async patchUser({\n cloudSessionTokenCookie,\n firstName,\n lastName\n }: PatchUserRequest): Promise {\n return mapResponseToJson(\n await fetch(`${this.baseUrl}/1.0/public/contact/currentUser/patch`, {\n method: 'PATCH',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n 'ATL-XSRF-Token': await this.getXsrfToken({\n cloudSessionTokenCookie\n }),\n 'Cookie': serializeCookie(cloudSessionTokenCookie)\n },\n body: JSON.stringify([\n {\n op: 'replace',\n path: '/contactDetails/firstName',\n value: firstName\n },\n {\n op: 'replace',\n path: '/contactDetails/lastName',\n value: lastName\n }\n ])\n })\n );\n }\n\n public async getProductPricing({\n productKeys,\n licenseType = 'evaluation',\n requestingApplication = 'WAC',\n monthsValid = '1'\n }: GetProductPricingRequest): Promise {\n return mapResponseToJson(\n await fetch(\n createUrl({\n baseUrl: this.baseUrl,\n path: `/1.0/public/pricing/query`,\n query: {\n licenseType,\n productKey: productKeys,\n requestingApplication,\n monthsValid,\n cacheBuster: Date.now()\n }\n })\n )\n );\n }\n}\n","import React from \"react\";\n\nexport const GlobalNavProfile = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"GlobalNavProfile\" */\n \"./cms-components/nav/GlobalNavProfile\"\n )\n);\nexport const ProductComparison = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"ProductComparison\" */\n \"./cms-components/calculators/ProductComparison\"\n )\n);\nexport const Careers = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"Careers\" */\n \"./cms-components/careers/Careers\"\n )\n);\nexport const BannerComponentContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"BannerComponentContainer\" */\n \"./cms-components/banner/BannerComponentContainer\"\n )\n);\nexport const CheckEmailComponentContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"CheckEmailComponentContainer\" */\n \"./cms-components/check-email/CheckEmailComponentContainer\"\n )\n);\nexport const DemoComponentContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"DemoComponentContainer\" */\n \"./cms-components/demo/DemoComponentContainer\"\n )\n);\n\nexport const MegaCalculatorContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"MegaCalculatorContainer\" */\n \"./cms-components/pricing-calculator/MegaCalculatorContainer\"\n )\n);\nexport const PriceFinderContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"PriceFinderContainer\" */\n \"./cms-components/pricing-calculator/PriceFinderContainer\"\n )\n);\nexport const PricingExampleContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"PricingExampleContainer\" */\n \"./cms-components/pricing-calculator/PricingExampleContainer\"\n )\n);\nexport const PricingCalculatorContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"PricingCalculatorContainer\" */\n \"./cms-components/pricing-calculator/PricingCalculatorContainer\"\n )\n);\nexport const PricingPageContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"PricingPageContainer\" */\n \"./cms-components/pricing-calculator/PricingPageContainer\"\n )\n);\nexport const PricingCalculatorRichText = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"PricingCalculatorRichText\" */\n \"./cms-components/pricing-calculator/PricingCalculatorRichText\"\n )\n);\nexport const WacSiteRenameFormContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"WacSiteRenameFormContainer\" */\n \"./cms-components/site-rename/WacSiteRenameFormContainer\"\n )\n);\nexport const ProductTemplateSiteSelectorContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"ProductTemplateSiteSelectorContainer\" */\n \"./cms-components/product/ProductTemplateSiteSelectorContainer\"\n )\n);\nexport const ProductTemplateSiteSelectorViewContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"ProductTemplateSiteSelectorViewContainer\" */\n \"./cms-components/product/ProductTemplateSiteSelectorViewContainer\"\n )\n);\nexport const QrcodeComponentContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"QrcodeComponentContainer\" */\n \"./cms-components/qrcode/QrcodeComponentContainer\"\n )\n);\nexport const ConfigurableQuizContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"ConfigurableQuizContainer\" */\n \"./cms-components/configurable-quiz/ConfigurableQuizContainer\"\n )\n);\nexport const MiniQuizContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"MiniQuiz\" */\n \"./cms-components/mini-quiz/MiniQuizContainer\"\n )\n);\nexport const WacSignUpLayoutContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"WacSignUpLayoutContainer\" */\n \"./sign-up-layout/WacSignUpLayoutContainer\"\n )\n);\nexport const GlobalNavDropdown = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"GlobalNavDropdown\" */\n \"./cms-components/nav/GlobalNavDropdown\"\n )\n);\nexport const TemplateCardGenerator = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"TemplateCardGenerator\" */\n \"./cms-components/showroom/TemplateCardGenerator\"\n )\n);\nexport const WacFreeBundlesContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"WacFreeBundlesContainer\" */\n \"./cms-components/wac-free-bundles/WacFreeBundlesContainer\"\n )\n);\nexport const EctlListComponentContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"EctlListComponentContainer\" */\n \"./cms-components/ectl-list/EctlListComponentContainer\"\n )\n);\nexport const SiteSelectionListComponentContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"SiteSelectionListComponentContainer\" */\n \"./cms-components/site-selection-list/SiteSelectionListComponentContainer\"\n )\n);\nexport const WacCheckEmailPageContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"WacCheckEmailPageContainer\" */\n \"./cms-components/wac-check-email-page/WacCheckEmailPageContainer\"\n )\n);\nexport const WacConfirmationPageContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"WacConfirmationPageContainer\" */\n \"./cms-components/wac-confirmation-page/WacConfirmationPageContainer\"\n )\n);\nexport const WacAppProvisionContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"WacAppProvisionContainer\" */\n \"./cms-components/wac-app-provision/WacAppProvisionContainer\"\n )\n);\nexport const WacCartPrototypeContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"WacCartPrototypeContainer\" */\n \"./cms-components/wac-cart-prototype/WacCartPrototypeContainer\"\n )\n);\nexport const EditionFeatureComparisonTableContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"EditionFeatureComparisonTableContainer\" */\n \"./cms-components/edition-feature-comparison-table/EditionFeatureComparisonTableContainer\"\n )\n);\nexport const FeaturesHighlightContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"FeaturesHighlightContainer\" */\n \"./cms-components/features-highlight-wpl/FeaturesHighlightContainer\"\n )\n);\nexport const ProductHubInfoContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"ProductHubInfoContainer\" */\n \"./cms-components/product-hub-info/ProductHubInfoContainer\"\n )\n);\nexport const DirectBuyConfirmationPageContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"DirectBuyConfirmationPageContainer\" */\n \"./cms-components/direct-buy-confirmation-page/DirectBuyConfirmationPageContainer\"\n )\n);\nexport const DirectBuySiteSetupContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"DirectBuySiteSetupContainer\" */\n \"./cms-components/direct-buy-site-setup/DirectBuySiteSetupContainer\"\n )\n);\nexport const JswInteractiveRoadmapContainer = React.lazy(\n () =>\n import(\n /* webpackChunkName: \"JswInteractiveRoadmapContainer\" */\n \"./cms-components/jsw-interactive-roadmap/JswInteractiveRoadmapContainer\"\n )\n);\n\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport {} from \"@atlassian/switcher\";\nimport Environment from \"../../common/environment\";\n\nconst DiscoverSection = (props: { variation: string }) => {\n console.log(\"PROPS\", props.variation);\n\n const variations: any = {\n \"expcen-1501_variation_1\": {\n name: \"Atlas\",\n description: \"A teamwork directory to stay in sync, async\",\n url: `${Environment.getWacIntegrationUrl()}/try/cloud/signup-atlas`\n },\n \"expcen-1501_variation_2\": {\n name: \"Jira Work Management\",\n description: \"The new home for business teams in Jira\",\n url: `${Environment.getWacIntegrationUrl()}/try/cloud/signup-jwm`\n },\n };\n\n const v = variations[props.variation];\n\n if (v) {\n return (\n <>\n \n \n
Discover
\n
\n \n \n \n \n \n \n \n \n \n \n {v.name} RECOMMENDED\n \n\n {v.description}\n \n \n \n \n
\n \n );\n } else {\n return <>;\n }\n};\n\nconst Container = styled.div`\n padding: 8px 0;\n`;\n\nconst Content = styled.div`\n -webkit-animation: ljGnjM 500ms ease forwards;\n animation: ljGnjM 500ms ease forwards;\n opacity: 0;\n`;\n\nconst Header = styled.h1`\n font-size: 0.7857142857142857em;\n font-style: inherit;\n line-height: 1.4545454545454546;\n color: var(--ds-text-subtlest, var(--ds-text-subtlest, #6b778c));\n font-weight: 700;\n margin-top: 16px;\n text-transform: uppercase;\n margin-left: 8px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-bottom: 4px;\n`;\n\nconst Item = styled.div`\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-direction: row;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-align-items: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -webkit-justify-content: space-between;\n -ms-flex-pack: justify;\n justify-content: space-between;\n\n &:hover {\n background-color: #e8e9ef;\n }\n`;\n\nconst Link = styled.a`\n -webkit-align-items: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n border-radius: 3px;\n box-sizing: border-box;\n cursor: pointer;\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex: none;\n -ms-flex: none;\n flex: none;\n background-color: transparent;\n color: var(--ds-text, #091e42);\n fill: transparent;\n -webkit-text-decoration: none;\n text-decoration: none;\n padding: 7px 8px 7px 8px;\n width: 100%;\n\n &:hover {\n color: var(--ds-text, #091e42);\n text-decoration: none;\n }\n`;\n\nconst RecommendedChip = styled.div`\n margin-left: 4px;\n border-radius: 4px;\n padding: 1px 5px;\n background-color: #dde7fe;\n color: #354ba4;\n font-size: 10px;\n font-weight: 500;\n -webkit-letter-spacing: 0.5px;\n -moz-letter-spacing: 0.5px;\n -ms-letter-spacing: 0.5px;\n letter-spacing: 0.3px;\n`;\n\nconst Before = styled.div`\n margin-right: 8px;\n -webkit-align-items: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-shrink: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n padding-bottom: 1px;\n`;\n\nconst BeforeWrapper = styled.div`\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-align-items: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-radius: 8px;\n box-shadow: var(\n --ds-shadow-raised,\n 0 1px 1px rgba(9, 30, 66, 0.25),\n 0 0 1px 1px rgba(9, 30, 66, 0.13)\n );\n background-color: #0052cc;\n overflow: hidden;\n`;\n\nconst BeforeImage = styled.img`\n width: 24px;\n height: 24px;\n`;\n\nconst MiddleWrapper = styled.span`\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-direction: column;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-flex: 1;\n -webkit-flex-grow: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n margin: 0;\n overflow: hidden;\n`;\n\nconst MiddleContent = styled.span`\n display: flex;\n flex-flow: row nowrap;\n justify-content: flex-start;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 1.1428571428571428;\n padding-bottom: 1px;\n`;\n\nconst MiddleDescription = styled.span`\n -webkit-flex: 1 1 auto;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: #6b778c;\n font-size: 11px;\n line-height: 1.2727272727272727;\n padding-bottom: 1px;\n`;\n\nconst After = styled.div`\n -webkit-align-items: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-shrink: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n padding-bottom: 1px;\n`;\n\nexport default DiscoverSection;\n","import AtlassianSwitcher from \"@atlassian/switcher\";\nimport {\n createAvailableProductsProvider,\n createJoinableSitesProvider,\n createProductConfigurationProvider,\n} from \"@atlassian/switcher/create-custom-provider\";\n\nimport styled from \"styled-components\";\nimport React, { useState, useEffect } from \"react\";\n// @ts-ignore\nimport { IntlProvider } from \"react-intl\";\nimport Environment from \"../../common/environment\";\nimport AppSwitcherIcon from \"@atlaskit/icon/glyph/app-switcher\";\n\nimport { hamletUser } from \"../../common/hamlet/hamlet-user\";\nimport { JoinableSite } from \"@atlassian/switcher/dist/types/types\";\nimport storage from \"../../utils/storage\";\nimport DiscoverSection from \"./DiscoverSection\";\nimport { useFeatureFlags } from \"@atlassiansox/bxp-react-feature-flags\";\nimport tracking from \"../../utils/tracking\";\n\ntype JoinableSitesResponseJson = {\n joinableSites?: Array;\n};\n\nconst AVATAR_IMG_URL =\n \"http://wac-cdn.atlassian.com/dam/wac/icons/ADG3-Icons-36px-N700/object-avatar-man.svg\";\n\nconst WacAppSwitcher = (props: { allowWacJoinSitesProvider: boolean }) => {\n const [isAppSwitcherMenu, setAppSwitcherMenu] = useState(false);\n const [isLoggedIn, setIsLoggedIn] = useState(false);\n const [joinableSites, setJoinableSites] = useState(null);\n const [isFirstSwitcherOpen, setIsFirstSwitcherOpen] = useState(true);\n // only load on 1st hover\n const [hasHovered, setHasHovered] = useState(false);\n\n const {\n \"expcen-1501_variation_1\": expcen1501Variation1,\n \"expcen-1501_variation_2\": expcen1501Variation2\n } = useFeatureFlags();\n const [switcherAtlas] = useState(expcen1501Variation1);\n const [switcherJwm] = useState(expcen1501Variation2);\n\n // this would allow the app switcher to work on author and local\n const customAvailableProductsDataProvider = createAvailableProductsProvider(\n `${Environment.getAPIPrivateURL()}/available-products/api/available-products`\n );\n\n const productConfigurationProvider = createProductConfigurationProvider({\n url: `${Environment.getAPIPrivateURL()}/available-products/api/product-configuration`,\n useRemoteProductConfiguration: true,\n });\n\n async function getUserData() {\n const userInfo = await getUserInfo();\n setIsLoggedIn(userInfo.isLoggedIn() || false);\n }\n\n async function getJoinableSites() {\n const sites: JoinableSitesResponseJson = await fetch(\n `${Environment.getAPIPrivateURL()}/joinable-sites`,\n {\n method: \"POST\",\n credentials: \"include\",\n body: JSON.stringify({\n products: [\n \"confluence.ondemand\",\n \"jira-software.ondemand\",\n \"jira-servicedesk.ondemand\",\n \"jira-core.ondemand\",\n ],\n }),\n headers: {\n \"Content-type\": \"application/json; charset=UTF-8\",\n },\n }\n ).then((res) => res.json());\n\n const reMappedSitesData = (sites.joinableSites || []).map((site) => {\n const userData: any = {};\n Array.prototype.forEach.call(site.products, (val: string | number) => {\n userData[val] = [{ avatarUrl: AVATAR_IMG_URL, displayName: \"\" }];\n });\n return {\n cloudId: site.cloudId ? site.cloudId : \"\",\n displayName: site.displayName ? site.displayName : \"\",\n url: site.url ? site.url : \"\",\n avatarUrl: site.avatarUrl ? site.avatarUrl : undefined,\n relevance: site.relevance ? site.relevance : undefined,\n users: userData,\n };\n });\n\n const joinableSitesPromiseMaker = () => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve({ sites: reMappedSitesData });\n });\n });\n };\n\n // TODO: Fix types\n setJoinableSites(createJoinableSitesProvider(joinableSitesPromiseMaker as any) as any);\n }\n\n document.addEventListener(\"click\", (event: any) => {\n const path = event.path || (event.composedPath && event.composedPath());\n const insideAppswitcher = Array.prototype.includes.call(\n Array.prototype.map.call(path, (el: { id: string }) => {\n return el.id === \"global-nav--wac__app-switcher\";\n }),\n true\n );\n\n if (!insideAppswitcher) {\n setAppSwitcherMenu(false);\n }\n });\n\n useEffect(() => {\n if (storage.getCookie(\"login_user_detected\") === \"true\") {\n if (props.allowWacJoinSitesProvider) {\n getJoinableSites();\n }\n getUserData();\n }\n }, []);\n\n useEffect(() => {\n if (isAppSwitcherMenu) {\n if (typeof ace !== \"undefined\") {\n ace.analytics.Tracking.pageView('Wac App Switcher', 'WacAppSwitcherMenuRendered');\n }\n }\n }, [isAppSwitcherMenu]);\n\n const switcher = (\n \n {\n setAppSwitcherMenu(false);\n\n // joinable sites might now change if user follows through joining this site\n // so dump joinable sites data to indicate it must be reloaded\n setJoinableSites(null);\n }}\n enableRemoteConfiguration\n enableRemoteAdminLinks\n />\n {( switcherAtlas || switcherJwm ) && }\n \n );\n\n if (!isLoggedIn) {\n return null;\n }\n\n return (\n \n \n {\n if (isFirstSwitcherOpen) {\n setIsFirstSwitcherOpen(false);\n } else if (joinableSites === null) {\n // reload the joinable sites data if a joinable site has been clicked\n if (props.allowWacJoinSitesProvider) {\n getJoinableSites();\n }\n }\n if (isAppSwitcherMenu) { // user closing switcher\n tracking.trackEvent('WacAppSwitcherIconClickedToClose');\n }\n else { // user opening switcher\n tracking.trackEvent('WacAppSwitcherIconClickedToOpen');\n }\n setAppSwitcherMenu(!isAppSwitcherMenu);\n }}\n onMouseEnter={() => setHasHovered(true)}\n >\n \n \n \n {hasHovered && switcher}\n \n \n \n );\n};\n\nconst getUserInfo = () => {\n const PERFORMANCE_BOOST_COOKIE = \"WCF-512\";\n const performanceBoost = storage.getCookie(PERFORMANCE_BOOST_COOKIE) !== null;\n return hamletUser.getStargateProfile(performanceBoost).then(() => {\n return hamletUser;\n });\n};\n\nconst Container = styled.div`\n display: ${(props: { displayVal: boolean }) =>\n props.displayVal ? \"block\" : \"none\"};\n position: relative;\n right: 330px;\n top: 36px;\n`;\n\nconst AppSwitcherContainer = styled.div`\n display: flex;\n justify-content: center;\n\n :hover {\n background: #ebecf0;\n border-radius: 25px;\n }\n ${Container}:hover {\n display: block;\n }\n`;\n\nconst StyledAppSwitcherIcon = styled.div`\n span {\n height: 28px;\n width: 28px;\n }\n display: flex;\n justify-content: center;\n cursor: pointer;\n`;\n\nconst AppSwitcherMenu = styled.div`\n display: block;\n position: absolute;\n border-radius: 5px;\n background-color: white;\n min-width: 160px;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n padding: 8px 16px 12px 16px;\n z-index: 1;\n svg {\n margin-bottom: 0;\n }\n h1 {\n margin-top: 0px;\n font-weight: normal;\n font-weight: 500;\n }\n a {\n font-weight: 400;\n }\n`;\n\nexport default WacAppSwitcher;\n","import {\n LocaleProvider,\n CofsClientProvider,\n BXPExpressClientProvider,\n CnasClientProvider,\n HamletClientProvider,\n IdentityClientProvider,\n StargateClientProvider,\n} from \"@atlassiansox/bxpkit-core\";\n\nimport Environment from \"../common/environment\";\nimport {\n CofsClient,\n PUBLIC_PROD_BASE_URL as PROD_BASE_URL_COFS,\n STAGING_BASE_URL as STAGING_BASE_URL_COFS,\n} from \"@atlassiansox/asc-cofs\";\nimport { StargateClient } from \"@atlassiansox/asc-stargate\";\nimport { IdentityClient } from \"@atlassiansox/asc-identity\";\nimport {\n BXPExpressClient,\n DEFAULT_BASE_URL as STAGING_BASE_URL_BXP_EXPRESS,\n} from \"@atlassiansox/bxp-express-client\";\nimport { FeatureFlagsProvider } from \"@atlassiansox/bxp-react-feature-flags\";\nimport {\n CnasClient,\n PRODUCTION_BASE_URL as PRODUCTION_BASE_URL_CNAS,\n STAGING_BASE_URL as STAGING_BASE_URL_CNAS,\n} from \"@atlassiansox/asc-cnas\";\nimport {\n HamletClient,\n DEFAULT_BASE_URL as DEFAULT_BASE_URL_HAMS,\n} from \"@atlassiansox/asc-hamlet\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { addLocaleData, IntlProvider } from \"react-intl\";\nimport { IntlProvider as IntlNextProvider } from \"react-intl-next\";\n\nimport * as componentList from \"./component-list\";\nimport { Suspense } from \"react\";\nimport WacAppSwitcher from \"./app-switcher/app\";\n\n// set Available Components\nconst availableComponents = {\n ...componentList,\n WacAppSwitcher,\n};\n\nclass App {\n init() {\n this.findComponents();\n }\n\n findComponents() {\n let renderedComponentTypes = [];\n const componentTags = document.querySelectorAll(\n 'script[type=\"text/jsx-component\"]'\n );\n\n componentTags.forEach((element) => {\n const params = this.parseComponentProps(element);\n\n if (params) {\n if (params.renderOnce && !!renderedComponentTypes[params.type]) {\n return;\n }\n renderedComponentTypes[params.type] = true;\n\n const defaultTrackProperties = {\n eventType: \"Track\",\n eventContainer: null,\n eventColumn: null,\n magnoliaComponentId: params.domRootId || null,\n eventComponent: params.type || null,\n event: \"clicked\",\n inputValue: null,\n parentLabel: null,\n label: null,\n productKey: null,\n productVersion: null,\n productEdition: null,\n productPlatform: null,\n schemaVersion: 1,\n };\n this.renderComponent({ defaultTrackProperties, ...params });\n }\n });\n }\n\n parseComponentProps(element) {\n const componentData = element.innerHTML\n .replace(\"/* */\", \"\")\n .replace(\"/* */\", \"\");\n\n try {\n return JSON.parse(componentData);\n } catch (error) {\n console.log(error);\n return false;\n }\n }\n getClients() {\n const isDev = Environment.isDev();\n const isStaging = Environment.isStaging();\n const cnasBaseUrl = isStaging\n ? STAGING_BASE_URL_CNAS\n : PRODUCTION_BASE_URL_CNAS;\n const bxpExpressBaseUrl = isStaging\n ? STAGING_BASE_URL_BXP_EXPRESS\n : `${Environment.getWacIntegrationUrl()}/endpoint`;\n const cofsBaseUrl =\n isDev || isStaging ? STAGING_BASE_URL_COFS : PROD_BASE_URL_COFS;\n const hamsBaseUrl = isStaging\n ? `${Environment.getWacIntegrationUrl()}/apis/stg/hamlet`\n : DEFAULT_BASE_URL_HAMS;\n const cofsClient = new CofsClient({ baseUrl: cofsBaseUrl });\n const cnasClient = new CnasClient({ baseUrl: cnasBaseUrl });\n const bxpExpressClient = new BXPExpressClient({\n baseUrl: bxpExpressBaseUrl,\n });\n const hamletClient = new HamletClient({ baseUrl: hamsBaseUrl });\n const identityClient = new IdentityClient({\n baseUrlStargate: Environment.getAPIPrivateURL(),\n baseUrlIdentity: Environment.getIdentityBaseUrl(),\n });\n const stargateClient = new StargateClient({\n baseUrl: Environment.getAPIPrivateURL(),\n });\n return {\n bxpExpressClient,\n cofsClient,\n cnasClient,\n hamletClient,\n identityClient,\n stargateClient,\n };\n }\n\n renderComponent({ type, props, domRootId, defaultTrackProperties }) {\n const TagName = availableComponents[type] || null;\n if (!TagName) return;\n const propsWithDefaultTracking = { defaultTrackProperties, ...props };\n const {\n bxpExpressClient,\n cofsClient,\n cnasClient,\n hamletClient,\n identityClient,\n stargateClient,\n } = this.getClients();\n\n ReactDOM.render(\n }>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n ,\n document.getElementById(domRootId)\n );\n }\n}\n\nlet localePromise;\nswitch (document.documentElement.lang) {\n case \"en\":\n localePromise = import(\"react-intl/locale-data/en\");\n break;\n case \"ja\":\n localePromise = import(\"react-intl/locale-data/ja\");\n break;\n case \"fr\":\n localePromise = import(\"react-intl/locale-data/fr\");\n break;\n case \"de\":\n localePromise = import(\"react-intl/locale-data/de\");\n break;\n case \"es\":\n localePromise = import(\"react-intl/locale-data/es\");\n break;\n case \"br\":\n localePromise = import(\"react-intl/locale-data/br\");\n break;\n case \"zh\":\n localePromise = import(\"react-intl/locale-data/zh\");\n break;\n case \"ko\":\n localePromise = import(\"react-intl/locale-data/ko\");\n break;\n case \"ru\":\n localePromise = import(\"react-intl/locale-data/ru\");\n break;\n case \"pl\":\n localePromise = import(\"react-intl/locale-data/pl\");\n break;\n case \"it\":\n localePromise = import(\"react-intl/locale-data/it\");\n break;\n case \"nl\":\n localePromise = import(\"react-intl/locale-data/nl\");\n break;\n case \"fi\":\n localePromise = import(\"react-intl/locale-data/fi\");\n break;\n case \"hu\":\n localePromise = import(\"react-intl/locale-data/hu\");\n break;\n case \"ro\":\n localePromise = import(\"react-intl/locale-data/ro\");\n break;\n case \"cs\":\n localePromise = import(\"react-intl/locale-data/cs\");\n break;\n default:\n localePromise = import(\"react-intl/locale-data/en\");\n}\n\nlocalePromise?.then(({ default: locale }) => {\n addLocaleData(locale);\n const app = new App();\n app.init();\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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: false } : 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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\n\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction useMemoOne(getResult, inputs) {\n var initial = useState(function () {\n return {\n inputs: inputs,\n result: getResult()\n };\n })[0];\n var isFirstRun = useRef(true);\n var committed = useRef(initial);\n var useCache = isFirstRun.current || Boolean(inputs && committed.current.inputs && areInputsEqual(inputs, committed.current.inputs));\n var cache = useCache ? committed.current : {\n inputs: inputs,\n result: getResult()\n };\n useEffect(function () {\n isFirstRun.current = false;\n committed.current = cache;\n }, [cache]);\n return cache.result;\n}\nfunction useCallbackOne(callback, inputs) {\n return useMemoOne(function () {\n return callback;\n }, inputs);\n}\nvar useMemo = useMemoOne;\nvar useCallback = useCallbackOne;\n\nexport { useCallback, useCallbackOne, useMemo, useMemoOne };\n","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nlet nanoid = (size = 21) => {\n let id = ''\n let i = size\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\nmodule.exports = { nanoid, customAlphabet }\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}"],"names":["UI_EVENT_TYPE","TRACK_EVENT_TYPE","SCREEN_EVENT_TYPE","OPERATIONAL_EVENT_TYPE","DEFAULT_SOURCE","ContextTypes","getAtlaskitAnalyticsContext","getAtlaskitAnalyticsEventHandlers","noop","AnalyticsContext","Component","constructor","props","super","this","getAnalyticsContext","data","context","contextValue","getAnalyticsEventHandlers","render","children","value","_process$env","ExportedAnalyticsContext","dataRef","ref","useRef","useEffect","current","useTrackedRef","analyticsContext","useContext","useCallback","useMemo","LegacyAnalyticsContext","namespace","displayName","newData","NavigationAnalyticsContext","EDITOR_APPEARANCE_CONTEXT","createContext","Provider","Consumer","useTheme","defaultGetTokens","emptyThemeFn","getTokens","ThemeContext","themeProps","tokens","themeFn","valueFn","mixedFn","createTheme","mode","themedBackground","light","dark","getBackground","sizes","dimensions","small","width","height","medium","large","xlarge","getIconSize","css","size","iconStyles","display","flexShrink","lineHeight","overflow","pointerEvents","stop","stopColor","maxWidth","maxHeight","color","fill","verticalAlign","baseHcmStyles","filter","primaryEqualsSecondaryHcmStyles","secondaryTransparentHcmStyles","Icon","memo","glyph","Glyph","dangerouslySetGlyph","primaryColor","secondaryColor","testId","label","glyphProps","dangerouslySetInnerHTML","__html","jsx","role","undefined","style","exports","obj","_react","__esModule","default","_base","AppSwitcherIcon","createElement","Object","assign","_default","getItemState","stateName","_ref","theme","stateStyles","background","text","getPadding","_ref2","isCompact","description","paddingKey","_getThemeStyle","_getThemeStyle$bottom","bottom","_getThemeStyle$left","left","_getThemeStyle$right","right","_getThemeStyle$top","top","adjustedTop","adjustedBottom","Math","max","getHeightStyles","_ref3","heightKey","getWidthStyles","_ref4","widthKey","getInteractiveStyles","_ref5","isDisabled","isDragging","isSelected","standardFocus","ItemBase","_ref6","_ref7","isHidden","_ref8","href","linkComponent","withConfig","componentId","BeforeAfterBase","Before","spaceKey","space","After","ContentWrapper","Content","allowMultiline","Description","descriptionFontSize","Item","_Component","Derived","hasNativeReflectConstruct","_super","Reflect","construct","sham","Proxy","Boolean","prototype","valueOf","call","e","_isNativeReflectConstruct","result","Super","NewTarget","arguments","apply","_this","rootComponent","key","autoFocus","focus","_this2","_this$props","_onClick","onClick","_onKeyDown","onKeyDown","onMouseEnter","onMouseLeave","dnd","otherProps","Root","dragHandleProps","patchedEventHandlers","event","defaultPrevented","onMouseDown","preventDefault","tabIndex","target","title","innerRef","setRef","draggableProps","elemBefore","shouldAllowMultiline","elemAfter","themeNamespace","compactSmallFontSize","compactLineHeight","gridSize","defaultTheme","afterItemSpacing","compact","beforeItemSpacing","borderRadius","outline","padding","secondaryText","selected","active","hover","disabled","dragging","isValidCssValue","getThemeStyle","maybeTheme","parentKey","themeWithKeys","getTheme","themed","modesOrVariant","variantModes","variantProp","variants","modes","R300","Y300","G300","B100","B200","B400","N0","N20","N200","N500","N800","N60A","DN600","DN300","DN50","backgroundActive","backgroundHover","textHover","textActive","CHANNEL","DEFAULT_THEME_MODE","THEME_MODES","fontSize","fontSizeSmall","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","Error","code","ids","id","keys","module","createEventMap","WrappedComponent","WithAnalyticsEvents","forwardRef","patchedEventProps","wrappedComponentProps","createAnalyticsEvent","useAnalyticsEvents","handlerCache","cache","forEach","reduce","p","k","eventCreator","includes","propValue","wrappedCallback","args","analyticsEvent","usePatchedProps","name","AnalyticsEvent","payload","update","updater","UIAnalyticsEvent","hasFired","handlers","JSON","parse","stringify","channel","handler","useAnalyticsContext","R100","R400","R500","Y200","Y400","Y500","B50","B75","B300","B500","N30","N40","N50","N70","N90","N100","N300","N400","N600","N700","N20A","N30A","N40A","N50A","DN900","DN500","DN400","DN100","DN90","DN70","DN60","DN30","DN0","DN60A","DN50A","DN40A","heading","subtleHeading","layers","card","navigation","dialog","layer","blanket","modal","flag","spotlight","tooltip","baseHeading","fontStyle","headingSizes","h900","h800","h700","h600","h500","h400","h300","h200","h100","fontWeight","letterSpacing","marginTop","hasOwnProperty","EmotionCacheContext","HTMLElement","func","typePropName","createEmotionProps","type","newProps","Insertion","serialized","isStringTag","Emotion","cssProp","registered","registeredStyles","className","Fragment","argsLength","length","createElementArgArray","Array","i","_len","_key","keyframes","insertable","styles","anim","toString","val","options","opt","enc","encode","TypeError","fieldContentRegExp","test","str","maxAge","isNaN","isFinite","floor","domain","path","expires","toUTCString","httpOnly","secure","sameSite","toLowerCase","decodeURIComponent","encodeURIComponent","StyleSheet","_insertTag","tag","before","tags","insertionPoint","nextSibling","prepend","container","firstChild","insertBefore","push","isSpeedy","speedy","ctr","nonce","_proto","hydrate","nodes","insert","rule","document","setAttribute","appendChild","createTextNode","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","flush","parentNode","removeChild","abs","String","fromCharCode","trim","pattern","replacement","replace","indexof","search","indexOf","index","charCodeAt","begin","end","slice","array","line","column","position","character","characters","node","root","parent","return","prev","next","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","COMMENT","IMPORT","callback","output","element","join","compile","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","j","x","y","z","identifierWithPointTracking","fixedElements","WeakMap","compat","isImplicitRule","get","set","parsed","toRules","getRules","parentRules","removeLabel","hash","defaultStylisPlugins","exec","ssrStyles","querySelectorAll","getAttribute","head","_insert","stylisPlugins","inserted","nodesToHydrate","attrib","split","currentSheet","collection","finalizingPlugins","serializer","concat","selector","shouldCache","W","M","d","c","h","a","q","g","C","m","b","v","n","K","u","l","r","I","t","B","J","f","F","G","N","charAt","substring","ca","O","A","H","X","D","da","ea","fa","w","L","P","Y","E","ha","Q","ia","Z","ja","ka","aa","ba","la","ma","R","na","oa","S","U","prefix","use","T","needle","toSheet","block","Sheet","ruleSheet","content","selectors","parents","ns","depth","at","getRegisteredStyles","classNames","rawClassName","insertStyles","len","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","arg","styleName","processStyleValue","match","p1","p2","cursor","handleInterpolation","mergedProps","interpolation","couldBeSelectorInterpolation","__emotion_styles","string","isArray","interpolated","_i","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","raw","lastIndex","identifierName","stylisOptions","stylis","CacheProvider","withEmotionCache","Noop","ele","possiblyStyleElement","Global","InnerGlobal","_React$Component","componentDidMount","querySelector","componentDidUpdate","prevProps","nextElementSibling","componentWillUnmount","classnames","cls","toAdd","ClassNames","cx","_len2","_key2","merge","fn","create","_tag","isImportRule","useInsertionEffect","useInsertionEffectAlwaysWithSyncFallback","useLayoutEffect","registerStyles","invariant","condition","message","Err","memoize","cacheDefault","serializerDefault","strategy","strategyDefault","monadic","cacheKey","computedValue","variadic","assemble","serialize","bind","ObjectWithoutPrototypeCache","strategies","ErrorKind","TYPE","SKELETON_TYPE","isLiteralElement","el","literal","isArgumentElement","argument","isNumberElement","number","isDateElement","date","isTimeElement","time","isSelectElement","select","isPluralElement","plural","isPoundElement","pound","isTagElement","isNumberSkeleton","isDateTimeSkeleton","dateTime","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","roundingPriority","_","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseConciseScientificAndEngineeringStem","stem","notation","minimumIntegerDigits","parseNotationOptions","parseNumberSkeleton","tokens_1","scale","currency","useGrouping","maximumFractionDigits","unit","compactDisplay","all","currencyDisplay","unitDisplay","parseFloat","g3","g4","g5","minimumFractionDigits","trailingZeroDisplay","signOpts","conciseScientificAndEngineeringOpts","_a","timeData","getDefaultHourSymbolFromLocale","locale","hourCycles","regionTag","languageTag","language","maximize","region","SPACE_SEPARATOR_START_REGEX","RegExp","source","SPACE_SEPARATOR_END_REGEX","createLocation","start","hasNativeStartsWith","startsWith","hasNativeFromCodePoint","fromCodePoint","hasNativeFromEntries","fromEntries","hasNativeCodePointAt","codePointAt","hasTrimStart","trimStart","hasTrimEnd","trimEnd","isSafeInteger","Number","REGEX_SUPPORTS_U_AND_Y","RE","matchIdentifierAtIndex","s","codePoints","elements","entries","entries_1","first","IDENTIFIER_PREFIX_RE_1","_isWhiteSpace","_isPatternSyntax","Parser","ignoreTag","requiresOtherClause","shouldParseSkeletons","parseMessage","nestingLevel","parentArgType","expectingCloseTag","isEOF","char","parseArgument","err","error","UNMATCHED_CLOSING_TAG","clonePosition","_isAlpha","parseTag","parseLiteral","bump","location","startPosition","tagName","parseTagName","bumpSpace","bumpIf","childrenResult","endTagStartPosition","INVALID_TAG","closingTagNameStartPosition","UNCLOSED_TAG","startOffset","parseQuoteResult","tryParseQuote","parseUnquotedResult","tryParseUnquoted","parseLeftAngleResult","tryParseLeftAngleBracket","codepoint","ch","openingBracePosition","EXPECT_ARGUMENT_CLOSING_BRACE","EMPTY_ARGUMENT","parseIdentifierIfPossible","MALFORMED_ARGUMENT","parseArgumentOptions","startingPosition","endOffset","bumpTo","typeStartPosition","argType","typeEndPosition","EXPECT_ARGUMENT_TYPE","styleAndLocation","styleStartPosition","parseSimpleArgStyleIfPossible","EXPECT_ARGUMENT_STYLE","styleLocation","argCloseResult","tryParseArgumentClose","location_1","parseNumberSkeletonFromString","EXPECT_DATE_TIME_SKELETON","dateTimePattern","skeletonCopy","patternPos","patternChar","extraLength","hourLen","dayPeriodLen","hourChar","getBestPattern","parsedOptions","typeEndPosition_1","EXPECT_SELECT_ARGUMENT_OPTIONS","identifierAndLocation","pluralOffset","EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE","tryParseDecimalInteger","INVALID_PLURAL_ARGUMENT_OFFSET_VALUE","optionsResult","tryParsePluralOrSelectOptions","location_2","pluralType","INVALID_ARGUMENT_TYPE","nestedBraces","apostrophePosition","bumpUntil","UNCLOSED_QUOTE_IN_ARGUMENT_STYLE","stringTokens_1","stemAndOptions","options_1","INVALID_NUMBER_SKELETON","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","Set","selectorLocation","EXPECT_PLURAL_ARGUMENT_SELECTOR","INVALID_PLURAL_ARGUMENT_SELECTOR","has","DUPLICATE_SELECT_ARGUMENT_SELECTOR","DUPLICATE_PLURAL_ARGUMENT_SELECTOR","EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT","EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT","fragmentResult","add","EXPECT_SELECT_ARGUMENT_SELECTOR","MISSING_OTHER_CLAUSE","expectNumberError","invalidNumberError","sign","hasDigits","decimal","kind","currentOffset","targetOffset","min","nextCode","pruneLocation","els","opts","SyntaxError","originalMessage","captureLocation","IntlErrorCode","IntlError","exception","stack","captureStackTrace","UnsupportedFormatterError","UNSUPPORTED_FORMATTER","InvalidConfigError","INVALID_CONFIG","MissingDataError","MISSING_DATA","IntlFormatError","FORMAT_ERROR","MessageFormatError","descriptor","defaultMessage","MissingTranslationError","MISSING_TRANSLATION","filterProps","allowlist","defaults","filtered","DEFAULT_INTL_CONFIG","formats","messages","timeZone","defaultLocale","defaultFormats","fallbackOnEmptyString","onError","onWarn","warning","createIntlCache","relativeTime","pluralRules","list","displayNames","createFastMemoizeCache","store","createFormatters","RelativeTimeFormat","Intl","ListFormat","DisplayNames","getDateTimeFormat","DateTimeFormat","getNumberFormat","NumberFormat","getPluralRules","PluralRules","getMessageFormat","locales","overrideFormats","formatters","getRelativeTimeFormat","getListFormat","getDisplayNames","getNamedFormat","format","formatType","PART_TYPE","isFormatXMLElementFn","formatToParts","values","currentPluralValue","els_1","varName","object","value_1","formatFn","chunks","other","parts","part","lastPart","IntlMessageFormat","defaultConfig","configs","formatterCache","ast","resolvedOptions","resolvedLocale","getAst","resolveLocale","__parse","c1","c2","defineProperty","memoizedDefaultLocale","enumerable","configurable","supportedLocales","supportedLocalesOf","Locale","integer","percent","short","long","full","ErrorCode","FormatError","msg","InvalidValueError","variableId","INVALID_VALUE","InvalidValueTypeError","MissingValueError","MISSING_VALUE","bcrypt","randomFallback","random","self","Uint32Array","safeStringCompare","known","unknown","wrong","setRandomFallback","genSaltSync","rounds","seed_length","GENSALT_DEFAULT_LOG2_ROUNDS","salt","base64_encode","BCRYPT_SALT_LEN","genSalt","_async","nextTick","reject","res","hashSync","_hash","progressCallback","compareSync","substr","compare","comp","getRounds","parseInt","getSalt","setImmediate","setTimeout","BASE64_CODE","BASE64_INDEX","stringFromCharCode","off","rs","base64_decode","c3","slen","olen","utfx","src","dst","cp","fail","UTF16toUTF8","encodeUTF8","decodeUTF8","UTF8toUTF16","calculateCodePoint","Date","now","BLOWFISH_NUM_ROUNDS","MAX_EXECUTION_TIME","P_ORIG","S_ORIG","C_ORIG","_encipher","lr","_streamtoword","offp","word","sw","plen","_crypt","cdata","clen","ret","Int32Array","_ekskey","minor","out","real_salt","passwordb","encodeUTF16toUTF8","saltb","finish","bytes","encodeBase64","decodeBase64","global","__self__","fetch","DOMException","support","searchParams","iterable","Symbol","blob","Blob","formData","arrayBuffer","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","normalizeValue","iteratorFor","items","iterator","shift","done","Headers","headers","append","header","getOwnPropertyNames","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","readAsText","chars","readArrayBufferAsText","decode","json","oldValue","thisArg","methods","Request","input","method","upcased","url","credentials","signal","toUpperCase","referrer","form","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","ponyfill","ctx","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getKeys","getOwnPropertySymbols","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","arrayMerge","sourceIsArray","destination","propertyIsUnsafe","customMerge","getMergeFunction","mergeObject","deepmerge_1","attributeNames","elementNames","Map","__assign","__createBinding","k2","desc","getOwnPropertyDescriptor","writable","__setModuleDefault","__importStar","mod","ElementType","entities_1","foreignNames_js_1","unencodedElements","replaceQuotes","singleTag","renderNode","Doctype","Directive","Comment","CDATA","elem","renderCdata","Script","Style","Tag","xmlMode","foreignModeIntegrationPoints","foreignElements","attribs","attributes","encodeEntities","decodeEntities","encodeXML","escapeAttribute","_b","emptyAttrs","formatAttributes","selfClosingTags","renderTag","Text","escapeText","renderText","isTag","__exportStar","DomHandler","domelementtype_1","node_js_1","defaultOpts","withStartIndices","withEndIndices","elementCB","dom","Document","tagStack","lastNode","parser","onparserinit","onreset","onend","handleCallback","onclosetag","pop","endIndex","onopentag","Element","addNode","ontext","oncomment","oncommentend","oncdatastart","oncdataend","onprocessinginstruction","ProcessingInstruction","previousSibling","startIndex","extendStatics","__extends","setPrototypeOf","__proto__","__","cloneNode","hasChildren","isDocument","isDirective","isComment","isText","isCDATA","NodeWithChildren","DataNode","Node","recursive","cloneChildren","clone_1","child","clone_2","clone_3","instruction","sourceCodeLocation","childs","getFeed","stringify_js_1","legacy_js_1","doc","feedRoot","getOneElement","isValidFeed","feed","getElementsByTagName","item","entry","media","getMediaElements","addConditionally","link","pubDate","updated","getAtomFeed","getRssFeed","MEDIA_KEYS_STRING","MEDIA_KEYS_INT","where","isDefault","MEDIA_KEYS_STRING_1","MEDIA_KEYS_INT_1","expression","recurse","textContent","prop","uniqueSort","compareDocumentPosition","DocumentPosition","removeSubsets","domhandler_1","nodeA","nodeB","aParents","bParents","unshift","maxIdx","idx","DISCONNECTED","sharedParent","siblings","aSibling","bSibling","FOLLOWING","CONTAINED_BY","PRECEDING","CONTAINS","lastIndexOf","splice","ancestor","arr","sort","relative","getElementsByTagType","getElementById","getElements","testElement","querying_js_1","Checks","tag_name","tag_type","tag_contains","getAttribCheck","combineFuncs","compileTest","funcs","limit","Infinity","findOne","removeElement","prependChild","replaceElement","sibling","currNext","findAll","existsOne","findOneChild","find","nodes_1","checked","some","__importDefault","innerText","getText","getInnerHTML","getOuterHTML","dom_serializer_1","prevElementSibling","getName","hasAttrib","getAttributeValue","getSiblings","getParent","getChildren","decodeXML","decodeHTMLStrict","decodeHTML","determineBranch","BinTrieFlags","replaceCodePoint","decodeCodePoint","xmlDecodeTree","htmlDecodeTree","decode_data_html_js_1","decode_data_xml_js_1","decode_codepoint_js_1","CharCodes","decode_codepoint_js_2","getDecoder","decodeTree","strict","lastIdx","strIdx","NUM","resultIdx","excess","treeIdx","masked","VALUE_LENGTH","valueLength","SEMI","base","To_LOWER_BIT","LOWER_X","ZERO","NINE","LOWER_A","LOWER_F","entity","nodeIdx","branchCount","BRANCH_LENGTH","jumpOffset","JUMP_TABLE","lo","hi","mid","midVal","htmlDecoder","xmlDecoder","decodeMap","codePoint","encodeNonAsciiHTML","encodeHTML","encode_html_js_1","escape_js_1","htmlReplacer","encodeHTMLTrieRe","regExp","nextChar","getCodePoint","xmlReplacer","escapeUTF8","escape","xmlCodeMap","getEscaper","regex","Uint16Array","restoreDiff","decodeXMLStrict","decodeHTML5Strict","decodeHTML4Strict","decodeHTML5","decodeHTML4","encodeHTML5","encodeHTML4","decodeStrict","EncodingMode","DecodingMode","EntityLevel","decode_js_1","encode_js_1","XML","level","HTML","Strict","Legacy","UTF8","Attribute","ASCII","escape_js_2","encode_js_2","decode_js_2","_uppercasePattern","hyphenate","msPattern","freeGlobal","window","regexAstralSymbols","regexAsciiWhitelist","regexBmpWhitelist","regexEncodeNonAscii","encodeMap","regexEscape","escapeMap","regexInvalidEntity","regexInvalidRawCodePoint","regexDecode","decodeMapLegacy","decodeMapNumeric","invalidReferenceCodePoints","propertyName","codePointToSymbol","parseError","contains","hexEscape","decEscape","encodeEverything","useNamedReferences","allowUnsafeSymbols","escapeCodePoint","escapeBmpSymbol","$0","high","low","html","$1","$2","$3","$4","$5","$6","$7","$8","semicolon","decDigits","hexDigits","isAttributeValue","he","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","Tokenizer_js_1","formTags","pTag","tableSectionTags","ddtTags","rtpTags","openImpliesClose","voidElements","foreignContextElements","htmlIntegrationElements","reNameEnd","cbs","_c","_d","_e","openTagStart","tagname","attribname","attribvalue","foreignContext","buffers","bufferOffset","writeIndex","ended","lowerCaseTagNames","lowerCaseTags","lowerCaseAttributeNames","tokenizer","Tokenizer","getSlice","ontextentity","getSectionStart","isVoidElement","onopentagname","emitOpenTag","impliesClose","endOpenTag","isImplied","onopentagend","_f","pos","closeCurrentTag","onselfclosingtag","recognizeSelfClosing","isOpenImplied","onattribname","onattribdata","onattribentity","onattribend","quote","onattribute","QuoteType","Double","Single","NoValue","getInstructionName","ondeclaration","oncdata","_g","_h","_j","_k","recognizeCDATA","reset","parseComplete","shiftBuffer","write","chunk","running","pause","resume","parseChunk","State","isWhitespace","Space","NewLine","Tab","FormFeed","CarriageReturn","isEndOfTagSection","Slash","Gt","isNumber","Zero","Nine","Sequences","Cdata","CdataEnd","CommentEnd","ScriptEnd","StyleEnd","TitleEnd","state","sectionStart","baseState","sequenceIndex","trieIndex","trieCurrent","entityResult","entityExcess","entityTrie","currentSequence","getIndex","stateText","Lt","fastForwardTo","BeforeTagName","Amp","BeforeEntity","stateSpecialStartSequence","isEnd","InTagName","stateInTagName","stateInSpecialTag","endOfText","actualIndex","stateInClosingTagName","stateCDATASequence","InCommentLike","InDeclaration","stateInDeclaration","stateInCommentLike","isTagStartChar","LowerA","LowerZ","UpperA","UpperZ","isASCIIAlpha","startSpecial","sequence","SpecialStartSequence","stateBeforeTagName","ExclamationMark","BeforeDeclaration","Questionmark","InProcessingInstruction","lower","BeforeSpecialS","BeforeClosingTagName","BeforeAttributeName","stateBeforeAttributeName","stateBeforeClosingTagName","InClosingTagName","InSpecialComment","AfterClosingTagName","stateAfterClosingTagName","InSpecialTag","InSelfClosingTag","InAttributeName","stateInSelfClosingTag","stateInAttributeName","Eq","AfterAttributeName","stateAfterAttributeName","BeforeAttributeValue","stateBeforeAttributeValue","DoubleQuote","InAttributeValueDq","SingleQuote","InAttributeValueSq","InAttributeValueNq","stateInAttributeValueNoQuotes","handleInAttributeValue","stateInAttributeValueDoubleQuotes","stateInAttributeValueSingleQuotes","Unquoted","stateBeforeDeclaration","OpeningSquareBracket","CDATASequence","Dash","BeforeComment","stateInProcessingInstruction","stateBeforeComment","stateInSpecialComment","stateBeforeSpecialS","stateBeforeEntity","Num","BeforeNumericEntity","InNamedEntity","stateInNamedEntity","emitNamedEntity","allowLegacyEntity","Semi","entityStart","emitPartial","emitCodePoint","stateBeforeNumericEntity","LowerX","InHexEntity","InNumericEntity","stateInNumericEntity","emitNumericEntity","stateInHexEntity","UpperF","LowerF","isHexDigit","cleanup","shouldContinue","handleTrailingData","DefaultHandler","DomUtils","parseFeed","createDomStream","parseDOM","parseDocument","Parser_js_1","cb","elementCb","domutils_1","peg$SyntaxError","expected","found","ctor","peg$subclass","peg$result","peg$FAILED","peg$startRuleFunctions","peg$parsestart","peg$startRuleFunction","peg$c0","peg$c1","outerLen","inner","innerLen","peg$c2","messageText","peg$c3","peg$c4","peg$c5","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","peg$c12","peg$c13","peg$c14","peg$c15","peg$c16","peg$c17","peg$c18","peg$c19","peg$c20","peg$c21","pluralStyle","ordinal","peg$c22","peg$c23","peg$c24","peg$c25","peg$c26","peg$c27","peg$c28","peg$c29","peg$c30","peg$c31","peg$c32","peg$c33","peg$c34","peg$c35","peg$c36","peg$c37","peg$c38","peg$c39","peg$c40","peg$c41","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","digits","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","peg$currPos","peg$savedPos","peg$posDetailsCache","seenCR","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","startRule","peg$computeLocation","peg$computePosDetails","details","startPos","endPos","startPosDetails","endPosDetails","peg$fail","peg$parsemessageFormatPattern","s0","s1","s2","peg$parsemessageFormatElement","s3","s4","s5","peg$parse_","peg$parsechars","peg$parsews","peg$parsemessageText","peg$parsemessageTextElement","s6","s7","s8","peg$parsenumber","peg$parseargument","peg$parsesimpleFormat","peg$parsepluralStyle","peg$parsepluralFormat","peg$parseselectOrdinalFormat","peg$parseoptionalFormatPattern","peg$parseselectFormat","peg$parseelementFormat","peg$parseargumentElement","peg$parseselector","peg$parseoffset","peg$parsedigit","peg$parsehexDigit","peg$parsechar","cleanupExpected","expectedDescs","hex","stringEscape","buildMessage","peg$buildException","IntlRelativeFormat","intl_messageformat_1","diff_1","es5_1","RelativeFormat","FIELDS","STYLES","_resolveLocale","_resolveStyle","units","_isValidUnits","_findFields","_locale","objCreate","relativeFormat","_format","datum","__localeData__","__addLocaleData","_options","_compileMessage","_locales","_fields","future","past","_getMessage","_messages","_getRelativeUnits","diff","field","localeData","fields","parentLocale","dateNow","diffReport","_selectUnits","diffInUnits","relativeUnits","when","arrIndexOf","suggestion","localeParts","thresholds","round","startOfDay","dirtyDate","setHours","from","to","dirtyDateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","millisecond","getTime","getTimezoneOffset","week","rawYears","ord","v0","t0","n10","n100","hop","realDefineProp","__defineGetter__","proto","fromIndex","core_1","en_1","Compiler","pluralFn","StringFormat","PluralFormat","useOrdinal","PluralOffsetString","numberFormat","SelectFormat","pluralStack","currentPlural","pluralNumberFormat","compileMessage","compileMessageText","compileArgument","compileOptions","option","optionsHash","getOption","src$utils$$","src$es5$$","src$compiler$$","intl$messageformat$parser$$","MessageFormat","_mergeFormats","_findPluralRuleFunction","_compilePattern","messageFormat","pluralRuleFunction","mergedType","mergedFormats","extend","src$core$$","src$en$$","sources","argIndex","framesToPop","factory","converter","api","stringifiedAttributes","attributeName","cookie","jar","cookies","read","getJSON","remove","withConverter","isSpace","collectCharacters","regEx","descriptors","currentDescriptor","inputLength","regexLeadingSpaces","regexLeadingCommasOrSpaces","regexLeadingNotSpaces","regexTrailingCommas","regexNonNegativeInteger","regexFloatingPoint","candidates","parseDescriptors","tokenize","lastChar","intVal","floatVal","pError","candidate","console","log","isColorSupported","bold","dim","italic","underline","inverse","hidden","strikethrough","black","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","createColors","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","removeAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Qa","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","ownerDocument","eb","fb","defaultSelected","gb","hb","ib","jb","kb","lb","mb","nb","namespaceURI","innerHTML","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","aspectRatio","gridArea","lineClamp","qb","rb","sb","setProperty","tb","menuitem","area","br","col","embed","hr","img","keygen","meta","param","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","flags","Wb","memoizedState","dehydrated","Xb","Zb","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","ie","le","datetime","email","password","range","tel","me","ne","oe","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","of","pf","qf","rf","sf","capture","passive","tf","uf","parentWindow","vf","wf","xa","$a","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","clearTimeout","Hf","Jf","queueMicrotask","catch","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","eventTime","lane","dh","eh","fh","gh","hh","ih","jh","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","sh","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","ii","ji","ki","getSnapshot","li","mi","ni","lastEffect","stores","oi","pi","qi","ri","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useImperativeHandle","useReducer","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onclick","createElementNS","Hj","Ij","Jj","Kj","Lj","WeakSet","V","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","ak","onCommitFiberUnmount","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","ceil","nk","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","version","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","IntlContext","IntlConsumer","Context","injectIntl","intlPropName","enforceContext","WithIntl","intl","intlProp","forwardedRef","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","formatMessage","messageDescriptor","defaultRichTextElements","msgId","NUMBER_FORMAT_OPTIONS","getFormatter","formatNumber","config","formatNumberToParts","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","DATE_TIME_FORMAT_OPTIONS","filteredOptions","timeStyle","dateStyle","formatDate","formatTime","formatDateTimeRange","formatRange","formatDateToParts","formatTimeToParts","PLURAL_FORMAT_OPTIONS","formatPlural","LIST_FORMAT_OPTIONS","formatList","results","formatListToParts","richValues_1","serializedValues","generateToken","DISPLAY_NAMES_OPTONS","formatDisplayName","processIntlConfig","textComponent","wrapRichTextChunksInFragment","assignUniqueKeysToFormatXMLElementFnArgument","acc","rawValues","rest","rawDefaultRichTextElements","coreIntl","resolvedConfig","verifyConfigMessages","$t","IntlProvider","prevConfig","invariantIntlContext","assignUniqueKeysToParts","formatXMLElementFn","shallowEqual","objA","objB","aKeys","bKeys","FormatConstructor","inputs","cacheId","defaultLocaleData","addLocaleData","hasIMFAndIRFLocaleData","normalizedLocale","_typeof","classCallCheck","AwaitValue","AsyncGenerator","gen","front","back","settle","_invoke","asyncIterator","throw","Constructor","createClass","defineProperties","protoProps","staticProps","_extends","inherits","subClass","superClass","possibleConstructorReturn","ReferenceError","toConsumableArray","arr2","localeMatcher","narrowShortLong","numeric2digit","funcReq","intlConfigPropTypes","intlFormatPropTypes","formatRelative","formatHTMLMessage","intlShape","dateTimeFormatPropTypes","formatMatcher","numberFormatPropTypes","relativeFormatPropTypes","pluralFormatPropTypes","intlConfigPropNames","ESCAPED_CHARS","UNSAFE_CHARS_REGEX","whitelist","defaults$$1","shallowEquals","keysA","keysB","bHasOwnProperty","shouldIntlComponentUpdate","nextProps","nextState","_ref2$context","nextContext","_context$intl","_nextContext$intl","nextIntl","createError","defaultErrorHandler","Component$$1","_options$intlPropName","_options$withRef","withRef","InjectIntl","_wrappedInstance","defineMessages","messageDescriptors","IntlPluralFormat","RELATIVE_FORMAT_OPTIONS","RELATIVE_FORMAT_THRESHOLDS","updateRelativeFormatThresholds","newThresholds","formattedMessage","freeze","oldThresholds","getRelativeFormat","getPluralFormat","escaped","intlConfigPropNames$1","intlFormatPropNames","initialNow","intlContext","_ref$formatters","_didDisplay","hasLocaleData","_config","boundFormatFns","getConfig","getBoundFormatFns","_state","objectWithoutProperties","Children","FormattedDate","_props","formattedDate","FormattedTime","formattedTime","HOUR","DAY","FormattedRelative","_timer","updateInterval","delta","unitDelay","getUnitDelay","absDelta","selectUnits","unitRemainder","delay","setState","scheduleNextUpdate","aTime","bTime","isSameDate","formattedRelative","FormattedNumber","formattedNumber","FormattedPlural","pluralCategory","formattedPlural","defaultFormatMessage","FormattedMessage","nextPropsToCheck","counter","_ref$formatMessage","formatMessage$$1","_ref$textComponent","_props$tagName","tokenDelimiter","tokenizedValues","uid","isValidElement","FormattedHTMLMessage","formattedHTMLMessage","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","_classCallCheck","_possibleConstructorReturn","_inherits","React","ALL_INITIALIZERS","READY_INITIALIZERS","load","loader","loading","loaded","loadMap","promises","createLoadableComponent","loadFn","_class","_temp","timeout","webpack","modules","getModuleIds","every","moduleId","LoadableComponent","retry","timedOut","_loadModule","pastDelay","preload","_mounted","loadable","moduleName","report","_delay","_timeout","_clearTimeouts","isLoading","Loadable","Capture","_React$Component2","only","flushInitializers","initializers","preloadAll","preloadReady","generateUID","forceUpdate","__self","__source","_status","_result","toArray","PureComponent","cloneElement","_currentValue2","_threadCount","_defaultValue","_globalName","createFactory","createRef","lazy","startTransition","unstable_act","htmlparser","escapeStringRegexp","isPlainObject","parseSrcset","postcssParse","mediaTags","vulnerableTags","each","sanitizeHtml","VALID_HTML_ATTRIBUTE_NAME","_recursing","tempResult","Frame","that","tagPosition","mediaChildren","updateParentNodeText","updateParentNodeMediaChildren","htmlParserDefaults","tagAllowed","allowedTags","allowVulnerableTags","warn","nonTextTagsArray","nonTextTags","allowedAttributesMap","allowedAttributesGlobMap","allowedAttributes","globRegex","allowedClassesMap","allowedClassesGlobMap","allowedClassesRegexMap","allowedClasses","classes","transformTagsMap","transformTagsAll","skipMap","transformMap","skipText","skipTextDepth","transformTags","transform","transFun","simpleTransform","addedText","initializeState","enforceHtmlBoundary","frame","skip","hasText","transformedTag","disallowedTagsMode","isEmptyObject","nestingLimit","allowedScriptHostnames","allowedScriptDomains","passedAllowedAttributesMapCheck","newValue","splitStrArray","allowedSchemesAppliedToAttributes","naughtyHref","allowed","parseUrl","allowedHostname","hostname","allowedDomain","endsWith","isRelativeUrl","allowIframeRelativeUrls","allowedIframeHostnames","allowedIframeDomains","evil","allowedSpecificClasses","allowedWildcardClasses","allowedSpecificClassesGlob","allowedSpecificClassesRegex","allowedClassesGlobs","allowedGlobs","clss","glob","parseStyleAttributes","filteredAST","extractedAttributes","attrObject","important","stringifyStyleAttributes","abstractSyntaxTree","allowedStyles","astRules","selectedRule","allowedDeclarationsList","attributeObject","regularExpression","filterDeclarations","filterCss","escapeHtml","selfClosing","textFilter","lastFrame","exclusiveFilter","firstIndex","matches","allowProtocolRelative","scheme","allowedSchemesByTag","allowedSchemes","URL","protocol","newTagName","newAttribs","isObject","prot","Container","AtRule","proxyOf","registerAtRule","Rule","isClean","my","Declaration","cleanSource","markDirtyUp","getIterator","indexes","walk","addToError","walkDecls","walkRules","walkAtRules","walkComments","normalize","markDirty","reverse","cleanRaws","keepBetween","exist","existIndex","insertAfter","removeAll","replaceValues","decl","fast","sample","rebuild","raws","getProxyProcessor","toProxy","lastEach","registerParse","dependant","registerRule","registerRoot","pico","terminalHighlight","CssSyntaxError","file","plugin","reason","endLine","endColumn","setMessage","showSourceCode","mark","aside","lines","gutter","spacing","LazyResult","Processor","toResult","registerLazyResult","registerProcessor","PreviousMap","Input","fromJSON","ownInputs","inputHydrated","inputId","SourceMapConsumer","SourceMapGenerator","fileURLToPath","pathToFileURL","isAbsolute","nanoid","fromOffsetCache","sourceMapAvailable","pathAvailable","hasBOM","consumer","mapResolve","fromOffset","lastLine","lineToIndex","prevIndex","origin","fromUrl","originalPositionFor","sourceRoot","mapFile","sourceContentFor","toJSON","consumerCache","registerInput","MapGenerator","Result","TYPE_TO_CLASS_NAME","PLUGIN_PROPS","postcssPlugin","prepare","Once","DeclarationExit","RuleExit","AtRuleExit","CommentExit","RootExit","DocumentExit","OnceExit","NOT_VISITORS","CHILDREN","isPromise","getEvents","toStack","events","eventIndex","visitors","visitorIndex","cleanMarks","postcss","processor","stringified","processed","inline","syntax","helpers","plugins","toStringTag","sync","warnings","onFulfilled","onRejected","async","finally","onFinally","processing","runAsync","getAsyncError","runOnRoot","prepareVisitors","hasListener","walkSync","subRoot","visitSync","stringifier","generate","visitor","lastPlugin","handleError","roots","postcssVersion","visitTick","visit","registerPostcss","separators","inQuote","prevQuote","letter","comma","dirname","sep","cssString","mapOpts","usesFileUrls","absolute","isMap","previousMaps","isInline","annotation","isSourcesContent","sourcesContent","withContent","clearAnnotation","setSourcesContent","already","toFileUrl","toUrl","setSourceContent","applyPrevMaps","applySourceMap","isAnnotation","toBase64","Buffer","btoa","unescape","addAnnotation","outputFile","eol","generateMap","generateString","fromSourceMap","addMapping","generated","original","encodeURI","sourcePath","noSource","mapping","NoWorkResult","_processor","_css","_opts","_map","generatedCSS","generatedMap","_root","Stringifier","cloned","rangeBy","overrides","cloneBefore","cloneAfter","replaceWith","bookmark","foundSelf","after","defaultType","between","fixed","emitInputs","inputsNextIndex","positionInside","positionBy","proxyCache","postcssNode","SAFE_COMMENT_NEIGHBOR","empty","spaces","customProperty","createTokenizer","endOfFile","nextToken","freeSemicolon","emptyRule","endFile","getPosition","colon","bracket","brackets","unclosedBracket","unknownWord","spacesAndCommentsFromEnd","findLastWithPosition","firstSpaces","precheckMissedSemicolon","stringFrom","spacesFromEnd","checkMissedSemicolon","unnamedAtrule","params","afterName","spacesAndCommentsFromStart","unexpectedClose","unclosedBlock","ownSemicolon","clean","lastTokenType","doubleColon","founded","Warning","initializer","warningPrinted","creator","LANG","transformer","process","processOpts","pluginOpts","atRule","existsSync","readFileSync","loadAnnotation","startWith","getAnnotationURL","sourceMapString","comments","decodeInline","lastMatch","atob","encoding","loadFile","prevPath","mappings","_mappings","sections","normalized","ignore","DEFAULT_RAW","indent","beforeDecl","beforeRule","beforeOpen","beforeClose","beforeComment","emptyBody","commentLeft","commentRight","builder","rawValue","own","detect","rawCache","beforeAfter","rawSemicolon","rawEmptyBody","rawIndent","rawBeforeComment","rawBeforeDecl","rawBeforeRule","rawBeforeClose","rawBeforeOpen","rawColon","step","SINGLE_QUOTE","DOUBLE_QUOTE","BACKSLASH","SLASH","NEWLINE","SPACE","FEED","TAB","CR","OPEN_SQUARE","CLOSE_SQUARE","OPEN_PARENTHESES","CLOSE_PARENTHESES","OPEN_CURLY","CLOSE_CURLY","SEMICOLON","ASTERISK","COLON","AT","RE_AT_END","RE_WORD_END","RE_BAD_BRACKET","RE_HEX_ESCAPE","escapePos","currentToken","ignoreErrors","returned","unclosed","what","ignoreUnclosed","controlChar","printed","sortIndex","performance","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","PricingPeriod","reduceBreakdownToPricingCalculation","total","currencyIsoCode","breakdown","pricingPlan","tier","unitPrice","updateTotal","pricingStrategy","getUnitPrice","prices","sanitizePricingPlans","monthly","annual","MONTHLY","sanitizePricingPlan","ANNUAL","correctFirstTierUnitLimitLower","priceTiers","unitLimitLower","correctedUnitLimitLower","HAMS_PRICING_STRATEGY_BY_CCP_PRICING_POLICY","convertCCPPricingStrategyToHAMS","ccpPricingPolicy","hamsPricingStrategy","comparePricingTierByUnitLimitLower","firstLimit","secondLimit","PricingCalculator","productPricingStore","calculatePrice","productKey","period","getPricingPlan","calculatePriceWithPricingPlan","getBreakdown","getPricingPlans","selectedTier","unitLimitUpper","createPricingTierIsInUnitLimitsPredicate","createPricingTierIsMarginalPerUnitStrategy","createPricingTierToPricingBreakdownItemTransform","createMarginalPerUnitBreakdown","ProductPricingStore","productCatalogClient","ccpProductCatalogClient","isProductKeyUncached","isOfferingSKUUncached","offeringSKU","getCachedProducts","productKeys","pricingPlans","getCachedOfferings","offeringSKUs","getProducts","uncachedProductKeys","fetchProducts","getOfferings","uncachedOfferingSKUs","fetchOfferings","searchAddons","parentProductKey","query","addon","pricing","pricingPromise","getPricing","getOfferingsBySKU","offering","ccpPricingPlans","defaultPricingPlans","ccpPPContent","monthlyCCP","annualCCP","primaryCycle","primaryCycle_interval","tiers","chargeElement","ccpTiers","ccpTier","starter","policy","unitDescription","ceiling","unitAmount","flatAmount","convertCCPTiersToHAMS","convertCCPPricingPlansToHAMS","DATA_PROVIDER_SUBJECT","Status","createResultComplete","COMPLETE","isComplete","isError","ERROR","hasLoaded","LOADING","mapPropsToPromise","mapPropsToInitialValue","retryConfig","DataProvider","getInitialState","eventType","actionSubject","outdated","acceptResults","fire","intervalsMS","shouldRetryOnException","onRetry","previousException","retryCount","onResult","fireOperationalEvent","actionSubjectId","provider","customErrorToReason","createProviderWithCustomFetchData","fetchData","fetchMethod","ProviderComponent","DEFAULT_AVAILABLE_PRODUCTS_ENDPOINT","createAvailableProductsProvider","sites","links","isPartial","defaultAvailableProductsFetch","defaultLogoParams","getColorsFromAppearance","appearance","iconGradientStart","iconGradientStop","iconColor","textColor","atlassianLogoTextColor","CSS_VAR_COLOR","CSS_VAR_FILL","baseWrapperStyles","userSelect","whiteSpace","stopColorStyles","sizeStyles","xsmall","svg","userDefinedTestId","shouldApplyStopColor","colors","JiraWorkManagementIcon","AtlassianIcon","PRODUCT_CONFIGURATION_MAP","BITBUCKET","CONFLUENCE","JIRA_BUSINESS","JIRA_WORK_MANAGEMENT","JIRA_SOFTWARE","JIRA_SERVICE_DESK","COMPASS","TEAM_CENTRAL","AVOCADO","OPSGENIE","STATUSPAGE","TRELLO","formatLabel","formatDescription","createProductConfigurationProvider","useRemoteProductConfiguration","iconUrl","products","product","icons","ImageLoadTrackerBuckets","RenderTrackerBuckets","getMetricBucket","metricValue","buckets","lowestBucket","currentBucket","NAVIGATION_CHANNEL","SWITCHER_SUBJECT","SWITCHER_ITEM_SUBJECT","SWITCHER_CHILD_ITEM_SUBJECT","SWITCHER_ITEM_EXPAND_SUBJECT","SWITCHER_COMPONENT","SWITCHER_SOURCE","SWITCHER_TRELLO_SIGN_UP_TO_JOIN_SUBJECT","SWITCHER_TRELLO_HAS_NEW_FRIENDS_SUBJECT","SWITCHER_TRELLO_HAS_NEW_FRIENDS_DISMISS_SUBJECT","SWITCHER_PARTIAL_RESULTS","SWITCHER_JOINABLE_SITES","SWITCHER_AVAILABLE_PRODUCTS","SWITCHER_DISCOVER_SECTION","createAndFireNavigationEvent","consumerEvent","clonedEvent","analyticsAttributes","withAnalyticsContextData","mapPropsToContext","isValidDuration","duration","RenderTracker","withAnalyticsEvents","onRender","_props$data","subject","bucket","NotRenderedTracker","ViewedTracker","ImageLoadedTracker","onLoad","imgProps","imageMountedAt","analyticsHandler","actionType","onErrorAnalyticsHandler","errorEvent","onLoadAnalyticsHandler","loadEvent","renderTracker","providerFailed","emptyRenderExpected","linksRendered","emptyRender","getJoinableSitesRenderTracker","providerResult","joinableSiteLinks","getDiscoverSectionRenderTracker","xflowProviderResult","provisionedProductsProviderResult","joinableSitesProviderResult","productRecommendationsProviderResult","suggestedProductLinks","hasProviderNotReturnedExpectedData","collectResults","failed","xflow","provisionedProducts","joinableSites","productRecommendations","didProviderFail","providerResults","joinableSitesFailed","provisionedProductsFailed","xflowFailed","productRecommendationsFailed","getRecentContainersRenderTracker","isEnabled","cgRecentContainersProviderResult","userSiteDataProviderResult","recentLinks","collaborationGraphEntities","getCustomLinksRenderTracker","customLinksProviderResult","customLinks","notRenderedReason","renderTrackerWithReason","getNotRenderedReason","getItemAnalyticsContext","groupIndex","productType","extraAttributes","itemId","itemType","errorToReason","FETCH_ERROR_NAME","FetchError","static","UserSiteDataErrorReason","UserSiteDataError","extraJsonFromResponse","fetchJson","fetchJsonWithNetworkRetries","postJson","e100","IconBase","iconElevation","bgColor","ImageIconBase","themes","backgroundColor","admin","custom","subtle","recommendedProduct","discover","createIcon","InnerIcon","iconProps","createImageIcon","createThemedImageIcon","iconUrlsByTheme","ImageIcon","svgCache","RemoteIcon","svgProps","setSvg","createRemoteIcon","atlassianStart","switchTo","switchToTooltip","recent","more","try","manageList","jiraProject","confluenceSpace","administration","moreAtlassianProductsLink","slackIntegrationLink","slackIntegrationLinkDescription","browseApps","errorEmptyPartialResults","errorHeading","errorText","errorImageAltText","errorTextNetwork","errorHeadingLoggedOut","errorTextLoggedOut","errorHeadingUnverified","errorPartialResults","errorPartialResultsRefresh","errorTextUnverified","login","showMoreSites","productDescriptionConfluence","productDescriptionJiraServiceManagement","productDescriptionJiraSoftware","productDescriptionOpsgenie","productDescriptionCompass","signUpToJoinHeader","signUpToJoinBody","signUpToJoinCTA","signUpToJoinImageAltText","trelloHasNewFriendsHeading","trelloHasNewFriendsBody","trelloHasNewFriendsDismiss","performanceNow","wait","ms","retryOnException","invokeOperation","nextMSInterval","retries","withCached","resultCache","promiseCache","getCacheKey","cachedPromise","maybePromise","clear","fetchEmptyData","createJoinableSitesProvider","country","getCodesFromLocale","isLocaleLoaded","setIsLocaleLoaded","setMessages","loadLanguageWithoutCountry","AtlassianSwitcherLoader","JiraSwitcherLoader","ConfluenceSwitcherLoader","GenericSwitcherLoader","TrelloSwitcherLoader","fadeIn","FadeIn","translatedString","StyledItem","SwitcherItem","icon","SectionContainer","SectionTitle","group","sectionId","groupItemsCount","IconSkeleton","LineSkeleton","UnsucessfulFetchError","isUnsucessfulFetchError","serializeCookie","mapCookieToHeaders","isUndefined","createHeaders","mapResponseToText","mapResponseToMessage","mapResponseToJson","createUrl","baseUrl","queryString","mapQueryToQueryString","pairs","AuthenticationMethodsType","GetUserPermissionsIsPermittedRequestPermissionId","Editions","ProductKeys","PRODUCT_KEY_MAP","JIRA_CORE","isValidSite","site","includeInvalidBitbucketSite","ignoreSiteNames","cloudId","StargateClient","getSignupServerXsrfToken","accept","checkAuthenticationMethodsAvailable","application","successRedirect","xsrfToken","continue","getUserPermissionsIsPermitted","permissionId","resourceId","dontRequirePrincipalInSite","getCurrentAuthenticatedUser","getProductHubInfo","postCloudSignUp","_ga","seg_xid","localStorage","getItem","__atl_path","ajs_anonymous_id","optimizelyBuckets","optimizelySegments","optimizelyEndUserId","renameCloud","cloudName","checkCloudNameAvailability","getUserCloudSites","editions","adminAccess","licenseLevels","billingFrequency","availableProducts","includeInvalidSites","removeNonAdminSites","reqUrl","userSignup","activateProduct","getProductActivationStatus","provisioningRequestId","getLicenceInformationStatus","postProductActivate","postCOFSProductActivate","cloudSessionTokenCookie","account_id","others","accountId","mapMeResponseToUserProfile","bitbucketWorkspaces","nextUrl","urlQuery","availableProductsLegacy","patchUserProfile","userId","getCcpHamsStatus","offeringKeys","getAvailableSites","orderId","transactionAccount","useFeatureFlags","FeatureFlagsContext","FeatureFlagsProvider","featureFlags","HamletClient","getXsrfToken","getEmailExists","getCart","cartId","patchUser","firstName","lastName","op","getProductPricing","licenseType","requestingApplication","monthsValid","cacheBuster","getCloudSite","auth","generateAsapHeader","asap","audience","hashEmail","username","sanitizedUsername","cleanEmail","hashResult","MarieSchemaAnalytics","eventContainer","productEdition","productPlatform","schemaVersion","loginUserDetected","suiteName","setSuiteName","userEmail","setUserEmail","productsOffered","task","setResult","AsyncResult","inEffect","complete","isPending","PendingAsyncResult","CompleteAsyncResult","ErrorAsyncResult","mapper","catcher","AsyncResultError","cause","StargateClientContext","StargateClientProvider","isBaseUrlStargateClientProviderProps","client","useAISAvailableProducts","stargateClient","useBitbucketWorkspaces","makeRequest","BXPExpressClient","DEFAULT_BASE_URL","cloudSignupAnonymous","marketplaceAppInstall","siteName","appKey","cloudExpandFreeValidation","edition","postBreachStatus","productEditionByCloudId","BXPExpressStargateClient","cloudSignup","BXPExpressClientContext","useBXPExpressClient","BXPExpressClientProvider","HamletClientProvider","useCalculation","calculator","CnasClientContext","getNameAvailability","getHealthCheck","cloudNameAvailabilityCheck","CnasClientProvider","isAtlassianIdAuth","AUDIENCE","CofsClientContext","activateProducts","analyticsData","userContextToken","cookiesList","cookieItem","createCloud","originalRequest","clientIp","success","reserveName","renameSite","newSiteName","progressUri","getCloudStatus","requestId","pollProgress","useCofsClient","CofsClientProvider","LocaleContext","useLocale","LocaleProvider","useMe","usePricing","reduceCalcs","calcs","calc","useTotal","addons","isAsapAuth","issuer","keyId","privateKey","DEFAULT_CURRENCY_ISO_CODE","ENV_DEV","ENV_STAGING","ENV_PRODUCTION","URL_STAGING_IDENTITY","URL_PRODUCTION_IDENTITY","URL_STAGING_WAC_DEPRECATED","URL_STAGING_WAC","URL_PRODUCTION_WAC","RECAPTCHA_KEY","ProductKey","AppKey","Url","getLocation","getUrl","getUnhashedUrl","hashIndex","getQueryString","questionIndex","htmlEscape","getParameterByName","getUrlParams","qs","paramPairs","keyValuePair","iLen","Environment","VALID_LOCALES","BXP_TO_GROWTH_LOCALE_MAP","es","fr","it","ko","hu","ru","getSubdomain","urlParts","getEnvironment","isProduction","getIdentityBaseUrl","getWacIntegrationUrl","getInternationalSubdomain","hostnameSubdomain","getPathLocale","pathParts","pathname","localeIndex","getCurrentSearchParam","bundle","templateId","migrationSourceUuid","developer","internationalSubdomain","getIdSigninUrl","atlOriginId","skipEncoding","continueUrlOverride","currentUrl","isDev","isStaging","getApiPrivateUrl","getHamletUrl","getGrowthKitLocale","currentLocale","growthKitLocale","getParam","getSocialSignUpUrl","loginGoogleOrigin","socialContinueUrl","splitPath","signupSocialUrl","atlOrigin","continueUrl","getIdSwitchUserUrl","idSigninUrl","reCaptchaKey","getMappedOptimizelyCohorts","cohorts","optimizely","variations","getVariationMap","experimentId","cohortId","getAllOptimizelyCohortsAsObjects","getFirstName","fullName","getLastName","names","Storage","hasStorage","sessionStorage","getCookie","encodedName","setCookie","days","sameSiteString","setTime","removeCookie","getLocalStorage","setLocalStorage","setItem","removeLocalStorage","removeItem","getSessionStorage","setSessionStorage","removeSessionStorage","getIsBundleBbJsw","getIsBundleDevops","PricingType","defineMessagesSimple","tranformedMessages","OFFERING_IDS","dev","free","offeringId","pricingType","FREE","standard","PAID","premium","pricingPlanId","LIMITED_FREE","incentive","beta","staging","jiraFamilyOfferingId","production","OfferingCatalog","environmentType","mapProductKeyAndEditionToCcpProduct","IdentityClientContext","baseUrlIdentity","permissionsPermitted","principalId","checkAddProductCapabilities","licenceLimit","requestData","owner","redirect_to","getUserName","redirectTo","anonymousId","getUsersByCloudId","getUserByCloudAndAaId","atlassianAccountId","baseUrlStargate","IdentityClientProvider","useAvailableSites","SanitizedHtml","SanitizedFormattedHtmlMessage","escapeValues","messageValues","keyName","messageValue","notProvided","ProductPricingStoreContext","useProductPricingStore","ProductPricingStoreProvider","StyledComponentsError","_Error","interpolations","objToCss","prevKey","flatten","executionContext","ruleSet","styledComponentId","nextChunk","elementName","COMMENT_REGEX","stylisSplitter","cascade","keyframe","compress","parsingRules","returnRulesPlugin","parsedRules","parseRulesPlugin","stringifyRules","flatCSS","splitByRules","isStyledComponent","consolidateStreamedStyles","MAX_SIZE","getAlphabeticChar","generateAlphabeticName","interleave","EMPTY_ARRAY","EMPTY_OBJECT","SC_ATTR","CONTEXT_KEY","IS_BROWSER","SC_COMPONENT_ID","extractComps","maybeCSS","existingComponents","matchIndex","nextComp","cssFromDOM","getNonce","addNameForId","resetIdNames","hasNameForId","stringifyNames","safeInsertRule","cssRule","maxIndex","makeTextMarker","addUpUntilIndex","totalUpToIndex","wrapAsHtmlTag","additionalAttrs","wrapAsElement","getIdsFromMarkersFactory","markers","makeServerTagInternal","namesArg","markersArg","insertMarker","cssForId","namesClone","cloneNames","markersClone","getIds","insertRules","removeRules","marker","sealed","styleTag","toHTML","makeTag","tagEl","forceServer","getImportRuleTag","makeStyleTag","extractImport","usedImportRuleTag","cssText","insertIndex","injectedRules","importRules","cssRulesSize","mayHaveImport","removalIndex","lowerBound","deleteRule","deleteRules","makeSpeedyTag","SPLIT_REGEX","_StyleSheetManager$ch","sheetRunningId","master","importRuleTag","firstTag","tagMap","deferred","rehydratedNames","ignoreRehydratedNames","capacity","clones","rehydrate","extracted","isStreamed","nodesSize","elNames","elNamesSize","extractedSize","rehydrationTag","immediateRehydration","called","_extracted$i","makeRehydrationTag","newTag","sealAllTags","lastEl","getTagForId","hasId","deferredInject","toReactElements","StyleSheetManager","sheetInstance","ServerStyleSheet","masterSheet","closed","collectStyles","getStyleTags","getStyleElement","interleaveWithNodeStream","readableStream","determineTheme","fallbackTheme","isDefaultTheme","escapeRegex","dashesAtEnds","getComponentName","_contextShape","_ThemeProvider$contex","_babelHelpers$extends","ATTRIBUTE_REGEX","isCustomAttribute","CHANNEL_NEXT","CONTEXT_CHANNEL_SHAPE","subscribe","unsubscribe","contextShape","ThemeProvider","unsubscribeToOuterId","initialState","outerContext","outerTheme","broadcast","publish","currentId","unsubID","_this3","subscriber","unsubscribeId","passedTheme","STATIC_EXECUTION_CONTEXT","modifiedContextShape","identifiers","BaseStyledComponent","attrs","generatedClassName","unsubscribeFromContext","buildExecutionContext","attr","hasInInheritanceChain","generateAndInjectStyles","_constructor","componentStyle","styleSheet","warnTooManyClasses","isStatic","styledContext","nextTheme","_generatedClassName","prevState","_constructor2","isTargetTag","baseProps","propsForElement","murmurhash","areStylesCacheable","isStaticRules","isHMREnabled","hot","domElements","replaceWhitespace","withTheme","isStatelessFunctionalComponent","shouldSetInnerRef","WithTheme","themeProp","oldState","__DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS","ComponentStyle","nameGenerator","generateRuleHash","lastClassName","generateName","_ComponentStyle","constructWithOptions","componentConstructor","templateFunction","_constructWithOptions","StyledComponent","createStyledComponent","_options$isClass","isClass","_options$displayName","generateDisplayName","_options$componentId","_displayName","parentComponentId","nr","generateId","_options$ParentCompon","ParentComponent","extendingRules","_ParentComponent","withComponent","previousComponentId","optionsToCopy","newComponentId","newOptions","rulesFromOptions","newRules","_StyledComponent","_keyframes","injectGlobal","_injectGlobal","styled","styledComponent","domElement","_styled","nullptn","formatptn","colonptn","cursorptn","transformptn","animationptn","propertiesptn","elementptn","selectorptn","andptn","escapeptn","invalidptn","keyframeptn","plcholdrptn","readonlyptn","beforeptn","afterptn","tailptn","whiteptn","pseudoptn","writingptn","supportsptn","propertyptn","selfptn","pseudofmt","dimensionptn","imgsrcptn","webkit","moz","CLOSEBRACES","OPENBRACES","OPENPARENTHESES","CLOSEPARENTHESES","OPENBRACKET","CLOSEBRACKET","CARRIAGE","AND","DASH","UNDERSCORE","STAR","COMMA","SINGLEQUOTE","DOUBLEQUOTE","FOWARDSLASH","GREATERTHAN","PLUS","TILDE","NULL","FORMFEED","VERTICALTAB","KEYFRAME","MEDIA","SUPPORTS","PLACEHOLDER","READONLY","CHARSET","DOCUMENT","PAGE","preserve","plugged","should","POSTS","PREPS","UNKWN","PROPS","BLCKS","ATRUL","unkwn","keyed","nscopealt","nscope","parentheses","trail","peak","invert","eof","flat","delimited","proxy","supports","vendor","isolate","scope","third","declare","minify","hamletApi","HamletApi","baseDomain","getBaseDomain","stgConfig","useCofsPath","basePath","getCofsPath","getHamletPath","_objectSpread","authenticated","hamletUser","axios","getBxpPath","hamletRequest","HamletUser","initialized","user","contactDetails","organisationDetails","address1","address2","city","postcode","isoCountryCode","organisationName","organisationType","payOnAccount","taxId","lassoDetails","myDetails","aaid","avatar","isLoggedIn","performanceBoostExperiment","enableAisAvailableProducts","retrieveXsrfToken","getStargateProfile","setToken","debugAllSites","retrieveMe","retrieveSitesData","identityData","sitesData","setSites","_this4","stargateData","picture","_this5","retrieveAvailableProductsData","availableProductsSites","availableProduct","avatarUrl","transformAvailableProductsIntoAvailableSites","_this6","sitesResult","cloudIds","_this7","setExtendedTrialAvailability","extendedTrialAvailability","groupSitesByProduct","isVertigo","login_logo_url","STAGING_BASE_URL","CofsClient","ASAP_AUDIENCE","IdentityClient","requestBody","CnasClient","GlobalNavProfile","ProductComparison","Careers","BannerComponentContainer","CheckEmailComponentContainer","DemoComponentContainer","MegaCalculatorContainer","PriceFinderContainer","PricingExampleContainer","PricingCalculatorContainer","PricingPageContainer","PricingCalculatorRichText","WacSiteRenameFormContainer","ProductTemplateSiteSelectorContainer","ProductTemplateSiteSelectorViewContainer","QrcodeComponentContainer","ConfigurableQuizContainer","MiniQuizContainer","WacSignUpLayoutContainer","GlobalNavDropdown","TemplateCardGenerator","WacFreeBundlesContainer","EctlListComponentContainer","SiteSelectionListComponentContainer","WacCheckEmailPageContainer","WacConfirmationPageContainer","WacAppProvisionContainer","WacCartPrototypeContainer","EditionFeatureComparisonTableContainer","FeaturesHighlightContainer","ProductHubInfoContainer","DirectBuyConfirmationPageContainer","DirectBuySiteSetupContainer","JswInteractiveRoadmapContainer","_templateObject","_taggedTemplateLiteral","_templateObject2","Header","_templateObject3","_templateObject4","Link","_templateObject5","RecommendedChip","_templateObject6","_templateObject7","BeforeWrapper","_templateObject8","BeforeImage","_templateObject9","MiddleWrapper","_templateObject10","MiddleContent","_templateObject11","MiddleDescription","_templateObject12","_templateObject13","variation","_regeneratorRuntime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","doneResult","isGeneratorFunction","genFun","awrap","iter","skipTempReset","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","asyncGeneratorStep","_next","_throw","_asyncToGenerator","_slicedToArray","_arrayWithHoles","_s","_x","_r","_arr","_n","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","AVATAR_IMG_URL","getUserInfo","performanceBoost","storage","displayVal","AppSwitcherContainer","StyledAppSwitcherIcon","AppSwitcherMenu","localePromise","availableComponents","componentList","WacAppSwitcher","_useState2","isAppSwitcherMenu","setAppSwitcherMenu","_useState4","setIsLoggedIn","_useState6","setJoinableSites","_useState8","isFirstSwitcherOpen","setIsFirstSwitcherOpen","_useState10","hasHovered","setHasHovered","_useFeatureFlags","expcen1501Variation1","expcen1501Variation2","switcherAtlas","switcherJwm","customAvailableProductsDataProvider","productConfigurationProvider","_getUserData","_callee","userInfo","getJoinableSites","_getJoinableSites","_callee2","reMappedSitesData","joinableSitesPromiseMaker","_context2","userData","relevance","users","composedPath","allowWacJoinSitesProvider","getUserData","ace","analytics","Tracking","pageView","switcher","AtlassianSwitcher","joinableSitesDataProvider","availableProductsDataProvider","productConfigurationDataProvider","onJoinableSiteClicked","enableRemoteConfiguration","enableRemoteAdminLinks","DiscoverSection","lang","tracking","App","findComponents","renderedComponentTypes","parseComponentProps","renderOnce","defaultTrackProperties","eventColumn","magnoliaComponentId","domRootId","eventComponent","inputValue","parentLabel","productVersion","renderComponent","componentData","cnasBaseUrl","STAGING_BASE_URL_CNAS","bxpExpressBaseUrl","STAGING_BASE_URL_BXP_EXPRESS","cofsBaseUrl","STAGING_BASE_URL_COFS","hamsBaseUrl","DEFAULT_BASE_URL_HAMS","cofsClient","cnasClient","bxpExpressClient","hamletClient","identityClient","TagName","propsWithDefaultTracking","_this$getClients","getClients","ReactDOM","IntlNextProvider","labels","_localePromise","__rest","__awaiter","_arguments","fulfilled","__generator","trys","ops","verb","__read","ar","__spread","__spreadArray","pack","useCallbackOne","getResult","initial","isFirstRun","committed","newInputs","lastInputs","areInputsEqual","useMemoOne","customAlphabet","alphabet","defaultSize","_assertThisInitialized","_defineProperties","_createClass","_defineProperty","_getPrototypeOf","_inheritsLoose","_objectWithoutProperties","excluded","sourceSymbolKeys","_objectWithoutPropertiesLoose","sourceKeys","_setPrototypeOf","_toPropertyKey","hint","prim","toPrimitive"],"sourceRoot":""}